veryfront 0.1.925 → 0.1.927

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.
@@ -1,11 +1,17 @@
1
+ import { discoverProjectAgentRuntime } from "../../../src/agent/project/agent-runtime.js";
1
2
  import type { WorkflowArgs } from "./handler.js";
2
3
  export interface WorkflowOptions extends WorkflowArgs {
3
4
  projectDir?: string;
4
5
  }
6
+ interface WorkflowCommandDependencies {
7
+ discoverProjectAgentRuntime?: typeof discoverProjectAgentRuntime;
8
+ }
5
9
  export interface WorkflowDiscoveryError {
6
10
  filePath: string;
7
11
  error: string;
8
12
  }
9
13
  export declare function formatWorkflowDiscoveryErrors(errors: WorkflowDiscoveryError[]): string[];
10
14
  export declare function workflowCommand(options: WorkflowOptions): Promise<void>;
15
+ export declare function runWorkflowCommand(options: WorkflowOptions, dependencies?: WorkflowCommandDependencies): Promise<void>;
16
+ export {};
11
17
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/workflow/command.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKjD,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,sBAAsB,EAAE,GAC/B,MAAM,EAAE,CAUV;AAuFD,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAyF7E"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/workflow/command.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAO1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKjD,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,2BAA2B;IACnC,2BAA2B,CAAC,EAAE,OAAO,2BAA2B,CAAC;CAClE;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,sBAAsB,EAAE,GAC/B,MAAM,EAAE,CAUV;AAuFD,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7E;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,eAAe,EACxB,YAAY,GAAE,2BAAgC,GAC7C,OAAO,CAAC,IAAI,CAAC,CA6Ff"}
@@ -81,6 +81,9 @@ async function waitForWorkflowExit(client, runId) {
81
81
  }
82
82
  }
