autotel-devtools 28.0.3 → 29.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.
package/dist/cli.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- const require_http = require('./http-CyrTzaY_.cjs');
2
+ const require_http = require('./http-C99Ne5Ud.cjs');
3
3
  const require_listen = require('./listen-l09RRHht.cjs');
4
- const require_grpc = require('./grpc-CV8vU095.cjs');
4
+ const require_grpc = require('./grpc-BZOalozs.cjs');
5
5
  let node_http = require("node:http");
6
6
  let node_fs = require("node:fs");
7
7
  let node_path = require("node:path");
@@ -14,7 +14,8 @@ function printHelp() {
14
14
  }
15
15
  function printVersion() {
16
16
  try {
17
- const pkgPath = (0, node_path.resolve)((0, node_path.dirname)((0, node_url.fileURLToPath)(require("url").pathToFileURL(__filename).href)), "..", "package.json");
17
+ const dir = (0, node_path.dirname)((0, node_url.fileURLToPath)(require("url").pathToFileURL(__filename).href));
18
+ const pkgPath = (0, node_path.resolve)(dir, "..", "package.json");
18
19
  const pkg = JSON.parse((0, node_fs.readFileSync)(pkgPath, "utf8"));
19
20
  process.stdout.write(`${pkg.version}\n`);
20
21
  } catch {
@@ -157,8 +158,10 @@ async function startReceiver(options) {
157
158
  port: options.grpcPort
158
159
  });
159
160
  if (grpc.port !== options.grpcPort) warnings.push(`OTLP/gRPC port ${options.grpcPort} was busy; using ${grpc.port}.`);
160
- if (boundPort !== options.port) if (await require_http.probePortHolder(options.host, options.port) === "autotel-devtools") warnings.push(`another autotel-devtools is already running on port ${options.port}; this instance is on ${boundPort}. Use the existing one, or stop it and restart here.`);
161
- else warnings.push(`port ${options.port} is held by another process that is NOT autotel-devtools. Anything exporting OTLP to :${options.port} is reaching that process, not this devtools. Point your exporter at :${boundPort}, or free :${options.port} and restart.`);
161
+ if (boundPort !== options.port) {
162
+ if (await require_http.probePortHolder(options.host, options.port) === "autotel-devtools") warnings.push(`another autotel-devtools is already running on port ${options.port}; this instance is on ${boundPort}. Use the existing one, or stop it and restart here.`);
163
+ else warnings.push(`port ${options.port} is held by another process that is NOT autotel-devtools. Anything exporting OTLP to :${options.port} is reaching that process, not this devtools. Point your exporter at :${boundPort}, or free :${options.port} and restart.`);
164
+ }
162
165
  return {
163
166
  wsServer,
164
167
  closeAll: () => Promise.all([
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { a as probePortHolder, g as hostHeaderIsLoopback, l as DevtoolsServer, r as resolveSourceRoot, t as attachDevtoolsRoutes } from "./http-Dh3ZCNwK.js";
2
+ import { a as probePortHolder, g as hostHeaderIsLoopback, l as DevtoolsServer, r as resolveSourceRoot, t as attachDevtoolsRoutes } from "./http-C2NlysJf.js";
3
3
  import { t as listenLoopbackDualStack } from "./listen-D-lLgfro.js";
4
- import { t as startOtlpGrpcReceiver } from "./grpc-xj8G9yKO.js";
4
+ import { t as startOtlpGrpcReceiver } from "./grpc-I7rkO3o8.js";
5
5
  import { createServer } from "node:http";
6
6
  import { readFileSync } from "node:fs";
7
7
  import { dirname, resolve } from "node:path";
@@ -14,7 +14,8 @@ function printHelp() {
14
14
  }
15
15
  function printVersion() {
16
16
  try {
17
- const pkgPath = resolve(dirname(fileURLToPath(import.meta.url)), "..", "package.json");
17
+ const dir = dirname(fileURLToPath(import.meta.url));
18
+ const pkgPath = resolve(dir, "..", "package.json");
18
19
  const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
19
20
  process.stdout.write(`${pkg.version}\n`);
20
21
  } catch {
@@ -157,8 +158,10 @@ async function startReceiver(options) {
157
158
  port: options.grpcPort
158
159
  });
159
160
  if (grpc.port !== options.grpcPort) warnings.push(`OTLP/gRPC port ${options.grpcPort} was busy; using ${grpc.port}.`);
160
- if (boundPort !== options.port) if (await probePortHolder(options.host, options.port) === "autotel-devtools") warnings.push(`another autotel-devtools is already running on port ${options.port}; this instance is on ${boundPort}. Use the existing one, or stop it and restart here.`);
161
- else warnings.push(`port ${options.port} is held by another process that is NOT autotel-devtools. Anything exporting OTLP to :${options.port} is reaching that process, not this devtools. Point your exporter at :${boundPort}, or free :${options.port} and restart.`);
161
+ if (boundPort !== options.port) {
162
+ if (await probePortHolder(options.host, options.port) === "autotel-devtools") warnings.push(`another autotel-devtools is already running on port ${options.port}; this instance is on ${boundPort}. Use the existing one, or stop it and restart here.`);
163
+ else warnings.push(`port ${options.port} is held by another process that is NOT autotel-devtools. Anything exporting OTLP to :${options.port} is reaching that process, not this devtools. Point your exporter at :${boundPort}, or free :${options.port} and restart.`);
164
+ }
162
165
  return {
163
166
  wsServer,
164
167
  closeAll: () => Promise.all([
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_json_fields = require('../json-fields-DZFlNqT2.cjs');
2
+ const require_json_fields = require('../json-fields-aEHPpryx.cjs');
3
3
 
4
4
  //#region src/widget/genai/detect.ts
5
5
  const GENAI_MARKERS = [
@@ -621,22 +621,24 @@ function toGenAiSpan(span) {
621
621
  if (Array.isArray(aiPrompt)) messages.push(...aiPrompt.map(normalizeMessage));
622
622
  else {
623
623
  const aiPromptBlob = parseJson(attrs["ai.prompt"]);
624
- if (aiPromptBlob) if (Array.isArray(aiPromptBlob.messages)) messages.push(...aiPromptBlob.messages.map(normalizeMessage));
625
- else {
626
- if (aiPromptBlob.system) messages.push({
627
- role: "system",
628
- parts: [{
629
- kind: "text",
630
- text: aiPromptBlob.system
631
- }]
632
- });
633
- if (aiPromptBlob.prompt) messages.push({
634
- role: "user",
635
- parts: [{
636
- kind: "text",
637
- text: aiPromptBlob.prompt
638
- }]
639
- });
624
+ if (aiPromptBlob) {
625
+ if (Array.isArray(aiPromptBlob.messages)) messages.push(...aiPromptBlob.messages.map(normalizeMessage));
626
+ else {
627
+ if (aiPromptBlob.system) messages.push({
628
+ role: "system",
629
+ parts: [{
630
+ kind: "text",
631
+ text: aiPromptBlob.system
632
+ }]
633
+ });
634
+ if (aiPromptBlob.prompt) messages.push({
635
+ role: "user",
636
+ parts: [{
637
+ kind: "text",
638
+ text: aiPromptBlob.prompt
639
+ }]
640
+ });
641
+ }
640
642
  }
641
643
  }
642
644
  const aiResponseToolCalls = parseJson(attrs["ai.response.toolCalls"]);
@@ -620,22 +620,24 @@ function toGenAiSpan(span) {
620
620
  if (Array.isArray(aiPrompt)) messages.push(...aiPrompt.map(normalizeMessage));
621
621
  else {
622
622
  const aiPromptBlob = parseJson(attrs["ai.prompt"]);
623
- if (aiPromptBlob) if (Array.isArray(aiPromptBlob.messages)) messages.push(...aiPromptBlob.messages.map(normalizeMessage));
624
- else {
625
- if (aiPromptBlob.system) messages.push({
626
- role: "system",
627
- parts: [{
628
- kind: "text",
629
- text: aiPromptBlob.system
630
- }]
631
- });
632
- if (aiPromptBlob.prompt) messages.push({
633
- role: "user",
634
- parts: [{
635
- kind: "text",
636
- text: aiPromptBlob.prompt
637
- }]
638
- });
623
+ if (aiPromptBlob) {
624
+ if (Array.isArray(aiPromptBlob.messages)) messages.push(...aiPromptBlob.messages.map(normalizeMessage));
625
+ else {
626
+ if (aiPromptBlob.system) messages.push({
627
+ role: "system",
628
+ parts: [{
629
+ kind: "text",
630
+ text: aiPromptBlob.system
631
+ }]
632
+ });
633
+ if (aiPromptBlob.prompt) messages.push({
634
+ role: "user",
635
+ parts: [{
636
+ kind: "text",
637
+ text: aiPromptBlob.prompt
638
+ }]
639
+ });
640
+ }
639
641
  }
640
642
  }
641
643
  const aiResponseToolCalls = parseJson(attrs["ai.response.toolCalls"]);
@@ -1,4 +1,4 @@
1
- const require_http = require('./http-CyrTzaY_.cjs');
1
+ const require_http = require('./http-C99Ne5Ud.cjs');
2
2
  let _grpc_grpc_js = require("@grpc/grpc-js");
3
3
 
4
4
  //#region src/server/grpc.ts
@@ -1,4 +1,4 @@
1
- import { c as decodeOtlpTraceRequest, o as decodeOtlpLogsRequest, s as decodeOtlpMetricsRequest } from "./http-Dh3ZCNwK.js";
1
+ import { c as decodeOtlpTraceRequest, o as decodeOtlpLogsRequest, s as decodeOtlpMetricsRequest } from "./http-C2NlysJf.js";
2
2
  import { Server, ServerCredentials, status } from "@grpc/grpc-js";
3
3
 
4
4
  //#region src/server/grpc.ts
@@ -82,7 +82,7 @@ var ErrorAggregator = class {
82
82
  extractErrorFromSpan(span, trace) {
83
83
  const exceptionEvent = span.events?.find((e) => e.name === "exception");
84
84
  const errorType = stringAttr(span.attributes, "exception.type", "error.type") ?? stringAttr(exceptionEvent?.attributes, "exception.type") ?? "Error";
85
- const errorMessage = span.status.message || stringAttr(span.attributes, "exception.message", "error.message") || "Unknown error";
85
+ const errorMessage = span.status.message || stringAttr(span.attributes, "exception.message", "error.message") || stringAttr(exceptionEvent?.attributes, "exception.message") || errorType;
86
86
  const stackTrace = stringAttr(span.attributes, "exception.stacktrace", "exception.stack", "error.stack") ?? this.extractStackFromEvents(span);
87
87
  return {
88
88
  traceId: trace.traceId,
@@ -252,7 +252,7 @@ var ErrorAggregator = class {
252
252
  * Get error statistics
253
253
  */
254
254
  getStats() {
255
- const oneHourAgo = Date.now() - 3600 * 1e3;
255
+ const oneHourAgo = Date.now() - 36e5;
256
256
  let recentErrors = 0;
257
257
  const typeCount = /* @__PURE__ */ new Map();
258
258
  for (const group of this.errorGroups.values()) {
@@ -706,42 +706,42 @@ const PRESETS = [
706
706
  {
707
707
  id: "5m",
708
708
  label: "Last 5m",
709
- durationMs: 5 * 6e4
709
+ durationMs: 3e5
710
710
  },
711
711
  {
712
712
  id: "15m",
713
713
  label: "Last 15m",
714
- durationMs: 15 * 6e4
714
+ durationMs: 9e5
715
715
  },
716
716
  {
717
717
  id: "30m",
718
718
  label: "Last 30m",
719
- durationMs: 30 * 6e4
719
+ durationMs: 18e5
720
720
  },
721
721
  {
722
722
  id: "1h",
723
723
  label: "Last 1h",
724
- durationMs: 60 * 6e4
724
+ durationMs: 36e5
725
725
  },
726
726
  {
727
727
  id: "3h",
728
728
  label: "Last 3h",
729
- durationMs: 180 * 6e4
729
+ durationMs: 108e5
730
730
  },
731
731
  {
732
732
  id: "6h",
733
733
  label: "Last 6h",
734
- durationMs: 360 * 6e4
734
+ durationMs: 216e5
735
735
  },
736
736
  {
737
737
  id: "24h",
738
738
  label: "Last 24h",
739
- durationMs: 1440 * 6e4
739
+ durationMs: 864e5
740
740
  },
741
741
  {
742
742
  id: "7d",
743
743
  label: "Last 7d",
744
- durationMs: 10080 * 6e4
744
+ durationMs: 6048e5
745
745
  }
746
746
  ];
747
747
  /**
@@ -3776,7 +3776,8 @@ function attachDevtoolsRoutes(httpServer, devtools, options = {}) {
3776
3776
  if (req.method === "POST" && url === "/v1/traces") {
3777
3777
  try {
3778
3778
  const payload = await readOtlpPayload(req, "traces");
3779
- sendJson(res, 200, { acceptedTraces: devtools.ingestOtlp("traces", payload) });
3779
+ const acceptedTraces = devtools.ingestOtlp("traces", payload);
3780
+ sendJson(res, 200, { acceptedTraces });
3780
3781
  } catch (e) {
3781
3782
  sendOtlpError(res, req, e);
3782
3783
  }
@@ -3785,7 +3786,8 @@ function attachDevtoolsRoutes(httpServer, devtools, options = {}) {
3785
3786
  if (req.method === "POST" && url === "/v1/logs") {
3786
3787
  try {
3787
3788
  const payload = await readOtlpPayload(req, "logs");
3788
- sendJson(res, 200, { acceptedLogs: devtools.ingestOtlp("logs", payload) });
3789
+ const acceptedLogs = devtools.ingestOtlp("logs", payload);
3790
+ sendJson(res, 200, { acceptedLogs });
3789
3791
  } catch (e) {
3790
3792
  sendOtlpError(res, req, e);
3791
3793
  }
@@ -3794,7 +3796,8 @@ function attachDevtoolsRoutes(httpServer, devtools, options = {}) {
3794
3796
  if (req.method === "POST" && url === "/v1/metrics") {
3795
3797
  try {
3796
3798
  const payload = await readOtlpPayload(req, "metrics");
3797
- sendJson(res, 200, { acceptedMetrics: devtools.ingestOtlp("metrics", payload) });
3799
+ const acceptedMetrics = devtools.ingestOtlp("metrics", payload);
3800
+ sendJson(res, 200, { acceptedMetrics });
3798
3801
  } catch (e) {
3799
3802
  sendOtlpError(res, req, e);
3800
3803
  }
@@ -3859,7 +3862,8 @@ function attachDevtoolsRoutes(httpServer, devtools, options = {}) {
3859
3862
  return;
3860
3863
  }
3861
3864
  try {
3862
- sendJson(res, 200, joinCoverage(JSON.parse(readFileSync(mapPath, "utf8")).routes ?? [], devtools.observedSpans()));
3865
+ const parsed = JSON.parse(readFileSync(mapPath, "utf8"));
3866
+ sendJson(res, 200, joinCoverage(parsed.routes ?? [], devtools.observedSpans()));
3863
3867
  } catch (e) {
3864
3868
  sendJson(res, 400, {
3865
3869
  error: "Unreadable instrumentation map",
@@ -19,17 +19,17 @@ var __copyProps = (to, from, except, desc) => {
19
19
  }
20
20
  return to;
21
21
  };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
23
23
  value: mod,
24
24
  enumerable: true
25
25
  }) : target, mod));
26
26
 
27
27
  //#endregion
28
- const require_wire = require('./wire-CHU1PkMo.cjs');
29
- const require_json_fields = require('./json-fields-DZFlNqT2.cjs');
30
- const require_trace_root = require('./trace-root-BMa667jK.cjs');
31
- const require_parse = require('./parse-BDF92kdK.cjs');
32
- const require_resource_utils = require('./resource-utils-DjHJB6uc.cjs');
28
+ const require_wire = require('./wire-DWMiNZT6.cjs');
29
+ const require_json_fields = require('./json-fields-aEHPpryx.cjs');
30
+ const require_trace_root = require('./trace-root-BCpVKmFP.cjs');
31
+ const require_parse = require('./parse-CnzYzPbj.cjs');
32
+ const require_resource_utils = require('./resource-utils-DgtNp8aV.cjs');
33
33
  let node_http = require("node:http");
34
34
  let ws = require("ws");
35
35
  let autotel_agents = require("autotel-agents");
@@ -111,7 +111,7 @@ var ErrorAggregator = class {
111
111
  extractErrorFromSpan(span, trace) {
112
112
  const exceptionEvent = span.events?.find((e) => e.name === "exception");
113
113
  const errorType = require_json_fields.stringAttr(span.attributes, "exception.type", "error.type") ?? require_json_fields.stringAttr(exceptionEvent?.attributes, "exception.type") ?? "Error";
114
- const errorMessage = span.status.message || require_json_fields.stringAttr(span.attributes, "exception.message", "error.message") || "Unknown error";
114
+ const errorMessage = span.status.message || require_json_fields.stringAttr(span.attributes, "exception.message", "error.message") || require_json_fields.stringAttr(exceptionEvent?.attributes, "exception.message") || errorType;
115
115
  const stackTrace = require_json_fields.stringAttr(span.attributes, "exception.stacktrace", "exception.stack", "error.stack") ?? this.extractStackFromEvents(span);
116
116
  return {
117
117
  traceId: trace.traceId,
@@ -281,7 +281,7 @@ var ErrorAggregator = class {
281
281
  * Get error statistics
282
282
  */
283
283
  getStats() {
284
- const oneHourAgo = Date.now() - 3600 * 1e3;
284
+ const oneHourAgo = Date.now() - 36e5;
285
285
  let recentErrors = 0;
286
286
  const typeCount = /* @__PURE__ */ new Map();
287
287
  for (const group of this.errorGroups.values()) {
@@ -735,42 +735,42 @@ const PRESETS = [
735
735
  {
736
736
  id: "5m",
737
737
  label: "Last 5m",
738
- durationMs: 5 * 6e4
738
+ durationMs: 3e5
739
739
  },
740
740
  {
741
741
  id: "15m",
742
742
  label: "Last 15m",
743
- durationMs: 15 * 6e4
743
+ durationMs: 9e5
744
744
  },
745
745
  {
746
746
  id: "30m",
747
747
  label: "Last 30m",
748
- durationMs: 30 * 6e4
748
+ durationMs: 18e5
749
749
  },
750
750
  {
751
751
  id: "1h",
752
752
  label: "Last 1h",
753
- durationMs: 60 * 6e4
753
+ durationMs: 36e5
754
754
  },
755
755
  {
756
756
  id: "3h",
757
757
  label: "Last 3h",
758
- durationMs: 180 * 6e4
758
+ durationMs: 108e5
759
759
  },
760
760
  {
761
761
  id: "6h",
762
762
  label: "Last 6h",
763
- durationMs: 360 * 6e4
763
+ durationMs: 216e5
764
764
  },
765
765
  {
766
766
  id: "24h",
767
767
  label: "Last 24h",
768
- durationMs: 1440 * 6e4
768
+ durationMs: 864e5
769
769
  },
770
770
  {
771
771
  id: "7d",
772
772
  label: "Last 7d",
773
- durationMs: 10080 * 6e4
773
+ durationMs: 6048e5
774
774
  }
775
775
  ];
776
776
  /**
@@ -3805,7 +3805,8 @@ function attachDevtoolsRoutes(httpServer, devtools, options = {}) {
3805
3805
  if (req.method === "POST" && url === "/v1/traces") {
3806
3806
  try {
3807
3807
  const payload = await readOtlpPayload(req, "traces");
3808
- sendJson(res, 200, { acceptedTraces: devtools.ingestOtlp("traces", payload) });
3808
+ const acceptedTraces = devtools.ingestOtlp("traces", payload);
3809
+ sendJson(res, 200, { acceptedTraces });
3809
3810
  } catch (e) {
3810
3811
  sendOtlpError(res, req, e);
3811
3812
  }
@@ -3814,7 +3815,8 @@ function attachDevtoolsRoutes(httpServer, devtools, options = {}) {
3814
3815
  if (req.method === "POST" && url === "/v1/logs") {
3815
3816
  try {
3816
3817
  const payload = await readOtlpPayload(req, "logs");
3817
- sendJson(res, 200, { acceptedLogs: devtools.ingestOtlp("logs", payload) });
3818
+ const acceptedLogs = devtools.ingestOtlp("logs", payload);
3819
+ sendJson(res, 200, { acceptedLogs });
3818
3820
  } catch (e) {
3819
3821
  sendOtlpError(res, req, e);
3820
3822
  }
@@ -3823,7 +3825,8 @@ function attachDevtoolsRoutes(httpServer, devtools, options = {}) {
3823
3825
  if (req.method === "POST" && url === "/v1/metrics") {
3824
3826
  try {
3825
3827
  const payload = await readOtlpPayload(req, "metrics");
3826
- sendJson(res, 200, { acceptedMetrics: devtools.ingestOtlp("metrics", payload) });
3828
+ const acceptedMetrics = devtools.ingestOtlp("metrics", payload);
3829
+ sendJson(res, 200, { acceptedMetrics });
3827
3830
  } catch (e) {
3828
3831
  sendOtlpError(res, req, e);
3829
3832
  }
@@ -3888,7 +3891,8 @@ function attachDevtoolsRoutes(httpServer, devtools, options = {}) {
3888
3891
  return;
3889
3892
  }
3890
3893
  try {
3891
- sendJson(res, 200, joinCoverage(JSON.parse((0, node_fs.readFileSync)(mapPath, "utf8")).routes ?? [], devtools.observedSpans()));
3894
+ const parsed = JSON.parse((0, node_fs.readFileSync)(mapPath, "utf8"));
3895
+ sendJson(res, 200, joinCoverage(parsed.routes ?? [], devtools.observedSpans()));
3892
3896
  } catch (e) {
3893
3897
  sendJson(res, 400, {
3894
3898
  error: "Unreadable instrumentation map",
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_http = require('./http-CyrTzaY_.cjs');
2
+ const require_http = require('./http-C99Ne5Ud.cjs');
3
3
  const require_listen = require('./listen-l09RRHht.cjs');
4
4
  const require_server_exporter = require('./server/exporter.cjs');
5
5
  const require_server_log_exporter = require('./server/log-exporter.cjs');
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as ErrorAggregator, g as hostHeaderIsLoopback, l as DevtoolsServer, r as resolveSourceRoot, t as attachDevtoolsRoutes } from "./http-Dh3ZCNwK.js";
1
+ import { C as ErrorAggregator, g as hostHeaderIsLoopback, l as DevtoolsServer, r as resolveSourceRoot, t as attachDevtoolsRoutes } from "./http-C2NlysJf.js";
2
2
  import { t as listenLoopbackDualStack } from "./listen-D-lLgfro.js";
3
3
  import { DevtoolsSpanExporter } from "./server/exporter.js";
4
4
  import { DevtoolsLogExporter } from "./server/log-exporter.js";
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/widget/attrs.ts
3
2
  /** The string an attribute carries, or undefined when it carried something else. */
4
3
  function stringAttr(attributes, ...keys) {
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/query/compile.ts
3
2
  /** The escape character for LIKE patterns; also escaped within them. */
4
3
  const LIKE_ESCAPE = "\\";
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_parse = require('../parse-BDF92kdK.cjs');
2
+ const require_parse = require('../parse-CnzYzPbj.cjs');
3
3
 
4
4
  exports.OPERATORS = require_parse.OPERATORS;
5
5
  exports.SIGIL_ALIASES = require_parse.SIGIL_ALIASES;
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/server/resource-utils.ts
3
2
  function getResourceName(resource, fallback = "unknown") {
4
3
  if (!resource) return fallback;
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_trace_root = require('../trace-root-BMa667jK.cjs');
2
+ const require_trace_root = require('../trace-root-BCpVKmFP.cjs');
3
3
 
4
4
  //#region src/server/exporter.ts
5
5
  var DevtoolsSpanExporter = class {
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_http = require('../http-CyrTzaY_.cjs');
2
+ const require_http = require('../http-C99Ne5Ud.cjs');
3
3
  const require_server_exporter = require('./exporter.cjs');
4
4
  const require_server_log_exporter = require('./log-exporter.cjs');
5
5
  const require_server_remote_exporter = require('./remote-exporter.cjs');
6
- const require_grpc = require('../grpc-CV8vU095.cjs');
6
+ const require_grpc = require('../grpc-BZOalozs.cjs');
7
7
 
8
8
  exports.DEVTOOLS_IDENTITY = require_http.DEVTOOLS_IDENTITY;
9
9
  exports.DevtoolsLogExporter = require_server_log_exporter.DevtoolsLogExporter;
@@ -1,7 +1,7 @@
1
- import { C as ErrorAggregator, S as resolveTelemetryLimits, _ as isLoopbackHostname, a as probePortHolder, b as appendWithLimit, c as decodeOtlpTraceRequest, d as parseOtlpLogs, f as parseOtlpTraces, g as hostHeaderIsLoopback, h as allowSensitiveRequest, i as DEVTOOLS_IDENTITY, l as DevtoolsServer, m as SPAN_SCHEMA, n as createDevtoolsHttpServer, o as decodeOtlpLogsRequest, p as DevtoolsStore, s as decodeOtlpMetricsRequest, t as attachDevtoolsRoutes, u as isProtobufContentType, v as originIsLoopback, x as applyTelemetryLimits, y as appendManyWithLimit } from "../http-Dh3ZCNwK.js";
1
+ import { C as ErrorAggregator, S as resolveTelemetryLimits, _ as isLoopbackHostname, a as probePortHolder, b as appendWithLimit, c as decodeOtlpTraceRequest, d as parseOtlpLogs, f as parseOtlpTraces, g as hostHeaderIsLoopback, h as allowSensitiveRequest, i as DEVTOOLS_IDENTITY, l as DevtoolsServer, m as SPAN_SCHEMA, n as createDevtoolsHttpServer, o as decodeOtlpLogsRequest, p as DevtoolsStore, s as decodeOtlpMetricsRequest, t as attachDevtoolsRoutes, u as isProtobufContentType, v as originIsLoopback, x as applyTelemetryLimits, y as appendManyWithLimit } from "../http-C2NlysJf.js";
2
2
  import { DevtoolsSpanExporter } from "./exporter.js";
3
3
  import { DevtoolsLogExporter } from "./log-exporter.js";
4
4
  import { DevtoolsRemoteExporter } from "./remote-exporter.js";
5
- import { t as startOtlpGrpcReceiver } from "../grpc-xj8G9yKO.js";
5
+ import { t as startOtlpGrpcReceiver } from "../grpc-I7rkO3o8.js";
6
6
 
7
7
  export { DEVTOOLS_IDENTITY, DevtoolsLogExporter, DevtoolsRemoteExporter, DevtoolsServer, DevtoolsSpanExporter, DevtoolsStore, ErrorAggregator, SPAN_SCHEMA, allowSensitiveRequest, appendManyWithLimit, appendWithLimit, applyTelemetryLimits, attachDevtoolsRoutes, createDevtoolsHttpServer, decodeOtlpLogsRequest, decodeOtlpMetricsRequest, decodeOtlpTraceRequest, hostHeaderIsLoopback, isLoopbackHostname, isProtobufContentType, originIsLoopback, parseOtlpLogs, parseOtlpTraces, probePortHolder, resolveTelemetryLimits, startOtlpGrpcReceiver };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_resource_utils = require('../resource-utils-DjHJB6uc.cjs');
2
+ const require_resource_utils = require('../resource-utils-DgtNp8aV.cjs');
3
3
  let _opentelemetry_core = require("@opentelemetry/core");
4
4
 
5
5
  //#region src/server/log-exporter.ts
@@ -1,5 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
-
3
2
  //#region src/server/remote-exporter.ts
4
3
  var DevtoolsRemoteExporter = class {
5
4
  options;
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/server/trace-root.ts
3
2
  /**
4
3
  * Pick the span to present as the top of a trace, and report whether the real
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_wire = require('../wire-CHU1PkMo.cjs');
2
+ const require_wire = require('../wire-DWMiNZT6.cjs');
3
3
 
4
4
  exports.decodeTrace = require_wire.decodeTrace;
5
5
  exports.decodeTraces = require_wire.decodeTraces;
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/wire/wire.ts
3
2
  /**
4
3
  * Drop an end time the start and duration already imply.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autotel-devtools",
3
- "version": "28.0.3",
3
+ "version": "29.0.0",
4
4
  "description": "Standalone OTLP receiver with web UI for local development",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -109,7 +109,7 @@
109
109
  "webmcpable": "^0.5.0"
110
110
  },
111
111
  "peerDependencies": {
112
- "autotel": "7.7.1"
112
+ "autotel": "7.8.0"
113
113
  },
114
114
  "peerDependenciesMeta": {
115
115
  "autotel": {