trodo-node 2.3.0 → 2.4.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 (39) hide show
  1. package/README.md +38 -0
  2. package/dist/cjs/TrodoClient.js +22 -1
  3. package/dist/cjs/TrodoClient.js.map +1 -1
  4. package/dist/cjs/index.js +29 -0
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/otel/registerOTel.js +211 -0
  7. package/dist/cjs/otel/registerOTel.js.map +1 -0
  8. package/dist/cjs/otel/transport.js +27 -0
  9. package/dist/cjs/otel/transport.js.map +1 -0
  10. package/dist/cjs/otel/wrapAgent.js +162 -0
  11. package/dist/cjs/otel/wrapAgent.js.map +1 -1
  12. package/dist/cjs/session/ServerSession.js +1 -0
  13. package/dist/cjs/session/ServerSession.js.map +1 -1
  14. package/dist/esm/TrodoClient.d.ts +6 -0
  15. package/dist/esm/TrodoClient.d.ts.map +1 -1
  16. package/dist/esm/TrodoClient.js +22 -1
  17. package/dist/esm/TrodoClient.js.map +1 -1
  18. package/dist/esm/index.d.ts +19 -0
  19. package/dist/esm/index.d.ts.map +1 -1
  20. package/dist/esm/index.js +28 -0
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/otel/registerOTel.d.ts +72 -0
  23. package/dist/esm/otel/registerOTel.d.ts.map +1 -0
  24. package/dist/esm/otel/registerOTel.js +207 -0
  25. package/dist/esm/otel/registerOTel.js.map +1 -0
  26. package/dist/esm/otel/transport.d.ts +31 -0
  27. package/dist/esm/otel/transport.d.ts.map +1 -0
  28. package/dist/esm/otel/transport.js +21 -0
  29. package/dist/esm/otel/transport.js.map +1 -0
  30. package/dist/esm/otel/wrapAgent.d.ts +11 -0
  31. package/dist/esm/otel/wrapAgent.d.ts.map +1 -1
  32. package/dist/esm/otel/wrapAgent.js +162 -0
  33. package/dist/esm/otel/wrapAgent.js.map +1 -1
  34. package/dist/esm/session/ServerSession.d.ts.map +1 -1
  35. package/dist/esm/session/ServerSession.js +1 -0
  36. package/dist/esm/session/ServerSession.js.map +1 -1
  37. package/dist/esm/types/index.d.ts +15 -0
  38. package/dist/esm/types/index.d.ts.map +1 -1
  39. package/package.json +13 -5
package/README.md CHANGED
@@ -14,6 +14,44 @@ Node 18+ uses native `fetch`. For Node 16/17, install the optional peer dependen
14
14
  npm install trodo-node node-fetch
15
15
  ```
16
16
 
17
+ ## OpenTelemetry / OTLP path (NEW in 2.4.0)
18
+
19
+ Already running OTel? Skip the Trodo SDK install entirely and point your existing pipeline at Trodo. Two env vars:
20
+
21
+ ```bash
22
+ # .env.local
23
+ OTEL_EXPORTER_OTLP_ENDPOINT=https://sdkapi.trodo.ai
24
+ OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer ${TRODO_SITE_ID}
25
+ ```
26
+
27
+ The Bearer token is your **site_id** — same value you'd pass to `trodo.init({ siteId })`. Get it from the [Integration Manager](https://app.trodo.ai/dashboard/integrations).
28
+
29
+ Use this when:
30
+ - **NextJS + Vercel AI SDK with `@vercel/otel`** — auto-instrumented `generateText` / `streamText` / tool calls flow into Trodo. Pass `experimental_telemetry.metadata.{userId, sessionId, agentName, ...}` and they map to `distinct_id` / `conversation_id` / `agent_name` / custom `run.metadata`.
31
+ - **You already run OTel** (Datadog, Jaeger, Honeycomb) and want Trodo as an additional destination. Install `trodo-node` and call `trodo.registerOTel({ siteId, mode: 'otlp' })` to attach our OTLP exporter without replacing your existing setup. `wrapAgent` / `withSpan` / `tool` then route through OTel so auto-instrumented children share the same trace.
32
+
33
+ ```typescript
34
+ // instrumentation.ts (NextJS root or src/)
35
+ import { registerOTel } from 'trodo-node';
36
+
37
+ registerOTel({
38
+ siteId: process.env.TRODO_SITE_ID!,
39
+ mode: 'otlp',
40
+ });
41
+ ```
42
+
43
+ `mode: 'otlp'` requires these optional peer deps:
44
+
45
+ ```bash
46
+ npm install @opentelemetry/api @opentelemetry/sdk-node \
47
+ @opentelemetry/sdk-trace-base @opentelemetry/exporter-trace-otlp-proto \
48
+ @opentelemetry/resources
49
+ ```
50
+
51
+ The SDK throws a friendly install hint if you call `mode: 'otlp'` without them.
52
+
53
+ For richer Trodo features on top (`wrapAgent`, `feedback`, `trackMcp`), continue with the SDK quick start below.
54
+
17
55
  ## Quick Start
18
56
 
19
57
  ```javascript