83
83
  export async function workflowCommand(options) {
84
+ await runWorkflowCommand(options);
85
+ }
86
+ export async function runWorkflowCommand(options, dependencies = {}) {
84
87
  if (options.action !== "run") {
85
88
  cliLogger.error(`Unknown workflow action: ${options.action}`);
86
89
  exitProcess(1);
@@ -104,6 +107,8 @@ export async function workflowCommand(options) {
104
107
  }
105
108
  }
106
109
  const projectDir = options.projectDir ?? dntShim.Deno.cwd();
110
+ const discoverRuntime = dependencies.discoverProjectAgentRuntime ??
111
+ discoverProjectAgentRuntime;
107
112
  await withProjectSourceContext(projectDir, async ({ adapter, proxyContext }) => {
108
113
  const sourceLabel = proxyContext?.branchRef
109
114
  ? `branch ${proxyContext.branchRef}`
@@ -111,7 +116,7 @@ export async function workflowCommand(options) {
111
116
  ? "main"
112
117
  : `${projectDir}/workflows/...`;
113
118
  cliLogger.info(`Discovering workflows in ${sourceLabel}`);
114
- const discovery = await discoverProjectAgentRuntime({
119
+ const discovery = await discoverRuntime({
115
120
  projectDir,
116
121
  adapter,
117
122
  verbose: options.debug,
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.925",
3
+ "version": "0.1.927",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -7,6 +7,13 @@ import type { NodeTelemetryInitializeOptions, NodeTelemetryProvider, SpanData, T
7
7
  interface ShimTracerProvider {
8
8
  getTracer(name: string, version?: string): unknown;
9
9
  }
10
+ type MetricsAPI = {
11
+ getMeter(name: string | undefined, version?: string): unknown;
12
+ };
13
+ type TraceAPI = {
14
+ getActiveSpan(): unknown;
15
+ getSpan(ctx: unknown): unknown;
16
+ };
10
17
  type EnvReader = (name: string) => string | undefined;
11
18
  export interface ResolvedOtlpExtensionConfig {
12
19
  serviceName: string;
@@ -23,18 +30,14 @@ export declare function resolveOtlpExtensionConfig(read?: EnvReader): ResolvedOt
23
30
  declare class OtlpTracingExporter implements TracingExporter {
24
31
  private sdkProvider;
25
32
  private meterProvider;
26
- private metricReader;
33
+ private metricsApi;
34
+ private traceApi;
27
35
  start(_ctxConfig: Record<string, unknown>): Promise<void>;
28
36
  export(_spans: SpanData[]): Promise<void>;
29
37
  shutdown(): Promise<void>;
30
38
  getProvider(): ShimTracerProvider;
31
- getMetricsAPI(): {
32
- getMeter(name: string | undefined, version?: string): unknown;
33
- } | null;
34
- getTraceAPI(): {
35
- getActiveSpan(): unknown;
36
- getSpan(ctx: unknown): unknown;
37
- } | null;
39
+ getMetricsAPI(): MetricsAPI | null;
40
+ getTraceAPI(): TraceAPI | null;
38
41
  }
39
42
  declare class OpenTelemetryNodeTelemetryProvider implements NodeTelemetryProvider {
40
43
  private sdk;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-observability-opentelemetry/src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EACrB,QAAQ,EACR,eAAe,EAChB,MAAM,gDAAgD,CAAC;AAmBxD;;;GAGG;AACH,UAAU,kBAAkB;IAC1B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACpD;AAED,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAgCD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,QAAQ,GAAG,SAAS,GAC3B,MAAM,GAAG,SAAS,CAKpB;AAED,wBAAgB,0BAA0B,CACxC,IAAI,GAAE,SAAmB,GACxB,2BAA2B,CAqB7B;AAED,cAAM,mBAAoB,YAAW,eAAe;IAClD,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAA8C;IAE5D,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsEzD,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B,WAAW,IAAI,kBAAkB;IAOjC,aAAa,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI;IAKzF,WAAW,IAAI;QAAE,aAAa,IAAI,OAAO,CAAC;QAAC,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI;CAOnF;AAED,cAAM,kCAAmC,YAAW,qBAAqB;IACvE,OAAO,CAAC,GAAG,CAAwB;IAE7B,UAAU,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,OAAO,CAAC;IA0CrE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAQhC;AAED;;;;;GAKG;AACH,QAAA,MAAM,gBAAgB,EAAE,gBAqCvB,CAAC;AAEF,eAAe,gBAAgB,CAAC;AAChC,OAAO,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-observability-opentelemetry/src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EACrB,QAAQ,EACR,eAAe,EAChB,MAAM,gDAAgD,CAAC;AAExD;;;GAGG;AACH,UAAU,kBAAkB;IAC1B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACpD;AAsBD,KAAK,UAAU,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AACpF,KAAK,QAAQ,GAAG;IAAE,aAAa,IAAI,OAAO,CAAC;IAAC,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAA;CAAE,CAAC;AAuG7E,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAgCD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,QAAQ,GAAG,SAAS,GAC3B,MAAM,GAAG,SAAS,CAKpB;AAED,wBAAgB,0BAA0B,CACxC,IAAI,GAAE,SAAmB,GACxB,2BAA2B,CAqB7B;AAED,cAAM,mBAAoB,YAAW,eAAe;IAClD,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,QAAQ,CAAyB;IAEnC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2EzD,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB/B,WAAW,IAAI,kBAAkB;IAKjC,aAAa,IAAI,UAAU,GAAG,IAAI;IAIlC,WAAW,IAAI,QAAQ,GAAG,IAAI;CAG/B;AAED,cAAM,kCAAmC,YAAW,qBAAqB;IACvE,OAAO,CAAC,GAAG,CAA8C;IAEnD,UAAU,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,OAAO,CAAC;IA6CrE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAQhC;AAED;;;;;GAKG;AACH,QAAA,MAAM,gBAAgB,EAAE,gBAqCvB,CAAC;AAEF,eAAe,gBAAgB,CAAC;AAChC,OAAO,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,CAAC"}
@@ -14,17 +14,82 @@
14
14
  * @module extensions/ext-observability-opentelemetry
15
15
  */
16
16
  import * as dntShim from "../../../_dnt.shims.js";
17
- import { metrics, trace } from "@opentelemetry/api";
18
- import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
19
- import { W3CTraceContextPropagator } from "@opentelemetry/core";
20
- import { AsyncLocalStorageContextManager } from "@opentelemetry/context-async-hooks";
21
- import { NodeSDK } from "@opentelemetry/sdk-node";
22
- import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
23
- import { MeterProvider, PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
24
- import { BasicTracerProvider, BatchSpanProcessor, ParentBasedSampler, TraceIdRatioBasedSampler, } from "@opentelemetry/sdk-trace-base";
25
- import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
26
- import { resourceFromAttributes } from "@opentelemetry/resources";
27
- import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
17
+ const NOOP_SPAN = {
18
+ setAttribute() {
19
+ return NOOP_SPAN;
20
+ },
21
+ setAttributes() {
22
+ return NOOP_SPAN;
23
+ },
24
+ setStatus() {
25
+ return NOOP_SPAN;
26
+ },
27
+ recordException() { },
28
+ addEvent() {
29
+ return NOOP_SPAN;
30
+ },
31
+ end() { },
32
+ spanContext() {
33
+ return {
34
+ traceId: "00000000000000000000000000000000",
35
+ spanId: "0000000000000000",
36
+ traceFlags: 0,
37
+ };
38
+ },
39
+ updateName() { },
40
+ };
41
+ const NOOP_TRACER = {
42
+ startSpan() {
43
+ return NOOP_SPAN;
44
+ },
45
+ startActiveSpan(_name, optionsOrFn, contextOrFn, fn) {
46
+ const callback = typeof optionsOrFn === "function"
47
+ ? optionsOrFn
48
+ : typeof contextOrFn === "function"
49
+ ? contextOrFn
50
+ : fn;
51
+ return callback?.(NOOP_SPAN);
52
+ },
53
+ };
54
+ const NOOP_TRACER_PROVIDER = {
55
+ getTracer() {
56
+ return NOOP_TRACER;
57
+ },
58
+ };
59
+ async function loadOpenTelemetryRuntime() {
60
+ try {
61
+ const [api, autoInstrumentations, core, contextAsyncHooks, sdkNode, metricsExporter, sdkMetrics, sdkTraceBase, traceExporter, resources, semanticConventions,] = await Promise.all([
62
+ import("@opentelemetry/api"),
63
+ import("@opentelemetry/auto-instrumentations-node"),
64
+ import("@opentelemetry/core"),
65
+ import("@opentelemetry/context-async-hooks"),
66
+ import("@opentelemetry/sdk-node"),
67
+ import("@opentelemetry/exporter-metrics-otlp-http"),
68
+ import("@opentelemetry/sdk-metrics"),
69
+ import("@opentelemetry/sdk-trace-base"),
70
+ import("@opentelemetry/exporter-trace-otlp-http"),
71
+ import("@opentelemetry/resources"),
72
+ import("@opentelemetry/semantic-conventions"),
73
+ ]);
74
+ return {
75
+ api,
76
+ autoInstrumentations,
77
+ core,
78
+ contextAsyncHooks,
79
+ sdkNode,
80
+ metricsExporter,
81
+ sdkMetrics,
82
+ sdkTraceBase,
83
+ traceExporter,
84
+ resources,
85
+ semanticConventions,
86
+ };
87
+ }
88
+ catch (error) {
89
+ const detail = error instanceof Error ? error.message : String(error);
90
+ throw new Error(`OpenTelemetry observability requires the optional @opentelemetry packages to be installed. ${detail}`);
91
+ }
92
+ }
28
93
  function readEnv(name) {
29
94
  try {
30
95
  return dntShim.dntGlobalThis.Deno?.env
@@ -81,57 +146,62 @@ export function resolveOtlpExtensionConfig(read = readEnv) {
81
146
  class OtlpTracingExporter {
82
147
  sdkProvider = null;
83
148
  meterProvider = null;
84
- metricReader = null;
149
+ metricsApi = null;
150
+ traceApi = null;
85
151
  async start(_ctxConfig) {
86
152
  const cfg = resolveOtlpExtensionConfig(readEnv);
87
153
  // Honor OTEL_TRACES_ENABLED: when unset/false, skip exporter wiring so
88
154
  // deployments opting out never create OTLP traffic or set globals.
89
155
  if (!cfg.tracesEnabled && !cfg.metricsEnabled)
90
156
  return;
91
- const resource = resourceFromAttributes({
92
- [ATTR_SERVICE_NAME]: cfg.serviceName,
93
- [ATTR_SERVICE_VERSION]: cfg.serviceVersion,
157
+ const otel = await loadOpenTelemetryRuntime();
158
+ const resource = otel.resources.resourceFromAttributes({
159
+ [otel.semanticConventions.ATTR_SERVICE_NAME]: cfg.serviceName,
160
+ [otel.semanticConventions.ATTR_SERVICE_VERSION]: cfg.serviceVersion,
94
161
  });
95
162
  if (cfg.tracesEnabled) {
96
163
  if (!cfg.tracesUrl) {
97
164
  throw new Error("OTEL_TRACES_ENABLED=true requires OTEL_EXPORTER_OTLP_ENDPOINT or OTEL_EXPORTER_OTLP_TRACES_ENDPOINT");
98
165
  }
99
- const exporter = new OTLPTraceExporter({
166
+ const exporter = new otel.traceExporter.OTLPTraceExporter({
100
167
  url: cfg.tracesUrl,
101
168
  headers: cfg.headers,
102
169
  });
103
- const provider = new BasicTracerProvider({
170
+ const provider = new otel.sdkTraceBase.BasicTracerProvider({
104
171
  resource,
105
- spanProcessors: [new BatchSpanProcessor(exporter)],
172
+ spanProcessors: [new otel.sdkTraceBase.BatchSpanProcessor(exporter)],
106
173
  });
107
174
  // Wire OTel SDK globals so the real API delegates to this provider.
108
175
  // The shim also gets wired separately in bootstrap.ts via getProvider().
109
- trace.setGlobalTracerProvider(provider);
110
- const contextManager = new AsyncLocalStorageContextManager();
176
+ otel.api.trace.setGlobalTracerProvider(provider);
177
+ const contextManager = new otel.contextAsyncHooks.AsyncLocalStorageContextManager();
111
178
  contextManager.enable();
112
- const propagator = new W3CTraceContextPropagator();
113
- // Set propagator via OTel API (import is available in this extension).
114
- const { propagation, context: otelContext } = await import("@opentelemetry/api");
115
- propagation.setGlobalPropagator(propagator);
116
- otelContext.setGlobalContextManager(contextManager);
179
+ const propagator = new otel.core.W3CTraceContextPropagator();
180
+ otel.api.propagation.setGlobalPropagator(propagator);
181
+ otel.api.context.setGlobalContextManager(contextManager);
117
182
  this.sdkProvider = provider;
183
+ this.traceApi = {
184
+ getActiveSpan: () => otel.api.trace.getActiveSpan(),
185
+ getSpan: (ctx) => otel.api.trace.getSpan(ctx),
186
+ };
118
187
  }
119
188
  if (cfg.metricsEnabled) {
120
189
  if (!cfg.metricsUrl) {
121
190
  throw new Error("OTEL_METRICS_ENABLED=true requires OTEL_EXPORTER_OTLP_ENDPOINT or OTEL_EXPORTER_OTLP_METRICS_ENDPOINT");
122
191
  }
123
- this.metricReader = new PeriodicExportingMetricReader({
124
- exporter: new OTLPMetricExporter({
192
+ const metricReader = new otel.sdkMetrics.PeriodicExportingMetricReader({
193
+ exporter: new otel.metricsExporter.OTLPMetricExporter({
125
194
  url: cfg.metricsUrl,
126
195
  headers: cfg.headers,
127
196
  }),
128
197
  exportIntervalMillis: cfg.metricsExportIntervalMillis,
129
198
  });
130
- this.meterProvider = new MeterProvider({
199
+ this.meterProvider = new otel.sdkMetrics.MeterProvider({
131
200
  resource,
132
- readers: [this.metricReader],
201
+ readers: [metricReader],
133
202
  });
134
- metrics.setGlobalMeterProvider(this.meterProvider);
203
+ otel.api.metrics.setGlobalMeterProvider(this.meterProvider);
204
+ this.metricsApi = otel.api.metrics;
135
205
  }
136
206
  }
137
207
  // eslint-disable-next-line require-await
@@ -146,7 +216,6 @@ class OtlpTracingExporter {
146
216
  }
147
217
  finally {
148
218
  this.meterProvider = null;
149
- this.metricReader = null;
150
219
  }
151
220
  }
152
221
  if (this.sdkProvider) {
@@ -161,43 +230,38 @@ class OtlpTracingExporter {
161
230
  getProvider() {
162
231
  if (this.sdkProvider)
163
232
  return this.sdkProvider;
164
- // Return a passthrough to OTel's real global provider if start() wasn't
165
- // called (e.g., test scaffolding without full setup).
166
- return trace.getTracerProvider();
233
+ return NOOP_TRACER_PROVIDER;
167
234
  }
168
235
  getMetricsAPI() {
169
- // Return the OTel Metrics API so the core metrics subsystem can get meters.
170
- return metrics;
236
+ return this.metricsApi;
171
237
  }
172
238
  getTraceAPI() {
173
- if (!this.sdkProvider)
174
- return null;
175
- return {
176
- getActiveSpan: () => trace.getActiveSpan(),
177
- getSpan: (ctx) => trace.getSpan(ctx),
178
- };
239
+ return this.traceApi;
179
240
  }
180
241
  }
181
242
  class OpenTelemetryNodeTelemetryProvider {
182
243
  sdk = null;
183
244
  async initialize(options) {
184
- const resource = resourceFromAttributes({
245
+ const otel = await loadOpenTelemetryRuntime();
246
+ const resource = otel.resources.resourceFromAttributes({
185
247
  "service.name": options.serviceName,
186
248
  "service.version": options.serviceVersion,
187
249
  "deployment.environment": options.deploymentEnvironment,
188
250
  });
189
- const traceExporter = new OTLPTraceExporter({ headers: options.exporterHeaders });
190
- const sdk = new NodeSDK({
251
+ const traceExporter = new otel.traceExporter.OTLPTraceExporter({
252
+ headers: options.exporterHeaders,
253
+ });
254
+ const sdk = new otel.sdkNode.NodeSDK({
191
255
  resource,
192
- sampler: new ParentBasedSampler({
193
- root: new TraceIdRatioBasedSampler(options.samplingRatio),
256
+ sampler: new otel.sdkTraceBase.ParentBasedSampler({
257
+ root: new otel.sdkTraceBase.TraceIdRatioBasedSampler(options.samplingRatio),
194
258
  }),
195
- spanProcessor: new BatchSpanProcessor(traceExporter, {
259
+ spanProcessor: new otel.sdkTraceBase.BatchSpanProcessor(traceExporter, {
196
260
  maxExportBatchSize: 100,
197
261
  scheduledDelayMillis: 500,
198
262
  }),
199
263
  instrumentations: [
200
- getNodeAutoInstrumentations({
264
+ otel.autoInstrumentations.getNodeAutoInstrumentations({
201
265
  "@opentelemetry/instrumentation-fs": { enabled: options.instrumentation.fs },
202
266
  "@opentelemetry/instrumentation-http": { enabled: options.instrumentation.http },
203
267
  "@opentelemetry/instrumentation-express": { enabled: options.instrumentation.express },
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.925";
2
+ export declare const VERSION = "0.1.927";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.925";
4
+ export const VERSION = "0.1.927";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.925",
3
+ "version": "0.1.927",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",
@@ -310,12 +310,18 @@
310
310
  "@opentelemetry/core": {
311
311
  "optional": true
312
312
  },
313
+ "@opentelemetry/exporter-metrics-otlp-http": {
314
+ "optional": true
315
+ },
313
316
  "@opentelemetry/exporter-trace-otlp-http": {
314
317
  "optional": true
315
318
  },
316
319
  "@opentelemetry/resources": {
317
320
  "optional": true
318
321
  },
322
+ "@opentelemetry/sdk-metrics": {
323
+ "optional": true
324
+ },
319
325
  "@opentelemetry/sdk-node": {
320
326
  "optional": true
321
327
  },
@@ -332,8 +338,6 @@
332
338
  "@babel/traverse": "7.29.0",
333
339
  "@babel/types": "7.29.0",
334
340
  "@mdx-js/mdx": "3.1.1",
335
- "@opentelemetry/exporter-metrics-otlp-http": "0.219.0",
336
- "@opentelemetry/sdk-metrics": "2.8.0",
337
341
  "@types/hast": "3.0.3",
338
342
  "@types/mdast": "4.0.3",
339
343
  "@types/unist": "3.0.2",
@@ -376,8 +380,10 @@
376
380
  "@opentelemetry/auto-instrumentations-node": "0.77.0",
377
381
  "@opentelemetry/context-async-hooks": "2.8.0",
378
382
  "@opentelemetry/core": "2.8.0",
383
+ "@opentelemetry/exporter-metrics-otlp-http": "0.219.0",
379
384
  "@opentelemetry/exporter-trace-otlp-http": "0.219.0",
380
385
  "@opentelemetry/resources": "2.8.0",
386
+ "@opentelemetry/sdk-metrics": "2.8.0",
381
387
  "@opentelemetry/sdk-node": "0.219.0",
382
388
  "@opentelemetry/sdk-trace-base": "2.8.0",
383
389
  "@opentelemetry/semantic-conventions": "1.41.1"