veryfront 0.1.521 → 0.1.522

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 (67) hide show
  1. package/esm/cli/templates/manifest.d.ts +405 -405
  2. package/esm/cli/templates/manifest.js +454 -454
  3. package/esm/deno.d.ts +2 -2
  4. package/esm/deno.js +4 -4
  5. package/esm/extensions/{ext-tracing-opentelemetry → ext-observability-opentelemetry}/src/index.d.ts +3 -3
  6. package/esm/extensions/ext-observability-opentelemetry/src/index.d.ts.map +1 -0
  7. package/esm/extensions/{ext-tracing-opentelemetry → ext-observability-opentelemetry}/src/index.js +10 -10
  8. package/esm/src/agent/service/config.d.ts.map +1 -1
  9. package/esm/src/agent/service/config.js +2 -0
  10. package/esm/src/agent/service/node-telemetry.d.ts +1 -1
  11. package/esm/src/agent/service/node-telemetry.d.ts.map +1 -1
  12. package/esm/src/agent/service/node-telemetry.js +1 -1
  13. package/esm/src/agent/veryfront-cloud-agent-service.js +2 -2
  14. package/esm/src/extensions/{tracing → observability}/index.d.ts +2 -2
  15. package/esm/src/extensions/observability/index.d.ts.map +1 -0
  16. package/esm/src/extensions/{tracing → observability}/index.js +2 -2
  17. package/esm/src/extensions/{tracing → observability}/node-telemetry-provider.d.ts +2 -2
  18. package/esm/src/extensions/observability/node-telemetry-provider.d.ts.map +1 -0
  19. package/esm/src/extensions/{tracing → observability}/node-telemetry-provider.js +2 -2
  20. package/esm/src/extensions/{tracing → observability}/tracing-exporter.d.ts +2 -2
  21. package/esm/src/extensions/observability/tracing-exporter.d.ts.map +1 -0
  22. package/esm/src/extensions/observability/tracing-exporter.js +8 -0
  23. package/esm/src/extensions/recommendations.js +2 -2
  24. package/esm/src/observability/metrics/manager.js +1 -1
  25. package/esm/src/observability/simple-metrics/otel-instruments.js +1 -1
  26. package/esm/src/observability/tracing/api-shim.d.ts +4 -4
  27. package/esm/src/observability/tracing/api-shim.js +7 -7
  28. package/esm/src/observability/tracing/manager.js +2 -2
  29. package/esm/src/observability/tracing/otlp-setup.d.ts +1 -1
  30. package/esm/src/observability/tracing/otlp-setup.js +4 -4
  31. package/esm/src/proxy/tracing.d.ts +1 -1
  32. package/esm/src/proxy/tracing.js +2 -2
  33. package/esm/src/react/components/chat/theme.d.ts.map +1 -1
  34. package/esm/src/react/components/chat/theme.js +4 -2
  35. package/esm/src/server/dev-ui/manifest.d.ts +17 -17
  36. package/esm/src/server/dev-ui/manifest.js +17 -17
  37. package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
  38. package/esm/src/server/handlers/dev/framework-candidates.generated.js +4 -1
  39. package/esm/src/utils/version-constant.d.ts +1 -1
  40. package/esm/src/utils/version-constant.js +1 -1
  41. package/package.json +4 -4
  42. package/src/cli/templates/manifest.js +454 -454
  43. package/src/deno.js +4 -4
  44. package/src/extensions/{ext-tracing-opentelemetry → ext-observability-opentelemetry}/src/index.ts +12 -12
  45. package/src/src/agent/service/config.ts +2 -0
  46. package/src/src/agent/service/node-telemetry.ts +1 -1
  47. package/src/src/agent/veryfront-cloud-agent-service.ts +2 -2
  48. package/src/src/extensions/{tracing → observability}/index.ts +2 -2
  49. package/src/src/extensions/{tracing → observability}/node-telemetry-provider.ts +2 -2
  50. package/src/src/extensions/{tracing → observability}/tracing-exporter.ts +2 -2
  51. package/src/src/extensions/recommendations.ts +2 -2
  52. package/src/src/observability/metrics/manager.ts +1 -1
  53. package/src/src/observability/simple-metrics/otel-instruments.ts +1 -1
  54. package/src/src/observability/tracing/api-shim.ts +7 -7
  55. package/src/src/observability/tracing/manager.ts +2 -2
  56. package/src/src/observability/tracing/otlp-setup.ts +4 -4
  57. package/src/src/proxy/tracing.ts +2 -2
  58. package/src/src/react/components/chat/theme.ts +4 -2
  59. package/src/src/server/bootstrap.ts +1 -1
  60. package/src/src/server/dev-ui/manifest.js +17 -17
  61. package/src/src/server/handlers/dev/framework-candidates.generated.ts +4 -1
  62. package/src/src/utils/version-constant.ts +1 -1
  63. package/esm/extensions/ext-tracing-opentelemetry/src/index.d.ts.map +0 -1
  64. package/esm/src/extensions/tracing/index.d.ts.map +0 -1
  65. package/esm/src/extensions/tracing/node-telemetry-provider.d.ts.map +0 -1
  66. package/esm/src/extensions/tracing/tracing-exporter.d.ts.map +0 -1
  67. package/esm/src/extensions/tracing/tracing-exporter.js +0 -8
