From 952017fbe2e76033d6eba66895fe531be8e20797 Mon Sep 17 00:00:00 2001 From: Arjun Natarajan Date: Mon, 2 Jun 2025 17:17:07 -0700 Subject: [PATCH 1/6] feat: support custom tracer when creating run in ts sdk --- libs/sdk-js/src/client.ts | 2 ++ libs/sdk-js/src/types.ts | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/libs/sdk-js/src/client.ts b/libs/sdk-js/src/client.ts index 14ae37583..ab9962e73 100644 --- a/libs/sdk-js/src/client.ts +++ b/libs/sdk-js/src/client.ts @@ -979,6 +979,7 @@ export class RunsClient< after_seconds: payload?.afterSeconds, if_not_exists: payload?.ifNotExists, checkpoint_during: payload?.checkpointDuring, + langsmith_tracer: payload?._langsmithTracer, }; const [run, response] = await this.fetch(`/threads/${threadId}/runs`, { @@ -1059,6 +1060,7 @@ export class RunsClient< after_seconds: payload?.afterSeconds, if_not_exists: payload?.ifNotExists, checkpoint_during: payload?.checkpointDuring, + langsmith_tracer: payload?._langsmithTracer, }; const endpoint = threadId == null ? `/runs/wait` : `/threads/${threadId}/runs/wait`; diff --git a/libs/sdk-js/src/types.ts b/libs/sdk-js/src/types.ts index f9588f890..77050bed8 100644 --- a/libs/sdk-js/src/types.ts +++ b/libs/sdk-js/src/types.ts @@ -140,6 +140,15 @@ interface RunsInvokePayload { * Callback when a run is created. */ onRunCreated?: (params: { run_id: string; thread_id?: string }) => void; + + /** + * @internal + * For LangSmith tracing purposes only. Not part of the public API. + */ + _langsmithTracer?: { + project_name: string; + example_id: string; + }; } export interface RunsStreamPayload< From a75e40192fa4ed8074d4e10b6aa182c83e94c373 Mon Sep 17 00:00:00 2001 From: Arjun Natarajan Date: Mon, 2 Jun 2025 17:18:59 -0700 Subject: [PATCH 2/6] perhaps better typing --- libs/sdk-js/src/client.ts | 7 ++++++- libs/sdk-js/src/types.ts | 6 ++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/libs/sdk-js/src/client.ts b/libs/sdk-js/src/client.ts index ab9962e73..d48322880 100644 --- a/libs/sdk-js/src/client.ts +++ b/libs/sdk-js/src/client.ts @@ -1060,7 +1060,12 @@ export class RunsClient< after_seconds: payload?.afterSeconds, if_not_exists: payload?.ifNotExists, checkpoint_during: payload?.checkpointDuring, - langsmith_tracer: payload?._langsmithTracer, + langsmith_tracer: payload?._langsmithTracer + ? { + project_name: payload?._langsmithTracer?.projectName, + example_id: payload?._langsmithTracer?.exampleId, + } + : undefined, }; const endpoint = threadId == null ? `/runs/wait` : `/threads/${threadId}/runs/wait`; diff --git a/libs/sdk-js/src/types.ts b/libs/sdk-js/src/types.ts index 77050bed8..45b4cc91f 100644 --- a/libs/sdk-js/src/types.ts +++ b/libs/sdk-js/src/types.ts @@ -1,3 +1,4 @@ +import { LangChainTracer } from "@langchain/core/tracers/tracer_langchain"; import { Checkpoint, Config, Metadata } from "./schema.js"; import { StreamMode } from "./types.stream.js"; @@ -145,10 +146,7 @@ interface RunsInvokePayload { * @internal * For LangSmith tracing purposes only. Not part of the public API. */ - _langsmithTracer?: { - project_name: string; - example_id: string; - }; + _langsmithTracer?: LangChainTracer; } export interface RunsStreamPayload< From 70dc0323c1253b7965b420bed6394a088440ba2c Mon Sep 17 00:00:00 2001 From: Arjun Natarajan Date: Mon, 2 Jun 2025 17:26:20 -0700 Subject: [PATCH 3/6] i want this exported --- libs/sdk-js/src/types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/sdk-js/src/types.ts b/libs/sdk-js/src/types.ts index 45b4cc91f..743f714b3 100644 --- a/libs/sdk-js/src/types.ts +++ b/libs/sdk-js/src/types.ts @@ -42,7 +42,7 @@ export interface Command { goto?: Send | Send[] | string | string[]; } -interface RunsInvokePayload { +export interface RunsInvokePayload { /** * Input to the run. Pass `null` to resume from the current state of the thread. */ From b908e96541645e31ac749d3327e7142ecc09da03 Mon Sep 17 00:00:00 2001 From: Arjun Natarajan Date: Mon, 2 Jun 2025 17:27:33 -0700 Subject: [PATCH 4/6] need to export it here too --- libs/sdk-js/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/sdk-js/src/index.ts b/libs/sdk-js/src/index.ts index 00978a121..2c46c6ed8 100644 --- a/libs/sdk-js/src/index.ts +++ b/libs/sdk-js/src/index.ts @@ -27,7 +27,7 @@ export type { } from "./schema.js"; export { overrideFetchImplementation } from "./singletons/fetch.js"; -export type { OnConflictBehavior, Command } from "./types.js"; +export type { OnConflictBehavior, Command, RunsInvokePayload } from "./types.js"; export type { StreamMode } from "./types.stream.js"; export type { ValuesStreamEvent, From b438210a0d4fc457bec73fcdcdb794c10f2d5720 Mon Sep 17 00:00:00 2001 From: Arjun Natarajan Date: Mon, 2 Jun 2025 17:33:29 -0700 Subject: [PATCH 5/6] maybe fixes lint --- libs/sdk-js/src/index.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/sdk-js/src/index.ts b/libs/sdk-js/src/index.ts index 2c46c6ed8..beb189895 100644 --- a/libs/sdk-js/src/index.ts +++ b/libs/sdk-js/src/index.ts @@ -27,7 +27,11 @@ export type { } from "./schema.js"; export { overrideFetchImplementation } from "./singletons/fetch.js"; -export type { OnConflictBehavior, Command, RunsInvokePayload } from "./types.js"; +export type { + OnConflictBehavior, + Command, + RunsInvokePayload +} from "./types.js"; export type { StreamMode } from "./types.stream.js"; export type { ValuesStreamEvent, From 6002aebec5c4a0d693fc4b7325111181c4cc6628 Mon Sep 17 00:00:00 2001 From: Arjun Natarajan Date: Mon, 2 Jun 2025 17:35:12 -0700 Subject: [PATCH 6/6] maybe nees the full lint rewrite --- libs/sdk-js/src/index.ts | 64 ++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/libs/sdk-js/src/index.ts b/libs/sdk-js/src/index.ts index beb189895..4318bbfc0 100644 --- a/libs/sdk-js/src/index.ts +++ b/libs/sdk-js/src/index.ts @@ -2,55 +2,55 @@ export { Client, getApiKey } from "./client.js"; export type { ClientConfig, RequestHook } from "./client.js"; export type { - AssistantBase, Assistant, - AssistantVersion, + AssistantBase, AssistantGraph, + AssistantVersion, + Checkpoint, Config, + Cron, + CronCreateForThreadResponse, + CronCreateResponse, DefaultValues, GraphSchema, + Interrupt, + Item, + ListNamespaceResponse, Metadata, Run, - Thread, - ThreadTask, - ThreadState, - ThreadStatus, - Cron, - Checkpoint, - Interrupt, - ListNamespaceResponse, - Item, SearchItem, SearchItemsResponse, - CronCreateResponse, - CronCreateForThreadResponse, + Thread, + ThreadState, + ThreadStatus, + ThreadTask, } from "./schema.js"; export { overrideFetchImplementation } from "./singletons/fetch.js"; export type { - OnConflictBehavior, Command, - RunsInvokePayload + OnConflictBehavior, + RunsInvokePayload, } from "./types.js"; -export type { StreamMode } from "./types.stream.js"; export type { - ValuesStreamEvent, + AIMessage, + FunctionMessage, + HumanMessage, + Message, + RemoveMessage, + SystemMessage, + ToolMessage, +} from "./types.messages.js"; +export type { + CustomStreamEvent, + DebugStreamEvent, + ErrorStreamEvent, + EventsStreamEvent, + FeedbackStreamEvent, + MessagesStreamEvent, MessagesTupleStreamEvent, MetadataStreamEvent, + StreamMode, UpdatesStreamEvent, - CustomStreamEvent, - MessagesStreamEvent, - DebugStreamEvent, - EventsStreamEvent, - ErrorStreamEvent, - FeedbackStreamEvent, + ValuesStreamEvent, } from "./types.stream.js"; -export type { - Message, - HumanMessage, - AIMessage, - ToolMessage, - SystemMessage, - FunctionMessage, - RemoveMessage, -} from "./types.messages.js";