langsmith 0.2.1-rc.0 → 0.2.1

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/index.cjs CHANGED
@@ -8,4 +8,4 @@ Object.defineProperty(exports, "RunTree", { enumerable: true, get: function () {
8
8
  var fetch_js_1 = require("./singletons/fetch.cjs");
9
9
  Object.defineProperty(exports, "overrideFetchImplementation", { enumerable: true, get: function () { return fetch_js_1.overrideFetchImplementation; } });
10
10
  // Update using yarn bump-version
11
- exports.__version__ = "0.2.1-rc.0";
11
+ exports.__version__ = "0.2.1";
package/dist/index.d.ts CHANGED
@@ -2,4 +2,4 @@ export { Client, type ClientConfig } from "./client.js";
2
2
  export type { Dataset, Example, TracerSession, Run, Feedback, RetrieverOutput, } from "./schemas.js";
3
3
  export { RunTree, type RunTreeConfig } from "./run_trees.js";
4
4
  export { overrideFetchImplementation } from "./singletons/fetch.js";
5
- export declare const __version__ = "0.2.1-rc.0";
5
+ export declare const __version__ = "0.2.1";
package/dist/index.js CHANGED
@@ -2,4 +2,4 @@ export { Client } from "./client.js";
2
2
  export { RunTree } from "./run_trees.js";
3
3
  export { overrideFetchImplementation } from "./singletons/fetch.js";
4
4
  // Update using yarn bump-version
5
- export const __version__ = "0.2.1-rc.0";
5
+ export const __version__ = "0.2.1";
package/dist/vercel.cjs CHANGED
@@ -156,7 +156,7 @@ const RESERVED_METADATA_KEYS = [
156
156
  * import { AISDKExporter } from "langsmith/vercel";
157
157
  * import { Client } from "langsmith";
158
158
  *
159
- * import { streamText } from "ai";
159
+ * import { generateText } from "ai";
160
160
  * import { openai } from "@ai-sdk/openai";
161
161
  *
162
162
  * import { NodeSDK } from "@opentelemetry/sdk-node";
@@ -181,10 +181,11 @@ const RESERVED_METADATA_KEYS = [
181
181
  * ],
182
182
  * experimental_telemetry: AISDKExporter.getSettings({
183
183
  * runName: "langsmith_traced_call",
184
- * functionId: "functionId",
185
184
  * metadata: { userId: "123", language: "english" },
186
185
  * }),
187
186
  * });
187
+ *
188
+ * await sdk.shutdown();
188
189
  * ```
189
190
  */
190
191
  class AISDKExporter {
@@ -215,11 +216,8 @@ class AISDKExporter {
215
216
  });
216
217
  this.client = args?.client ?? new index_js_1.Client();
217
218
  }
218
- /**
219
- * Helper method for initializing OTEL settings.
220
- */
221
219
  static getSettings(settings) {
222
- const { runId, runName, ...rest } = settings;
220
+ const { runId, runName, ...rest } = settings ?? {};
223
221
  const metadata = { ...rest?.metadata };
224
222
  if (runId != null)
225
223
  metadata[RUN_ID_METADATA_KEY.input] = runId;
@@ -501,10 +499,23 @@ class AISDKExporter {
501
499
  case "ai.embedMany":
502
500
  case "ai.embedMany.doEmbed":
503
501
  default:
504
- console.warn(`Span "${span.name}" is currently unsupported.`);
505
502
  return undefined;
506
503
  }
507
504
  }
505
+ /** @internal */
506
+ isRootRun(span) {
507
+ switch (span.name) {
508
+ case "ai.generateText":
509
+ case "ai.streamText":
510
+ case "ai.generateObject":
511
+ case "ai.streamObject":
512
+ case "ai.embed":
513
+ case "ai.embedMany":
514
+ return true;
515
+ default:
516
+ return false;
517
+ }
518
+ }
508
519
  export(spans, resultCallback) {
509
520
  const typedSpans = spans
510
521
  .slice()
@@ -518,9 +529,13 @@ class AISDKExporter {
518
529
  relativeExecutionOrder: {},
519
530
  };
520
531
  const runId = (0, uuid_1.v5)(spanId, RUN_ID_NAMESPACE);
521
- const parentRunId = parentId
532
+ let parentRunId = parentId
522
533
  ? (0, uuid_1.v5)(parentId, RUN_ID_NAMESPACE)
523
534
  : undefined;
535
+ // in LangSmith we currently only support certain spans
536
+ // which may be deeply nested within other traces
537
+ if (this.isRootRun(span))
538
+ parentRunId = undefined;
524
539
  const traceMap = this.traceByMap[traceId];
525
540
  const run = this.getRunCreate(span);
526
541
  if (!run)
package/dist/vercel.d.ts CHANGED
@@ -15,7 +15,7 @@ export interface TelemetrySettings extends AITelemetrySettings {
15
15
  * import { AISDKExporter } from "langsmith/vercel";
16
16
  * import { Client } from "langsmith";
17
17
  *
18
- * import { streamText } from "ai";
18
+ * import { generateText } from "ai";
19
19
  * import { openai } from "@ai-sdk/openai";
20
20
  *
21
21
  * import { NodeSDK } from "@opentelemetry/sdk-node";
@@ -40,10 +40,11 @@ export interface TelemetrySettings extends AITelemetrySettings {
40
40
  * ],
41
41
  * experimental_telemetry: AISDKExporter.getSettings({
42
42
  * runName: "langsmith_traced_call",
43
- * functionId: "functionId",
44
43
  * metadata: { userId: "123", language: "english" },
45
44
  * }),
46
45
  * });
46
+ *
47
+ * await sdk.shutdown();
47
48
  * ```
48
49
  */
49
50
  export declare class AISDKExporter {
@@ -52,10 +53,7 @@ export declare class AISDKExporter {
52
53
  constructor(args?: {
53
54
  client?: Client;
54
55
  });
55
- /**
56
- * Helper method for initializing OTEL settings.
57
- */
58
- static getSettings(settings: TelemetrySettings): {
56
+ static getSettings(settings?: TelemetrySettings): {
59
57
  isEnabled: boolean;
60
58
  metadata: {
61
59
  [x: string]: import("@opentelemetry/api").AttributeValue;
package/dist/vercel.js CHANGED
@@ -153,7 +153,7 @@ const RESERVED_METADATA_KEYS = [
153
153
  * import { AISDKExporter } from "langsmith/vercel";
154
154
  * import { Client } from "langsmith";
155
155
  *
156
- * import { streamText } from "ai";
156
+ * import { generateText } from "ai";
157
157
  * import { openai } from "@ai-sdk/openai";
158
158
  *
159
159
  * import { NodeSDK } from "@opentelemetry/sdk-node";
@@ -178,10 +178,11 @@ const RESERVED_METADATA_KEYS = [
178
178
  * ],
179
179
  * experimental_telemetry: AISDKExporter.getSettings({
180
180
  * runName: "langsmith_traced_call",
181
- * functionId: "functionId",
182
181
  * metadata: { userId: "123", language: "english" },
183
182
  * }),
184
183
  * });
184
+ *
185
+ * await sdk.shutdown();
185
186
  * ```
186
187
  */
187
188
  export class AISDKExporter {
@@ -212,11 +213,8 @@ export class AISDKExporter {
212
213
  });
213
214
  this.client = args?.client ?? new Client();
214
215
  }
215
- /**
216
- * Helper method for initializing OTEL settings.
217
- */
218
216
  static getSettings(settings) {
219
- const { runId, runName, ...rest } = settings;
217
+ const { runId, runName, ...rest } = settings ?? {};
220
218
  const metadata = { ...rest?.metadata };
221
219
  if (runId != null)
222
220
  metadata[RUN_ID_METADATA_KEY.input] = runId;
@@ -498,10 +496,23 @@ export class AISDKExporter {
498
496
  case "ai.embedMany":
499
497
  case "ai.embedMany.doEmbed":
500
498
  default:
501
- console.warn(`Span "${span.name}" is currently unsupported.`);
502
499
  return undefined;
503
500
  }
504
501
  }
502
+ /** @internal */
503
+ isRootRun(span) {
504
+ switch (span.name) {
505
+ case "ai.generateText":
506
+ case "ai.streamText":
507
+ case "ai.generateObject":
508
+ case "ai.streamObject":
509
+ case "ai.embed":
510
+ case "ai.embedMany":
511
+ return true;
512
+ default:
513
+ return false;
514
+ }
515
+ }
505
516
  export(spans, resultCallback) {
506
517
  const typedSpans = spans
507
518
  .slice()
@@ -515,9 +526,13 @@ export class AISDKExporter {
515
526
  relativeExecutionOrder: {},
516
527
  };
517
528
  const runId = uuid5(spanId, RUN_ID_NAMESPACE);
518
- const parentRunId = parentId
529
+ let parentRunId = parentId
519
530
  ? uuid5(parentId, RUN_ID_NAMESPACE)
520
531
  : undefined;
532
+ // in LangSmith we currently only support certain spans
533
+ // which may be deeply nested within other traces
534
+ if (this.isRootRun(span))
535
+ parentRunId = undefined;
521
536
  const traceMap = this.traceByMap[traceId];
522
537
  const run = this.getRunCreate(span);
523
538
  if (!run)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "langsmith",
3
- "version": "0.2.1-rc.0",
3
+ "version": "0.2.1",
4
4
  "description": "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform.",
5
5
  "packageManager": "yarn@1.22.19",
6
6
  "files": [