@@ -11,6 +11,7 @@ const processor_js_1 = require("./otel/processor.js");
11
11
  const wrapAgent_js_1 = require("./otel/wrapAgent.js");
12
12
  const helpers_js_1 = require("./otel/helpers.js");
13
13
  const autoInstrument_js_1 = require("./otel/autoInstrument.js");
14
+ const registerOTel_js_1 = require("./otel/registerOTel.js");
14
15
  const DEFAULT_API_BASE = 'https://sdkapi.trodo.ai';
15
16
  class TrodoClient {
16
17
  constructor(config) {
@@ -37,7 +38,20 @@ class TrodoClient {
37
38
  this.spanProcessor = new processor_js_1.TrodoSpanProcessor({ apiClient: this.apiClient });
38
39
  // Default ON — matches Python SDK. Opt out with autoInstrument: false.
39
40
  if (config.autoInstrument !== false) {
40
- (0, autoInstrument_js_1.enableAutoInstrument)({ processor: this.spanProcessor });
41
+ const useLegacy = process.env.TRODO_LEGACY_INIT === '1';
42
+ if (useLegacy) {
43
+ // Escape hatch for one minor version: bypass registerOTel and use the
44
+ // pre-2.4 enableAutoInstrument path directly.
45
+ (0, autoInstrument_js_1.enableAutoInstrument)({ processor: this.spanProcessor });
46
+ }
47
+ else {
48
+ (0, registerOTel_js_1.registerOTel)({
49
+ mode: config.otelMode ?? 'trodo',
50
+ siteId: this.siteId,
51
+ endpoint: this.apiBase,
52
+ processor: this.spanProcessor,
53
+ });
54
+ }
41
55
  }
42
56
  const client = this;
43
57
  this.people = {
@@ -53,6 +67,13 @@ class TrodoClient {
53
67
  deleteUser: (d) => client.forUser(d).people.deleteUser(),
54
68
  };
55
69
  }
70
+ /**
71
+ * Internal: expose the span processor to registerOTel. Not part of the
72
+ * public surface; subject to change between minors.
73
+ */
74
+ _getSpanProcessor() {
75
+ return this.spanProcessor;
76
+ }
56
77
  // --------------------------------------------------------------------------
57
78
  // Primary pattern: forUser()
58
79
  // --------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"TrodoClient.js","sourceRoot":"","sources":["../../src/TrodoClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrodoClient.js","sourceRoot":"","sources":["../../src/TrodoClient.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -63,6 +63,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
63
63
  Object.defineProperty(exports, "__esModule", { value: true });
64
64
  exports.people = exports.getTracer = exports.retrieval = exports.llm = exports.trace = exports.propagationHeaders = exports.currentSpanId = exports.currentRunId = exports.getActiveContext = exports.UserContext = exports.TrodoClient = void 0;
65
65
  exports.init = init;
66
+ exports.registerOTel = registerOTel;
66
67
  exports.forUser = forUser;
67
68
  exports.track = track;
68
69
  exports.identify = identify;
@@ -103,6 +104,7 @@ Object.defineProperty(exports, "trace", { enumerable: true, get: function () { r
103
104
  Object.defineProperty(exports, "llm", { enumerable: true, get: function () { return helpers_js_1.llm; } });
104
105
  Object.defineProperty(exports, "retrieval", { enumerable: true, get: function () { return helpers_js_1.retrieval; } });
105
106
  Object.defineProperty(exports, "getTracer", { enumerable: true, get: function () { return helpers_js_1.getTracer; } });
107
+ const registerOTel_js_1 = require("./otel/registerOTel.js");
106
108
  // ============================================================================
107
109
  // Singleton convenience API
108
110
  // ============================================================================
@@ -118,6 +120,32 @@ function init(config) {
118
120
  _client = new TrodoClient_js_2.TrodoClient(config);
119
121
  return _client;
120
122
  }
123
+ /**
124
+ * Configure the OTel pipeline with one call. Auto-creates the singleton
125
+ * TrodoClient if init() hasn't been called yet, so this can replace init()
126
+ * for OTel-first deployments.
127
+ *
128
+ * Example (OTLP mode for use alongside Datadog/Jaeger):
129
+ * import { registerOTel } from 'trodo-node';
130
+ * registerOTel({ siteId: process.env.TRODO_SITE_ID!, mode: 'otlp' });
131
+ */
132
+ function registerOTel(opts) {
133
+ if (!_client) {
134
+ if (!opts.siteId) {
135
+ throw new Error('registerOTel: pass siteId, or call trodo.init({ siteId }) first.');
136
+ }
137
+ // Suppress the legacy autoInstrument inside the client constructor —
138
+ // registerOTel below is what wires the pipeline.
139
+ _client = new TrodoClient_js_2.TrodoClient({ siteId: opts.siteId, autoInstrument: false });
140
+ }
141
+ return (0, registerOTel_js_1.registerOTel)({
142
+ mode: opts.mode,
143
+ siteId: opts.siteId ?? _client.siteId,
144
+ endpoint: opts.endpoint,
145
+ serviceName: opts.serviceName,
146
+ processor: _client._getSpanProcessor(),
147
+ });
148
+ }
121
149
  /** Return a UserContext bound to the given distinctId. */
122
150
  function forUser(distinctId, options) {
123
151
  return getClient().forUser(distinctId, options);
@@ -236,6 +264,7 @@ function feedback(runId, props) {
236
264
  // Default export: the singleton namespace (matches frontend SDK pattern)
237
265
  const trodo = {
238
266
  init,
267
+ registerOTel,
239
268
  forUser,
240
269
  track,
241
270
  identify,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerOTel = registerOTel;
4
+ exports._resetForTests = _resetForTests;
5
+ const autoInstrument_js_1 = require("./autoInstrument.js");
6
+ const transport_js_1 = require("./transport.js");
7
+ let _registered = null;
8
+ /**
9
+ * Configure Trodo's OTel pipeline. See file doc-comment for mode semantics.
10
+ *
11
+ * Returns the configured mode + active instrumentations + a `fresh` flag
12
+ * indicating whether this call did the setup or hit the idempotency cache.
13
+ */
14
+ function registerOTel(opts) {
15
+ if (_registered) {
16
+ // eslint-disable-next-line no-console
17
+ console.warn('[trodo] registerOTel already called; returning existing configuration. ' +
18
+ 'Pass { mode } only at startup.');
19
+ return _registered;
20
+ }
21
+ if (!opts.siteId)
22
+ throw new Error('registerOTel: siteId is required');
23
+ if (!opts.processor) {
24
+ throw new Error('registerOTel: processor is required (typically passed automatically via init()/TrodoClient).');
25
+ }
26
+ const mode = opts.mode ?? 'trodo';
27
+ const serviceName = opts.serviceName ?? 'trodo-agent';
28
+ const endpoint = (opts.endpoint ?? 'https://sdkapi.trodo.ai').replace(/\/+$/, '');
29
+ let active = [];
30
+ if (mode === 'trodo') {
31
+ // Default path — same wiring as legacy enableAutoInstrument.
32
+ active = (0, autoInstrument_js_1.enableAutoInstrument)({
33
+ processor: opts.processor,
34
+ disable: opts.disableInstrumentations,
35
+ });
36
+ }
37
+ else {
38
+ active = setupOtlpMode({
39
+ siteId: opts.siteId,
40
+ endpoint,
41
+ serviceName,
42
+ disable: opts.disableInstrumentations,
43
+ processor: opts.processor,
44
+ });
45
+ }
46
+ _registered = { mode, activeInstrumentations: active, fresh: true };
47
+ return _registered;
48
+ }
49
+ /**
50
+ * Reset internal state — for tests only. Not exported from index.ts.
51
+ */
52
+ function _resetForTests() {
53
+ _registered = null;
54
+ (0, transport_js_1._resetTransportForTests)();
55
+ }
56
+ function setupOtlpMode(params) {
57
+ // Lazy-require OTel deps: only users who pick 'otlp' mode pay the bundle
58
+ // cost / install the peer deps. Print a friendly hint if missing.
59
+ let NodeSDK;
60
+ let Resource;
61
+ let OTLPTraceExporter;
62
+ let BatchSpanProcessor;
63
+ let getTracer = null;
64
+ try {
65
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
66
+ NodeSDK = require('@opentelemetry/sdk-node').NodeSDK;
67
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
68
+ Resource = require('@opentelemetry/resources').Resource;
69
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
70
+ OTLPTraceExporter =
71
+ require('@opentelemetry/exporter-trace-otlp-proto').OTLPTraceExporter;
72
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
73
+ BatchSpanProcessor = require('@opentelemetry/sdk-trace-base').BatchSpanProcessor;
74
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
75
+ const apiMod = require('@opentelemetry/api');
76
+ getTracer = (name) => apiMod.trace.getTracer(name);
77
+ }
78
+ catch (e) {
79
+ throw new Error("registerOTel(mode: 'otlp') requires the OTel SDK + protobuf exporter. " +
80
+ 'Install with:\n\n' +
81
+ ' npm install @opentelemetry/sdk-node @opentelemetry/sdk-trace-base ' +
82
+ '@opentelemetry/exporter-trace-otlp-proto @opentelemetry/resources\n\n' +
83
+ `Original error: ${e.message}`);
84
+ }
85
+ // Build instrumentations using the same factory list as the legacy path,
86
+ // but DO NOT wire them through TrodoSpanProcessor — they ship to OTLP.
87
+ const instrumentations = collectInstrumentations(params.disable);
88
+ // Coexistence with an existing OTel pipeline: if a non-noop tracer provider
89
+ // is already registered, attach our exporter to it instead of starting a
90
+ // fresh NodeSDK (which would replace it).
91
+ const existing = tryGetExistingTracerProvider();
92
+ const exporter = new OTLPTraceExporter({
93
+ url: `${params.endpoint}/v1/traces`,
94
+ headers: { Authorization: `Bearer ${params.siteId}` },
95
+ });
96
+ const batchProcessor = new BatchSpanProcessor(exporter);
97
+ if (existing && typeof existing.addSpanProcessor === 'function') {
98
+ existing.addSpanProcessor(batchProcessor);
99
+ // Auto-instrumentations may already be registered by the existing pipeline
100
+ // — don't double-register. But we still need to bridge the wrapAgent path.
101
+ if (getTracer) {
102
+ const tracer = getTracer('trodo-agent');
103
+ (0, transport_js_1.setOtelTransport)(tracer);
104
+ }
105
+ return instrumentations.activeIds;
106
+ }
107
+ // Fresh pipeline.
108
+ const ResourceCtor = Resource;
109
+ const NodeSDKCtor = NodeSDK;
110
+ const sdk = new NodeSDKCtor({
111
+ resource: new ResourceCtor({
112
+ 'service.name': params.serviceName,
113
+ // Hint to backend: this came from the SDK's registerOTel helper.
114
+ 'trodo.sdk.mode': 'otlp',
115
+ }),
116
+ spanProcessor: batchProcessor,
117
+ instrumentations: instrumentations.objects,
118
+ });
119
+ sdk.start();
120
+ // Activate the OTel transport so wrapAgent / withSpan dispatch through the
121
+ // OTel tracer instead of TrodoSpanProcessor. trackMcp / startRun / endRun /
122
+ // joinRun / feedback continue using their own HTTP API endpoints regardless
123
+ // of mode — they have nothing to gain from OTel routing.
124
+ if (getTracer) {
125
+ const tracer = getTracer('trodo-agent');
126
+ (0, transport_js_1.setOtelTransport)(tracer);
127
+ }
128
+ // otelAdapter remains available for users wanting the legacy bridge — kept
129
+ // exported but not auto-registered in 'otlp' mode (would cause double-write).
130
+ void autoInstrument_js_1.otelAdapter;
131
+ return instrumentations.activeIds;
132
+ }
133
+ function collectInstrumentations(disable) {
134
+ const disabled = new Set(disable || []);
135
+ const objects = [];
136
+ const activeIds = [];
137
+ const specs = [
138
+ {
139
+ id: 'anthropic',
140
+ loader: () => new (require('@opentelemetry/instrumentation-anthropic')).AnthropicInstrumentation(),
141
+ },
142
+ {
143
+ id: 'openai',
144
+ loader: () => new (require('@opentelemetry/instrumentation-openai')).OpenAIInstrumentation(),
145
+ },
146
+ {
147
+ id: 'langchain',
148
+ loader: () => new (require('@opentelemetry/instrumentation-langchain')).LangChainInstrumentation(),
149
+ },
150
+ {
151
+ id: 'bedrock',
152
+ loader: () => new (require('@opentelemetry/instrumentation-bedrock')).BedrockInstrumentation(),
153
+ },
154
+ {
155
+ id: 'cohere',
156
+ loader: () => new (require('@opentelemetry/instrumentation-cohere')).CohereInstrumentation(),
157
+ },
158
+ {
159
+ id: 'google-generativeai',
160
+ loader: () => new (require('@opentelemetry/instrumentation-google-generativeai')).GoogleGenerativeAIInstrumentation(),
161
+ },
162
+ {
163
+ id: 'vertexai',
164
+ loader: () => new (require('@opentelemetry/instrumentation-vertexai')).VertexAIInstrumentation(),
165
+ },
166
+ {
167
+ id: 'llama-index',
168
+ loader: () => new (require('@opentelemetry/instrumentation-llamaindex')).LlamaIndexInstrumentation(),
169
+ },
170
+ {
171
+ id: 'http',
172
+ loader: () => new (require('@opentelemetry/instrumentation-http')).HttpInstrumentation(),
173
+ },
174
+ {
175
+ id: 'fetch',
176
+ loader: () => new (require('@opentelemetry/instrumentation-fetch')).FetchInstrumentation(),
177
+ },
178
+ ];
179
+ for (const spec of specs) {
180
+ if (disabled.has(spec.id))
181
+ continue;
182
+ try {
183
+ objects.push(spec.loader());
184
+ activeIds.push(spec.id);
185
+ }
186
+ catch {
187
+ /* package not installed — skip silently, matches legacy behavior */
188
+ }
189
+ }
190
+ return { objects, activeIds };
191
+ }
192
+ function tryGetExistingTracerProvider() {
193
+ try {
194
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
195
+ const apiMod = require('@opentelemetry/api');
196
+ const provider = apiMod.trace.getTracerProvider();
197
+ if (!provider)
198
+ return null;
199
+ const ctorName = provider?.constructor?.name || '';
200
+ // ProxyTracerProvider is the no-op default; treat it as "no existing
201
+ // pipeline" so we set one up.
202
+ if (ctorName === 'ProxyTracerProvider' || ctorName === 'NoopTracerProvider') {
203
+ return null;
204
+ }
205
+ return provider;
206
+ }
207
+ catch {
208
+ return null;
209
+ }
210
+ }
211
+ //# sourceMappingURL=registerOTel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerOTel.js","sourceRoot":"","sources":["../../../src/otel/registerOTel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTransportMode = getTransportMode;
4
+ exports.getOtelTracer = getOtelTracer;
5
+ exports.setOtelTransport = setOtelTransport;
6
+ exports._resetTransportForTests = _resetTransportForTests;
7
+ let _mode = 'trodo';
8
+ let _tracer = null;
9
+ /** Read by wrapAgent / withSpan. Defaults to 'trodo' if registerOTel never called. */
10
+ function getTransportMode() {
11
+ return _mode;
12
+ }
13
+ /** Read by wrapAgent / withSpan in 'otlp' mode. */
14
+ function getOtelTracer() {
15
+ return _tracer;
16
+ }
17
+ /** Internal: registerOTel calls this once mode: 'otlp' setup completes. */
18
+ function setOtelTransport(tracer) {
19
+ _mode = 'otlp';
20
+ _tracer = tracer;
21
+ }
22
+ /** Reset for tests. Not exported from index.ts. */
23
+ function _resetTransportForTests() {
24
+ _mode = 'trodo';
25
+ _tracer = null;
26
+ }
27
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/otel/transport.ts"],"names":[],"mappings":";;AAgCA,4CAEC;AAGD,sCAEC;AAGD,4CAGC;AAGD,0DAGC;AAvBD,IAAI,KAAK,GAAkB,OAAO,CAAC;AACnC,IAAI,OAAO,GAA0B,IAAI,CAAC;AAE1C,sFAAsF;AACtF,SAAgB,gBAAgB;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,mDAAmD;AACnD,SAAgB,aAAa;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,SAAgB,gBAAgB,CAAC,MAAsB;IACrD,KAAK,GAAG,MAAM,CAAC;IACf,OAAO,GAAG,MAAM,CAAC;AACnB,CAAC;AAED,mDAAmD;AACnD,SAAgB,uBAAuB;IACrC,KAAK,GAAG,OAAO,CAAC;IAChB,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC"}