@proompteng/temporal-bun-sdk 0.6.0 → 0.7.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 (139) hide show
  1. package/README.md +66 -27
  2. package/dist/src/bin/replay-command.d.ts +1 -0
  3. package/dist/src/bin/replay-command.d.ts.map +1 -1
  4. package/dist/src/bin/replay-command.js +72 -40
  5. package/dist/src/bin/replay-command.js.map +1 -1
  6. package/dist/src/bin/temporal-bun-skill.d.ts +7 -0
  7. package/dist/src/bin/temporal-bun-skill.d.ts.map +1 -0
  8. package/dist/src/bin/temporal-bun-skill.js +53 -0
  9. package/dist/src/bin/temporal-bun-skill.js.map +1 -0
  10. package/dist/src/bin/temporal-bun.d.ts.map +1 -1
  11. package/dist/src/bin/temporal-bun.js +6 -0
  12. package/dist/src/bin/temporal-bun.js.map +1 -1
  13. package/dist/src/client/serialization.d.ts.map +1 -1
  14. package/dist/src/client/serialization.js +8 -0
  15. package/dist/src/client/serialization.js.map +1 -1
  16. package/dist/src/client/types.d.ts +2 -0
  17. package/dist/src/client/types.d.ts.map +1 -1
  18. package/dist/src/client/types.js.map +1 -1
  19. package/dist/src/client.d.ts +29 -10
  20. package/dist/src/client.d.ts.map +1 -1
  21. package/dist/src/client.js +39 -4
  22. package/dist/src/client.js.map +1 -1
  23. package/dist/src/config.d.ts +1 -3
  24. package/dist/src/config.d.ts.map +1 -1
  25. package/dist/src/config.js +3 -19
  26. package/dist/src/config.js.map +1 -1
  27. package/dist/src/index.d.ts +4 -2
  28. package/dist/src/index.d.ts.map +1 -1
  29. package/dist/src/index.js +3 -2
  30. package/dist/src/index.js.map +1 -1
  31. package/dist/src/interceptors/client.d.ts.map +1 -1
  32. package/dist/src/interceptors/client.js +1 -1
  33. package/dist/src/interceptors/client.js.map +1 -1
  34. package/dist/src/interceptors/worker.d.ts.map +1 -1
  35. package/dist/src/interceptors/worker.js +1 -1
  36. package/dist/src/interceptors/worker.js.map +1 -1
  37. package/dist/src/observability/opentelemetry.js +8 -8
  38. package/dist/src/observability/opentelemetry.js.map +1 -1
  39. package/dist/src/otel/api.d.ts +33 -0
  40. package/dist/src/otel/api.d.ts.map +1 -0
  41. package/dist/src/otel/api.js +23 -0
  42. package/dist/src/otel/api.js.map +1 -0
  43. package/dist/src/otel/auto-instrumentations-node.d.ts +2 -0
  44. package/dist/src/otel/auto-instrumentations-node.d.ts.map +1 -0
  45. package/dist/src/otel/auto-instrumentations-node.js +2 -0
  46. package/dist/src/otel/auto-instrumentations-node.js.map +1 -0
  47. package/dist/src/otel/core.d.ts +5 -0
  48. package/dist/src/otel/core.d.ts.map +1 -0
  49. package/dist/src/otel/core.js +6 -0
  50. package/dist/src/otel/core.js.map +1 -0
  51. package/dist/src/otel/diag.d.ts +27 -0
  52. package/dist/src/otel/diag.d.ts.map +1 -0
  53. package/dist/src/otel/diag.js +54 -0
  54. package/dist/src/otel/diag.js.map +1 -0
  55. package/dist/src/otel/exporter-metrics-otlp-http.d.ts +23 -0
  56. package/dist/src/otel/exporter-metrics-otlp-http.d.ts.map +1 -0
  57. package/dist/src/otel/exporter-metrics-otlp-http.js +61 -0
  58. package/dist/src/otel/exporter-metrics-otlp-http.js.map +1 -0
  59. package/dist/src/otel/exporter-trace-otlp-http.d.ts +20 -0
  60. package/dist/src/otel/exporter-trace-otlp-http.d.ts.map +1 -0
  61. package/dist/src/otel/exporter-trace-otlp-http.js +54 -0
  62. package/dist/src/otel/exporter-trace-otlp-http.js.map +1 -0
  63. package/dist/src/otel/index.d.ts +11 -0
  64. package/dist/src/otel/index.d.ts.map +1 -0
  65. package/dist/src/otel/index.js +11 -0
  66. package/dist/src/otel/index.js.map +1 -0
  67. package/dist/src/otel/otlp-proto.d.ts +5 -0
  68. package/dist/src/otel/otlp-proto.d.ts.map +1 -0
  69. package/dist/src/otel/otlp-proto.js +347 -0
  70. package/dist/src/otel/otlp-proto.js.map +1 -0
  71. package/dist/src/otel/otlp-serialize.d.ts +34 -0
  72. package/dist/src/otel/otlp-serialize.d.ts.map +1 -0
  73. package/dist/src/otel/otlp-serialize.js +59 -0
  74. package/dist/src/otel/otlp-serialize.js.map +1 -0
  75. package/dist/src/otel/otlp-transport.d.ts +9 -0
  76. package/dist/src/otel/otlp-transport.d.ts.map +1 -0
  77. package/dist/src/otel/otlp-transport.js +193 -0
  78. package/dist/src/otel/otlp-transport.js.map +1 -0
  79. package/dist/src/otel/otlp.d.ts +18 -0
  80. package/dist/src/otel/otlp.d.ts.map +1 -0
  81. package/dist/src/otel/otlp.js +43 -0
  82. package/dist/src/otel/otlp.js.map +1 -0
  83. package/dist/src/otel/resources.d.ts +8 -0
  84. package/dist/src/otel/resources.d.ts.map +1 -0
  85. package/dist/src/otel/resources.js +13 -0
  86. package/dist/src/otel/resources.js.map +1 -0
  87. package/dist/src/otel/sdk-metrics.d.ts +133 -0
  88. package/dist/src/otel/sdk-metrics.d.ts.map +1 -0
  89. package/dist/src/otel/sdk-metrics.js +354 -0
  90. package/dist/src/otel/sdk-metrics.js.map +1 -0
  91. package/dist/src/otel/sdk-node.d.ts +16 -0
  92. package/dist/src/otel/sdk-node.d.ts.map +1 -0
  93. package/dist/src/otel/sdk-node.js +55 -0
  94. package/dist/src/otel/sdk-node.js.map +1 -0
  95. package/dist/src/otel/sdk-trace.d.ts +118 -0
  96. package/dist/src/otel/sdk-trace.d.ts.map +1 -0
  97. package/dist/src/otel/sdk-trace.js +250 -0
  98. package/dist/src/otel/sdk-trace.js.map +1 -0
  99. package/dist/src/otel/semantic-conventions.d.ts +4 -0
  100. package/dist/src/otel/semantic-conventions.d.ts.map +1 -0
  101. package/dist/src/otel/semantic-conventions.js +4 -0
  102. package/dist/src/otel/semantic-conventions.js.map +1 -0
  103. package/dist/src/skills/cli.d.ts +10 -0
  104. package/dist/src/skills/cli.d.ts.map +1 -0
  105. package/dist/src/skills/cli.js +66 -0
  106. package/dist/src/skills/cli.js.map +1 -0
  107. package/dist/src/skills/index.d.ts +22 -0
  108. package/dist/src/skills/index.d.ts.map +1 -0
  109. package/dist/src/skills/index.js +128 -0
  110. package/dist/src/skills/index.js.map +1 -0
  111. package/dist/src/worker/defaults.d.ts +1 -0
  112. package/dist/src/worker/defaults.d.ts.map +1 -1
  113. package/dist/src/worker/defaults.js +74 -1
  114. package/dist/src/worker/defaults.js.map +1 -1
  115. package/dist/src/worker/runtime.d.ts.map +1 -1
  116. package/dist/src/worker/runtime.js +37 -24
  117. package/dist/src/worker/runtime.js.map +1 -1
  118. package/dist/src/worker.d.ts +2 -0
  119. package/dist/src/worker.d.ts.map +1 -1
  120. package/dist/src/worker.js +7 -2
  121. package/dist/src/worker.js.map +1 -1
  122. package/dist/src/workflow/commands.js +2 -0
  123. package/dist/src/workflow/commands.js.map +1 -1
  124. package/dist/src/workflow/executor.d.ts.map +1 -1
  125. package/dist/src/workflow/executor.js +5 -14
  126. package/dist/src/workflow/executor.js.map +1 -1
  127. package/dist/src/workflow/guards.d.ts.map +1 -1
  128. package/dist/src/workflow/guards.js +206 -2
  129. package/dist/src/workflow/guards.js.map +1 -1
  130. package/dist/src/workflow/module-load.d.ts +8 -0
  131. package/dist/src/workflow/module-load.d.ts.map +1 -0
  132. package/dist/src/workflow/module-load.js +5 -0
  133. package/dist/src/workflow/module-load.js.map +1 -0
  134. package/package.json +27 -21
  135. package/skills/manifest.json +10 -0
  136. package/skills/temporal/SKILL.md +133 -0
  137. package/skills/temporal/assets/temporal-triage.md +32 -0
  138. package/skills/temporal/references/temporal-cli.md +82 -0
  139. package/skills/temporal/scripts/temporal-run.sh +17 -0