package/src/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.521",
3
+ "version": "0.1.522",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "workspace": [
@@ -16,7 +16,7 @@ export default {
16
16
  "./extensions/ext-db-sqlite",
17
17
  "./extensions/ext-parser-babel",
18
18
  "./extensions/ext-sandbox-shell-tools",
19
- "./extensions/ext-tracing-opentelemetry",
19
+ "./extensions/ext-observability-opentelemetry",
20
20
  "./extensions/ext-content-mdx",
21
21
  "./extensions/ext-schema-zod"
22
22
  ],
@@ -85,7 +85,7 @@ export default {
85
85
  "./extensions/parser": "./src/extensions/parser/index.ts",
86
86
  "./extensions/sandbox": "./src/extensions/sandbox/index.ts",
87
87
  "./extensions/schema": "./src/extensions/schema/index.ts",
88
- "./extensions/tracing": "./src/extensions/tracing/index.ts",
88
+ "./extensions/observability": "./src/extensions/observability/index.ts",
89
89
  "./testing": "./src/testing/index.ts",
90
90
  "./testing/assert": "./src/testing/assert.ts",
91
91
  "./testing/bdd": "./src/testing/bdd.ts",
@@ -180,7 +180,7 @@ export default {
180
180
  "veryfront/extensions/parser": "./src/extensions/parser/index.ts",
181
181
  "veryfront/extensions/sandbox": "./src/extensions/sandbox/index.ts",
182
182
  "veryfront/extensions/schema": "./src/extensions/schema/index.ts",
183
- "veryfront/extensions/tracing": "./src/extensions/tracing/index.ts",
183
+ "veryfront/extensions/observability": "./src/extensions/observability/index.ts",
184
184
  "#veryfront": "./src/index.ts",
185
185
  "#veryfront/agent": "./src/agent/index.ts",
186
186
  "#veryfront/agent/react": "./src/agent/react/index.ts",
@@ -1,18 +1,18 @@
1
1
  /**
2
- * ext-tracing-opentelemetry TracingExporter implementation backed by the
2
+ * ext-observability-opentelemetry: OpenTelemetry observability extension backed by the
3
3
  * official OpenTelemetry JS SDK.
4
4
  *
5
5
  * Provides the `TracingExporter` and `NodeTelemetryProvider` contracts:
6
- * - `start(config)` builds the SDK provider + OTLP HTTP exporter
7
- * - `export(spans)` no-op (SDK handles export via BatchSpanProcessor)
8
- * - `shutdown()` flushes + shuts down the provider
9
- * - `getProvider()` returns the SDK TracerProvider for shim wiring
10
- * - `initialize(options)` starts NodeSDK auto-instrumentation
6
+ * - `start(config)`: builds the SDK provider and OTLP HTTP exporter
7
+ * - `export(spans)`: no-op, the SDK handles export via BatchSpanProcessor
8
+ * - `shutdown()`: flushes and shuts down the provider
9
+ * - `getProvider()`: returns the SDK TracerProvider for shim wiring
10
+ * - `initialize(options)`: starts NodeSDK auto-instrumentation
11
11
  *
12
12
  * Configuration is read from `ctx.config` (see `OtlpExtConfig`) and falls
13
13
  * back to standard OTEL environment variables.
14
14
  *
15
- * @module extensions/ext-tracing-opentelemetry
15
+ * @module extensions/ext-observability-opentelemetry
16
16
  */
17
17
  import * as dntShim from "../../../_dnt.shims.js";
18
18
 
@@ -23,7 +23,7 @@ import type {
23
23
  NodeTelemetryProvider,
24
24
  SpanData,
25
25
  TracingExporter,
26
- } from "../../../src/extensions/tracing/index.js";
26
+ } from "../../../src/extensions/observability/index.js";
27
27
 
28
28
  import { metrics, trace } from "@opentelemetry/api";
29
29
  import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
@@ -42,7 +42,7 @@ import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from "@opentelemetry/semantic
42
42
 
43
43
  /**
44
44
  * The TracerProvider interface as expected by the core shim.
45
- * Using structural typing the real SDK provider satisfies this shape.
45
+ * Using structural typing because the real SDK provider satisfies this shape.
46
46
  */
47
47
  interface ShimTracerProvider {
48
48
  getTracer(name: string, version?: string): unknown;
@@ -247,7 +247,7 @@ class OpenTelemetryNodeTelemetryProvider implements NodeTelemetryProvider {
247
247
  }
248
248
 
249
249
  /**
250
- * Default export the ext-tracing-opentelemetry extension factory.
250
+ * Default export for the ext-observability-opentelemetry extension factory.
251
251
  *
252
252
  * Produces an extension that registers a `TracingExporter` contract
253
253
  * implementation backed by the OpenTelemetry JS SDK.
@@ -257,7 +257,7 @@ const extOpenTelemetry: ExtensionFactory = () => {
257
257
  const nodeTelemetryProvider = new OpenTelemetryNodeTelemetryProvider();
258
258
 
259
259
  return {
260
- name: "ext-tracing-opentelemetry",
260
+ name: "ext-observability-opentelemetry",
261
261
  version: "0.1.0",
262
262
  capabilities: [
263
263
  { type: "contract", name: "TracingExporter" },
@@ -277,7 +277,7 @@ const extOpenTelemetry: ExtensionFactory = () => {
277
277
  await exporterImpl.start(ctx.config);
278
278
  ctx.provide("TracingExporter", exporterImpl);
279
279
  ctx.provide("NodeTelemetryProvider", nodeTelemetryProvider);
280
- ctx.logger.info("[ext-tracing-opentelemetry] TracingExporter registered");
280
+ ctx.logger.info("[ext-observability-opentelemetry] TracingExporter registered");
281
281
  },
282
282
  async teardown() {
283
283
  await nodeTelemetryProvider.shutdown();
@@ -1,3 +1,4 @@
1
+ import { ensureBuiltinSchemaValidator } from "../../extensions/builtin-extensions.js";
1
2
  import { defineSchema } from "../../schemas/define.js";
2
3
  import { lazySchema } from "../../schemas/lazy.js";
3
4
 
@@ -95,6 +96,7 @@ export type HostedAgentServiceConfigInput = AgentServiceConfigInput;
95
96
  export function parseAgentServiceConfig(
96
97
  input: AgentServiceConfigInput,
97
98
  ): AgentServiceConfig {
99
+ ensureBuiltinSchemaValidator();
98
100
  return agentServiceConfigSchema.parse(input);
99
101
  }
100
102
 
@@ -6,7 +6,7 @@ import {
6
6
  type NodeTelemetryProcessTarget,
7
7
  type NodeTelemetryProvider,
8
8
  NodeTelemetryProviderName,
9
- } from "../../extensions/tracing/index.js";
9
+ } from "../../extensions/observability/index.js";
10
10
 
11
11
  export type NodeHostedAgentServiceTelemetryEnv = Record<string, string | undefined>;
12
12
 
@@ -11,7 +11,7 @@ import type { SchemaValidator } from "../extensions/schema/index.js";
11
11
  import {
12
12
  type NodeTelemetryProvider,
13
13
  NodeTelemetryProviderName,
14
- } from "../extensions/tracing/index.js";
14
+ } from "../extensions/observability/index.js";
15
15
  import {
16
16
  type SandboxShellToolsProvider,
17
17
  SandboxShellToolsProviderName,
@@ -379,7 +379,7 @@ async function ensureDefaultAuthProvider(): Promise<void> {
379
379
  async function ensureDefaultNodeTelemetryProvider(): Promise<void> {
380
380
  if (tryResolve<NodeTelemetryProvider>(NodeTelemetryProviderName)) return;
381
381
  const { OpenTelemetryNodeTelemetryProvider } = await import(
382
- "../../extensions/ext-tracing-opentelemetry/src/index.js"
382
+ "../../extensions/ext-observability-opentelemetry/src/index.js"
383
383
  );
384
384
  register<NodeTelemetryProvider>(
385
385
  NodeTelemetryProviderName,
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Tracing category barrel: tracing and Node telemetry contracts.
2
+ * Observability category barrel: tracing and Node telemetry contracts.
3
3
  *
4
- * @module extensions/tracing
4
+ * @module extensions/observability
5
5
  */
6
6
  import "../../../_dnt.polyfills.js";
7
7
 
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Contract interface for Node.js OpenTelemetry runtime bootstrap.
3
3
  *
4
- * Default implementation: `@veryfront/ext-tracing-opentelemetry`
4
+ * Default implementation: `@veryfront/ext-observability-opentelemetry`
5
5
  *
6
- * @module extensions/tracing/node-telemetry-provider
6
+ * @module extensions/observability/node-telemetry-provider
7
7
  */
8
8
 
9
9
  export const NodeTelemetryProviderName = "NodeTelemetryProvider";
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Contract interface for tracing/telemetry exporters.
3
3
  *
4
- * Default implementation: `@veryfront/ext-tracing-opentelemetry`
4
+ * Default implementation: `@veryfront/ext-observability-opentelemetry`
5
5
  *
6
- * @module extensions/tracing/tracing-exporter
6
+ * @module extensions/observability/tracing-exporter
7
7
  */
8
8
 
9
9
  /**
@@ -14,8 +14,8 @@ const recommendations = new Map<string, string>([
14
14
  ["ContentProcessor", "@veryfront/ext-content-mdx"],
15
15
  ["DocumentExtractor", "@veryfront/ext-document-kreuzberg"],
16
16
  ["AuthProvider", "@veryfront/ext-auth-jwt"],
17
- ["TracingExporter", "@veryfront/ext-tracing-opentelemetry"],
18
- ["NodeTelemetryProvider", "@veryfront/ext-tracing-opentelemetry"],
17
+ ["TracingExporter", "@veryfront/ext-observability-opentelemetry"],
18
+ ["NodeTelemetryProvider", "@veryfront/ext-observability-opentelemetry"],
19
19
  ["LLMProvider:openai", "@veryfront/ext-llm-openai"],
20
20
  ["LLMProvider:anthropic", "@veryfront/ext-llm-anthropic"],
21
21
  ["LLMProvider:google", "@veryfront/ext-llm-google"],
@@ -80,7 +80,7 @@ export class MetricsManager {
80
80
  }
81
81
 
82
82
  try {
83
- // The metrics API is injected by ext-tracing-opentelemetry via setGlobalMetricsAPI().
83
+ // The metrics API is injected by ext-observability-opentelemetry via setGlobalMetricsAPI().
84
84
  // When the extension is not active, metrics collection is disabled.
85
85
  const metricsApi = getGlobalMetricsAPI();
86
86
  if (!metricsApi) {
@@ -27,7 +27,7 @@ export async function ensureOtelInstruments(): Promise<void> {
27
27
  if (!isDeno) return;
28
28
 
29
29
  try {
30
- // The metrics API is injected by ext-tracing-opentelemetry via setGlobalMetricsAPI().
30
+ // The metrics API is injected by ext-observability-opentelemetry via setGlobalMetricsAPI().
31
31
  // When the extension is not active, the meter is unavailable and we return.
32
32
  const metricsApi = getGlobalMetricsAPI();
33
33
  if (!metricsApi) return;
@@ -2,7 +2,7 @@
2
2
  * Thin in-process shim for `@opentelemetry/api`.
3
3
  *
4
4
  * Core files that previously imported directly from `@opentelemetry/api` now
5
- * import from this module. When the `ext-tracing-opentelemetry` extension is present
5
+ * import from this module. When the `ext-observability-opentelemetry` extension is present
6
6
  * the real SDK provider is wired in via `setGlobalTracerProvider`; otherwise
7
7
  * every call falls back to a no-op implementation so the core boots without the
8
8
  * extension installed.
@@ -172,7 +172,7 @@ export interface MetricsAPI {
172
172
  }
173
173
 
174
174
  // ---------------------------------------------------------------------------
175
- // No-op provider (default when ext-tracing-opentelemetry is not installed)
175
+ // No-op provider (default when ext-observability-opentelemetry is not installed)
176
176
  // ---------------------------------------------------------------------------
177
177
 
178
178
  function createNoopContext(): Context {
@@ -254,7 +254,7 @@ let _propagator: TextMapPropagator | null = null;
254
254
 
255
255
  /**
256
256
  * Optional accessor for the currently active span. Wired by
257
- * ext-tracing-opentelemetry (via `setGlobalActiveSpanAccessor`) so `trace.getActiveSpan()`
257
+ * ext-observability-opentelemetry (via `setGlobalActiveSpanAccessor`) so `trace.getActiveSpan()`
258
258
  * and `trace.getSpan()` return the real SDK span once the extension is active.
259
259
  */
260
260
  let _activeSpanAccessor: {
@@ -264,7 +264,7 @@ let _activeSpanAccessor: {
264
264
 
265
265
  /**
266
266
  * Register the real OTel trace API's span accessors. Called by the
267
- * ext-tracing-opentelemetry extension after it wires the SDK so that the shim's
267
+ * ext-observability-opentelemetry extension after it wires the SDK so that the shim's
268
268
  * `trace.getActiveSpan()` / `trace.getSpan()` can return real spans.
269
269
  */
270
270
  export function setGlobalActiveSpanAccessor(
@@ -287,7 +287,7 @@ export function getGlobalTracerProvider(): TracerProvider {
287
287
 
288
288
  /**
289
289
  * Get a tracer from the active provider.
290
- * Returns the no-op tracer when ext-tracing-opentelemetry is not installed.
290
+ * Returns the no-op tracer when ext-observability-opentelemetry is not installed.
291
291
  */
292
292
  export function getTracer(name: string, version?: string): Tracer {
293
293
  return _provider.getTracer(name, version);
@@ -378,14 +378,14 @@ export const defaultTextMapSetter: TextMapSetter<Record<string, string>> = {
378
378
  };
379
379
 
380
380
  // ---------------------------------------------------------------------------
381
- // Metrics API registry (injected by ext-tracing-opentelemetry when active)
381
+ // Metrics API registry (injected by ext-observability-opentelemetry when active)
382
382
  // ---------------------------------------------------------------------------
383
383
 
384
384
  let _metricsApi: MetricsAPI | null = null;
385
385
 
386
386
  /**
387
387
  * Register the OTel Metrics API (from the SDK).
388
- * Called by ext-tracing-opentelemetry in its setup hook so the metrics subsystem
388
+ * Called by ext-observability-opentelemetry in its setup hook so the metrics subsystem
389
389
  * can use `getMeter()` when available.
390
390
  */
391
391
  export function setGlobalMetricsAPI(api: MetricsAPI): void {
@@ -56,7 +56,7 @@ export class TracingManager {
56
56
  }
57
57
 
58
58
  private async initializeTracer(config: TracingConfig): Promise<void> {
59
- // Use the shim API — delegates to the real SDK when ext-tracing-opentelemetry is wired.
59
+ // Use the shim API — delegates to the real SDK when ext-observability-opentelemetry is wired.
60
60
  const shimApi = await import("./api-shim.js");
61
61
  const api: OpenTelemetryAPI = {
62
62
  trace: {
@@ -79,7 +79,7 @@ export class TracingManager {
79
79
 
80
80
  this.state.tracer = api.trace.getTracer(config.serviceName ?? "veryfront", VERSION);
81
81
 
82
- // No-op propagator used only when ext-tracing-opentelemetry is NOT installed.
82
+ // No-op propagator used only when ext-observability-opentelemetry is NOT installed.
83
83
  // When the extension is active, it registers W3CTraceContextPropagator
84
84
  // on the shim directly; we intentionally do NOT wrap shimApi.propagation
85
85
  // here (doing so would cause infinite recursion when the global
@@ -1,7 +1,7 @@
1
1
  /**************************
2
2
  * OpenTelemetry OTLP Setup
3
3
  *
4
- * Thin wrapper that delegates to the `ext-tracing-opentelemetry` extension via the
4
+ * Thin wrapper that delegates to the `ext-observability-opentelemetry` extension via the
5
5
  * `TracingExporter` contract. When the extension is not installed, all span
6
6
  * operations silently no-op.
7
7
  *
@@ -81,15 +81,15 @@ export async function initializeOTLP(): Promise<void> {
81
81
  logger.debug("Already initialized");
82
82
  return;
83
83
  }
84
- // Actual provider setup is handled by ext-tracing-opentelemetry via bootstrap.
84
+ // Actual provider setup is handled by ext-observability-opentelemetry via bootstrap.
85
85
  // This is kept for backward compatibility.
86
86
  initialized = true;
87
- logger.debug("OTLP setup delegated to ext-tracing-opentelemetry extension");
87
+ logger.debug("OTLP setup delegated to ext-observability-opentelemetry extension");
88
88
  }
89
89
 
90
90
  export async function shutdownOTLP(): Promise<void> {
91
91
  // Actual shutdown is handled by the extension loader teardown.
92
- logger.debug("OTLP shutdown delegated to ext-tracing-opentelemetry extension");
92
+ logger.debug("OTLP shutdown delegated to ext-observability-opentelemetry extension");
93
93
  }
94
94
 
95
95
  export function isOTLPEnabled(): boolean {
@@ -1,7 +1,7 @@
1
1
  /****
2
2
  * OpenTelemetry OTLP tracing for proxy.
3
3
  *
4
- * Uses the core api-shim for in-process tracing; when ext-tracing-opentelemetry
4
+ * Uses the core api-shim for in-process tracing; when ext-observability-opentelemetry
5
5
  * is loaded, the shim delegates to the real SDK provider.
6
6
  *
7
7
  * Env: OTEL_TRACES_ENABLED, OTEL_SERVICE_NAME, OTEL_EXPORTER_OTLP_ENDPOINT,
@@ -71,7 +71,7 @@ export async function initializeOTLPWithApis(): Promise<void> {
71
71
  }
72
72
 
73
73
  try {
74
- // The shim's provider is wired by ext-tracing-opentelemetry via bootstrap.ts.
74
+ // The shim's provider is wired by ext-observability-opentelemetry via bootstrap.ts.
75
75
  // We simply get a tracer from the shim — it delegates to the real SDK
76
76
  // when the extension is active, otherwise returns the no-op tracer.
77
77
  tracer = shimTrace.getTracer(config.serviceName);
@@ -247,8 +247,10 @@ function variantClasses<TVariants extends VariantMap>(
247
247
  const classes: ClassValue[] = [base];
248
248
 
249
249
  for (const [variantName, variantValues] of Object.entries(config.variants)) {
250
- const selected = options[variantName] ??
251
- config.defaultVariants?.[variantName];
250
+ const option = options[variantName];
251
+ const selected = Object.hasOwn(options, variantName) && option !== undefined
252
+ ? option
253
+ : config.defaultVariants?.[variantName];
252
254
  if (selected === null || selected === undefined) continue;
253
255
  classes.push(variantValues[String(selected)]);
254
256
  }
@@ -13,7 +13,7 @@ import {
13
13
  } from "../extensions/builtin-extensions.js";
14
14
  import { MISSING_EXTENSION_ERROR } from "../extensions/errors.js";
15
15
  import { getRecommendation } from "../extensions/recommendations.js";
16
- import type { TracingExporter } from "../extensions/tracing/tracing-exporter.js";
16
+ import type { TracingExporter } from "../extensions/observability/tracing-exporter.js";
17
17
  import {
18
18
  setGlobalActiveSpanAccessor,
19
19
  setGlobalMetricsAPI,