@@ -0,0 +1,354 @@
1
+ import { ExportResultCode } from './core';
2
+ import { diag } from './diag';
3
+ import { attributesToKeyValueList, stableAttributesKey, toUnixNano } from './otlp';
4
+ import { Resource } from './resources';
5
+ export var AggregationTemporality;
6
+ (function (AggregationTemporality) {
7
+ AggregationTemporality["UNSPECIFIED"] = "AGGREGATION_TEMPORALITY_UNSPECIFIED";
8
+ AggregationTemporality["DELTA"] = "AGGREGATION_TEMPORALITY_DELTA";
9
+ AggregationTemporality["CUMULATIVE"] = "AGGREGATION_TEMPORALITY_CUMULATIVE";
10
+ })(AggregationTemporality || (AggregationTemporality = {}));
11
+ export class Aggregation {
12
+ kind;
13
+ static Default() {
14
+ return new Aggregation('default');
15
+ }
16
+ constructor(kind) {
17
+ this.kind = kind;
18
+ }
19
+ }
20
+ export var InstrumentType;
21
+ (function (InstrumentType) {
22
+ InstrumentType["COUNTER"] = "counter";
23
+ InstrumentType["HISTOGRAM"] = "histogram";
24
+ })(InstrumentType || (InstrumentType = {}));
25
+ export class MetricReader {
26
+ metricProducer;
27
+ setMetricProducer(producer) {
28
+ this.metricProducer = producer;
29
+ this.onInitialized();
30
+ }
31
+ onInitialized() { }
32
+ }
33
+ export class PeriodicExportingMetricReader extends MetricReader {
34
+ #exporter;
35
+ #exportIntervalMillis;
36
+ #exportTimeoutMillis;
37
+ #interval;
38
+ #shutdown = false;
39
+ #exporting = false;
40
+ constructor(options) {
41
+ super();
42
+ this.#exporter = options.exporter;
43
+ this.#exportIntervalMillis = Math.max(options.exportIntervalMillis ?? 60000, 1000);
44
+ this.#exportTimeoutMillis = options.exportTimeoutMillis;
45
+ }
46
+ onInitialized() {
47
+ if (this.#interval) {
48
+ return;
49
+ }
50
+ this.#interval = setInterval(() => {
51
+ void this.exportOnce();
52
+ }, this.#exportIntervalMillis);
53
+ }
54
+ async forceFlush() {
55
+ await this.exportOnce();
56
+ }
57
+ async shutdown() {
58
+ this.#shutdown = true;
59
+ if (this.#interval) {
60
+ clearInterval(this.#interval);
61
+ this.#interval = undefined;
62
+ }
63
+ await this.#exporter.shutdown();
64
+ }
65
+ async exportOnce() {
66
+ if (this.#shutdown || this.#exporting) {
67
+ return;
68
+ }
69
+ if (!this.metricProducer) {
70
+ return;
71
+ }
72
+ const payload = this.metricProducer.collect();
73
+ if (!payload || payload.scopeMetrics.length === 0) {
74
+ return;
75
+ }
76
+ if (payload.scopeMetrics.every((scope) => scope.metrics.length === 0)) {
77
+ return;
78
+ }
79
+ this.#exporting = true;
80
+ try {
81
+ await this.exportWithTimeout(payload);
82
+ }
83
+ finally {
84
+ this.#exporting = false;
85
+ }
86
+ }
87
+ exportWithTimeout(payload) {
88
+ const exportPromise = new Promise((resolve, reject) => {
89
+ this.#exporter.export(payload, (result) => {
90
+ if (result.code === ExportResultCode.SUCCESS) {
91
+ resolve();
92
+ return;
93
+ }
94
+ reject(result.error ?? new Error('metrics export failed'));
95
+ });
96
+ });
97
+ if (!this.#exportTimeoutMillis) {
98
+ return exportPromise.catch((error) => {
99
+ diag.error('metrics export failed', error);
100
+ });
101
+ }
102
+ const timeoutPromise = new Promise((_, reject) => {
103
+ const handle = setTimeout(() => {
104
+ clearTimeout(handle);
105
+ reject(new Error('metrics export timeout'));
106
+ }, this.#exportTimeoutMillis);
107
+ });
108
+ return Promise.race([exportPromise, timeoutPromise]).catch((error) => {
109
+ diag.error('metrics export failed', error);
110
+ });
111
+ }
112
+ }
113
+ class CounterInstrument {
114
+ #name;
115
+ #description;
116
+ #unit;
117
+ #startTimeUnixNano;
118
+ #records = new Map();
119
+ constructor(name, description, unit) {
120
+ this.#name = name;
121
+ this.#description = description;
122
+ this.#unit = unit;
123
+ this.#startTimeUnixNano = toUnixNano(Date.now());
124
+ }
125
+ add(value, attributes) {
126
+ if (!Number.isFinite(value)) {
127
+ return;
128
+ }
129
+ const normalized = attributes ?? {};
130
+ const key = stableAttributesKey(normalized);
131
+ const record = this.#records.get(key);
132
+ if (record) {
133
+ record.value += value;
134
+ return;
135
+ }
136
+ this.#records.set(key, { attributes: normalized, value });
137
+ }
138
+ collect(timeUnixNano) {
139
+ if (this.#records.size === 0) {
140
+ return null;
141
+ }
142
+ const dataPoints = [];
143
+ for (const record of this.#records.values()) {
144
+ dataPoints.push({
145
+ attributes: attributesToKeyValueList(record.attributes),
146
+ startTimeUnixNano: this.#startTimeUnixNano,
147
+ timeUnixNano,
148
+ asDouble: record.value,
149
+ });
150
+ }
151
+ if (dataPoints.length === 0) {
152
+ return null;
153
+ }
154
+ return {
155
+ name: this.#name,
156
+ description: this.#description,
157
+ unit: this.#unit,
158
+ sum: {
159
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
160
+ isMonotonic: true,
161
+ dataPoints,
162
+ },
163
+ };
164
+ }
165
+ }
166
+ class HistogramInstrument {
167
+ #name;
168
+ #description;
169
+ #unit;
170
+ #startTimeUnixNano;
171
+ #records = new Map();
172
+ constructor(name, description, unit) {
173
+ this.#name = name;
174
+ this.#description = description;
175
+ this.#unit = unit;
176
+ this.#startTimeUnixNano = toUnixNano(Date.now());
177
+ }
178
+ record(value, attributes) {
179
+ if (!Number.isFinite(value)) {
180
+ return;
181
+ }
182
+ const normalized = attributes ?? {};
183
+ const key = stableAttributesKey(normalized);
184
+ const record = this.#records.get(key);
185
+ if (record) {
186
+ record.count += 1;
187
+ record.sum += value;
188
+ record.min = Math.min(record.min, value);
189
+ record.max = Math.max(record.max, value);
190
+ return;
191
+ }
192
+ this.#records.set(key, {
193
+ attributes: normalized,
194
+ count: 1,
195
+ sum: value,
196
+ min: value,
197
+ max: value,
198
+ });
199
+ }
200
+ collect(timeUnixNano) {
201
+ if (this.#records.size === 0) {
202
+ return null;
203
+ }
204
+ const dataPoints = [];
205
+ for (const record of this.#records.values()) {
206
+ dataPoints.push({
207
+ attributes: attributesToKeyValueList(record.attributes),
208
+ startTimeUnixNano: this.#startTimeUnixNano,
209
+ timeUnixNano,
210
+ count: record.count.toString(),
211
+ sum: record.sum,
212
+ min: record.count > 0 ? record.min : undefined,
213
+ max: record.count > 0 ? record.max : undefined,
214
+ bucketCounts: [record.count.toString()],
215
+ explicitBounds: [],
216
+ });
217
+ }
218
+ if (dataPoints.length === 0) {
219
+ return null;
220
+ }
221
+ return {
222
+ name: this.#name,
223
+ description: this.#description,
224
+ unit: this.#unit,
225
+ histogram: {
226
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
227
+ dataPoints,
228
+ },
229
+ };
230
+ }
231
+ }
232
+ class Meter {
233
+ #name;
234
+ #version;
235
+ #counters = new Map();
236
+ #histograms = new Map();
237
+ constructor(name, version) {
238
+ this.#name = name;
239
+ this.#version = version;
240
+ }
241
+ createCounter(name, options) {
242
+ const existing = this.#counters.get(name);
243
+ if (existing) {
244
+ return existing;
245
+ }
246
+ const counter = new CounterInstrument(name, options?.description, options?.unit);
247
+ this.#counters.set(name, counter);
248
+ return counter;
249
+ }
250
+ createHistogram(name, options) {
251
+ const existing = this.#histograms.get(name);
252
+ if (existing) {
253
+ return existing;
254
+ }
255
+ const histogram = new HistogramInstrument(name, options?.description, options?.unit);
256
+ this.#histograms.set(name, histogram);
257
+ return histogram;
258
+ }
259
+ collect(timeUnixNano) {
260
+ const metrics = [];
261
+ for (const counter of this.#counters.values()) {
262
+ const metric = counter.collect(timeUnixNano);
263
+ if (metric) {
264
+ metrics.push(metric);
265
+ }
266
+ }
267
+ for (const histogram of this.#histograms.values()) {
268
+ const metric = histogram.collect(timeUnixNano);
269
+ if (metric) {
270
+ metrics.push(metric);
271
+ }
272
+ }
273
+ return metrics;
274
+ }
275
+ toScopeMetrics(timeUnixNano) {
276
+ return {
277
+ scope: {
278
+ name: this.#name,
279
+ ...(this.#version ? { version: this.#version } : {}),
280
+ },
281
+ metrics: this.collect(timeUnixNano),
282
+ };
283
+ }
284
+ }
285
+ export class MeterProvider {
286
+ #resource;
287
+ #meters = new Map();
288
+ #readers = new Set();
289
+ constructor(options = {}) {
290
+ this.#resource = options.resource ?? Resource.default();
291
+ }
292
+ addMetricReader(reader) {
293
+ this.#readers.add(reader);
294
+ reader.setMetricProducer(this);
295
+ }
296
+ getMeter(name, version) {
297
+ const key = `${name}:${version ?? ''}`;
298
+ const existing = this.#meters.get(key);
299
+ if (existing) {
300
+ return existing;
301
+ }
302
+ const meter = new Meter(name, version);
303
+ this.#meters.set(key, meter);
304
+ return meter;
305
+ }
306
+ collect() {
307
+ const timeUnixNano = toUnixNano(Date.now());
308
+ const scopeMetrics = [];
309
+ for (const meter of this.#meters.values()) {
310
+ const entry = meter.toScopeMetrics(timeUnixNano);
311
+ if (entry.metrics.length > 0) {
312
+ scopeMetrics.push(entry);
313
+ }
314
+ }
315
+ if (scopeMetrics.length === 0) {
316
+ return null;
317
+ }
318
+ return {
319
+ resource: {
320
+ attributes: attributesToKeyValueList(this.#resource.attributes),
321
+ },
322
+ scopeMetrics,
323
+ };
324
+ }
325
+ async shutdown() {
326
+ await Promise.all([...this.#readers].map((reader) => reader.shutdown()));
327
+ }
328
+ async forceFlush() {
329
+ await Promise.all([...this.#readers].map((reader) => reader.forceFlush()));
330
+ }
331
+ }
332
+ class NoopCounter {
333
+ add() { }
334
+ }
335
+ class NoopHistogram {
336
+ record() { }
337
+ }
338
+ class NoopMeter {
339
+ createCounter() {
340
+ return new NoopCounter();
341
+ }
342
+ createHistogram() {
343
+ return new NoopHistogram();
344
+ }
345
+ }
346
+ export class NoopMeterProvider {
347
+ getMeter(_name, _version) {
348
+ return new NoopMeter();
349
+ }
350
+ addMetricReader() { }
351
+ async shutdown() { }
352
+ async forceFlush() { }
353
+ }
354
+ //# sourceMappingURL=sdk-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-metrics.js","sourceRoot":"","sources":["../../../src/otel/sdk-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAuB,wBAAwB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACvG,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAYtC,MAAM,CAAN,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,6EAAmD,CAAA;IACnD,iEAAuC,CAAA;IACvC,2EAAiD,CAAA;AACnD,CAAC,EAJW,sBAAsB,KAAtB,sBAAsB,QAIjC;AAED,MAAM,OAAO,WAAW;IAKD;IAJrB,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,WAAW,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;IAED,YAAqB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CACtC;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;AACzB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AA+CD,MAAM,OAAgB,YAAY;IACtB,cAAc,CAAiB;IAEzC,iBAAiB,CAAC,QAAwB;QACxC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAA;QAC9B,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAES,aAAa,KAAU,CAAC;CAInC;AAQD,MAAM,OAAO,6BAA8B,SAAQ,YAAY;IACpD,SAAS,CAAoB;IAC7B,qBAAqB,CAAQ;IAC7B,oBAAoB,CAAS;IACtC,SAAS,CAA4C;IACrD,SAAS,GAAG,KAAK,CAAA;IACjB,UAAU,GAAG,KAAK,CAAA;IAElB,YAAY,OAA6C;QACvD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAA;QACjC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,KAAK,EAAE,IAAI,CAAC,CAAA;QAClF,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAA;IACzD,CAAC;IAES,aAAa;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,KAAK,IAAI,CAAC,UAAU,EAAE,CAAA;QACxB,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5B,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;IACjC,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAA;QAC7C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,OAAM;QACR,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACtE,OAAM;QACR,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QACvC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;QACzB,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,OAAwB;QAChD,MAAM,aAAa,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;gBACxC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAC7C,OAAO,EAAE,CAAA;oBACT,OAAM;gBACR,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACnC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;YAC5C,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACrD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,YAAY,CAAC,MAAM,CAAC,CAAA;gBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAA;YAC7C,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACnE,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAED,MAAM,iBAAiB;IACZ,KAAK,CAAQ;IACb,YAAY,CAAS;IACrB,KAAK,CAAS;IACd,kBAAkB,CAAQ;IAC1B,QAAQ,GAAG,IAAI,GAAG,EAAqD,CAAA;IAEhF,YAAY,IAAY,EAAE,WAAoB,EAAE,IAAa;QAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,UAAuB;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAM;QACR,CAAC;QACD,MAAM,UAAU,GAAG,UAAU,IAAI,EAAE,CAAA;QACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,IAAI,KAAK,CAAA;YACrB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,CAAC,YAAoB;QAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,UAAU,GAAsB,EAAE,CAAA;QACxC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,UAAU,CAAC,IAAI,CAAC;gBACd,UAAU,EAAE,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC;gBACvD,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;gBAC1C,YAAY;gBACZ,QAAQ,EAAE,MAAM,CAAC,KAAK;aACvB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,GAAG,EAAE;gBACH,sBAAsB,EAAE,sBAAsB,CAAC,UAAU;gBACzD,WAAW,EAAE,IAAI;gBACjB,UAAU;aACX;SACF,CAAA;IACH,CAAC;CACF;AAED,MAAM,mBAAmB;IACd,KAAK,CAAQ;IACb,YAAY,CAAS;IACrB,KAAK,CAAS;IACd,kBAAkB,CAAQ;IAC1B,QAAQ,GAAG,IAAI,GAAG,EAGxB,CAAA;IAEH,YAAY,IAAY,EAAE,WAAoB,EAAE,IAAa;QAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,UAAuB;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAM;QACR,CAAC;QACD,MAAM,UAAU,GAAG,UAAU,IAAI,EAAE,CAAA;QACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,IAAI,CAAC,CAAA;YACjB,MAAM,CAAC,GAAG,IAAI,KAAK,CAAA;YACnB,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACxC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACxC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE;YACrB,UAAU,EAAE,UAAU;YACtB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;SACX,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,CAAC,YAAoB;QAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,UAAU,GAAsB,EAAE,CAAA;QACxC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,UAAU,CAAC,IAAI,CAAC;gBACd,UAAU,EAAE,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC;gBACvD,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;gBAC1C,YAAY;gBACZ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC9B,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC9C,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC9C,YAAY,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACvC,cAAc,EAAE,EAAE;aACnB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,SAAS,EAAE;gBACT,sBAAsB,EAAE,sBAAsB,CAAC,UAAU;gBACzD,UAAU;aACX;SACF,CAAA;IACH,CAAC;CACF;AAED,MAAM,KAAK;IACA,KAAK,CAAQ;IACb,QAAQ,CAAS;IACjB,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAA;IAChD,WAAW,GAAG,IAAI,GAAG,EAA+B,CAAA;IAE7D,YAAY,IAAY,EAAE,OAAgB;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,OAAiD;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAChF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACjC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,OAAiD;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QACpF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACrC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,CAAC,YAAoB;QAC1B,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YAC9C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,cAAc,CAAC,YAAoB;QACjC,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrD;YACD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;SACpC,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACf,SAAS,CAAU;IACnB,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAA;IAClC,QAAQ,GAAG,IAAI,GAAG,EAAgB,CAAA;IAE3C,YAAY,UAAmC,EAAE;QAC/C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAA;IACzD,CAAC;IAED,eAAe,CAAC,MAAoB;QAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACzB,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,OAAgB;QACrC,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,IAAI,EAAE,EAAE,CAAA;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC5B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO;QACL,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAC3C,MAAM,YAAY,GAAoC,EAAE,CAAA;QACxD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO;YACL,QAAQ,EAAE;gBACR,UAAU,EAAE,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;aAChE;YACD,YAAY;SACb,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IAC5E,CAAC;CACF;AAED,MAAM,WAAW;IACf,GAAG,KAAU,CAAC;CACf;AAED,MAAM,aAAa;IACjB,MAAM,KAAU,CAAC;CAClB;AAED,MAAM,SAAS;IACb,aAAa;QACX,OAAO,IAAI,WAAW,EAAE,CAAA;IAC1B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,aAAa,EAAE,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IAC5B,QAAQ,CAAC,KAAc,EAAE,QAAiB;QACxC,OAAO,IAAI,SAAS,EAAE,CAAA;IACxB,CAAC;IAED,eAAe,KAAU,CAAC;IAE1B,KAAK,CAAC,QAAQ,KAAmB,CAAC;IAElC,KAAK,CAAC,UAAU,KAAmB,CAAC;CACrC"}
@@ -0,0 +1,16 @@
1
+ import { Resource } from './resources';
2
+ import { type MetricReader } from './sdk-metrics';
3
+ import { type SpanExporter } from './sdk-trace';
4
+ export interface NodeSDKConfiguration {
5
+ resource?: Resource;
6
+ traceExporter?: SpanExporter;
7
+ metricReader?: MetricReader;
8
+ instrumentations?: unknown[];
9
+ }
10
+ export declare class NodeSDK {
11
+ #private;
12
+ constructor(config?: NodeSDKConfiguration);
13
+ start(): Promise<void>;
14
+ shutdown(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=sdk-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-node.d.ts","sourceRoot":"","sources":["../../../src/otel/sdk-node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAA6B,KAAK,YAAY,EAAkB,MAAM,aAAa,CAAA;AAE1F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,aAAa,CAAC,EAAE,YAAY,CAAA;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAA;CAC7B;AAKD,qBAAa,OAAO;;gBAMN,MAAM,GAAE,oBAAyB;IAIvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAahC"}
@@ -0,0 +1,55 @@
1
+ import { metrics, trace } from './api';
2
+ import { diag } from './diag';
3
+ import { Resource } from './resources';
4
+ import { MeterProvider } from './sdk-metrics';
5
+ import { createSimpleSpanProcessor, TracerProvider } from './sdk-trace';
6
+ const flattenInstrumentations = (instrumentations = []) => instrumentations.flatMap((entry) => (Array.isArray(entry) ? entry : [entry]));
7
+ export class NodeSDK {
8
+ #config;
9
+ #meterProvider;
10
+ #tracerProvider;
11
+ #instrumentations = [];
12
+ constructor(config = {}) {
13
+ this.#config = config;
14
+ }
15
+ async start() {
16
+ const resource = this.#config.resource ?? Resource.default();
17
+ this.#meterProvider = new MeterProvider({ resource });
18
+ if (this.#config.metricReader) {
19
+ this.#meterProvider.addMetricReader(this.#config.metricReader);
20
+ }
21
+ metrics.setGlobalMeterProvider(this.#meterProvider);
22
+ this.#tracerProvider = new TracerProvider({ resource });
23
+ if (this.#config.traceExporter) {
24
+ this.#tracerProvider.addSpanProcessor(createSimpleSpanProcessor(this.#config.traceExporter));
25
+ }
26
+ trace.setGlobalTracerProvider(this.#tracerProvider);
27
+ this.#instrumentations = flattenInstrumentations(this.#config.instrumentations ?? []);
28
+ for (const instrumentation of this.#instrumentations) {
29
+ if (instrumentation && typeof instrumentation.enable === 'function') {
30
+ try {
31
+ ;
32
+ instrumentation.enable();
33
+ }
34
+ catch (error) {
35
+ diag.error('failed to enable instrumentation', error);
36
+ }
37
+ }
38
+ }
39
+ }
40
+ async shutdown() {
41
+ for (const instrumentation of this.#instrumentations) {
42
+ if (instrumentation && typeof instrumentation.disable === 'function') {
43
+ try {
44
+ ;
45
+ instrumentation.disable();
46
+ }
47
+ catch (error) {
48
+ diag.error('failed to disable instrumentation', error);
49
+ }
50
+ }
51
+ }
52
+ await Promise.all([this.#meterProvider?.shutdown(), this.#tracerProvider?.shutdown()]);
53
+ }
54
+ }
55
+ //# sourceMappingURL=sdk-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-node.js","sourceRoot":"","sources":["../../../src/otel/sdk-node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import { ExportResultCode } from './core';
2
+ import { type AttributeValue } from './otlp';
3
+ import { Resource } from './resources';
4
+ export type SpanAttributes = Record<string, AttributeValue>;
5
+ export declare enum SpanStatusCode {
6
+ UNSET = 0,
7
+ OK = 1,
8
+ ERROR = 2
9
+ }
10
+ export declare enum SpanKind {
11
+ UNSPECIFIED = 0,
12
+ INTERNAL = 1,
13
+ SERVER = 2,
14
+ CLIENT = 3,
15
+ PRODUCER = 4,
16
+ CONSUMER = 5
17
+ }
18
+ export type SpanStatus = {
19
+ code: SpanStatusCode;
20
+ message?: string;
21
+ };
22
+ export type SpanEvent = {
23
+ name: string;
24
+ timeUnixNano: string;
25
+ attributes?: SpanAttributes;
26
+ };
27
+ export type SpanData = {
28
+ traceId: string;
29
+ spanId: string;
30
+ parentSpanId?: string;
31
+ name: string;
32
+ kind: SpanKind;
33
+ startTimeUnixNano: string;
34
+ endTimeUnixNano: string;
35
+ attributes: SpanAttributes;
36
+ status?: SpanStatus;
37
+ events?: SpanEvent[];
38
+ resourceAttributes: SpanAttributes;
39
+ scope: {
40
+ name: string;
41
+ version?: string;
42
+ };
43
+ };
44
+ export interface SpanExporter {
45
+ export(spans: SpanData[], resultCallback: (result: {
46
+ code: ExportResultCode;
47
+ error?: Error;
48
+ }) => void): void;
49
+ shutdown(): Promise<void>;
50
+ }
51
+ export interface SpanProcessor {
52
+ onStart(span: SpanData): void;
53
+ onEnd(span: SpanData): void;
54
+ shutdown(): Promise<void>;
55
+ forceFlush(): Promise<void>;
56
+ }
57
+ export type SpanOptions = {
58
+ attributes?: SpanAttributes;
59
+ startTime?: number;
60
+ kind?: SpanKind;
61
+ };
62
+ export declare class Span {
63
+ #private;
64
+ constructor(options: {
65
+ name: string;
66
+ kind: SpanKind;
67
+ attributes?: SpanAttributes;
68
+ startTimeUnixNano: string;
69
+ traceId: string;
70
+ spanId: string;
71
+ parentSpanId?: string;
72
+ resourceAttributes: SpanAttributes;
73
+ scope: {
74
+ name: string;
75
+ version?: string;
76
+ };
77
+ processor: SpanProcessor;
78
+ });
79
+ setStatus(status: SpanStatus): void;
80
+ setAttribute(key: string, value: AttributeValue): this;
81
+ setAttributes(attributes: SpanAttributes): this;
82
+ recordException(error: Error): void;
83
+ end(endTime?: number): void;
84
+ isRecording(): boolean;
85
+ private toSpanData;
86
+ }
87
+ declare class NoopTracer {
88
+ startSpan(): Span;
89
+ }
90
+ export declare class Tracer {
91
+ #private;
92
+ constructor(options: {
93
+ resourceAttributes: SpanAttributes;
94
+ scope: {
95
+ name: string;
96
+ version?: string;
97
+ };
98
+ processor: SpanProcessor;
99
+ });
100
+ startSpan(name: string, options?: SpanOptions): Span;
101
+ }
102
+ export declare class TracerProvider {
103
+ #private;
104
+ constructor(options?: {
105
+ resource?: Resource;
106
+ });
107
+ addSpanProcessor(processor: SpanProcessor): void;
108
+ getTracer(name: string, version?: string): Tracer;
109
+ shutdown(): Promise<void>;
110
+ forceFlush(): Promise<void>;
111
+ }
112
+ export declare class NoopTracerProvider {
113
+ getTracer(_name?: string, _version?: string): NoopTracer;
114
+ }
115
+ export declare const createSimpleSpanProcessor: (exporter: SpanExporter) => SpanProcessor;
116
+ export declare const spanAttributesKey: (attributes: SpanAttributes) => string;
117
+ export {};
118
+ //# sourceMappingURL=sdk-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-trace.d.ts","sourceRoot":"","sources":["../../../src/otel/sdk-trace.ts"],"names":[],"mappings":"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"}