From 556e19df37ad9ae49599f4d424441d3febad8eb2 Mon Sep 17 00:00:00 2001 From: ran Date: Fri, 19 Sep 2025 13:13:15 +0200 Subject: [PATCH] feat: enable aborting run for langgraph platform based graphs --- typescript-sdk/integrations/langgraph/src/agent.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/typescript-sdk/integrations/langgraph/src/agent.ts b/typescript-sdk/integrations/langgraph/src/agent.ts index e70aea72b..88ade9505 100644 --- a/typescript-sdk/integrations/langgraph/src/agent.ts +++ b/typescript-sdk/integrations/langgraph/src/agent.ts @@ -126,6 +126,7 @@ export class LangGraphAgent extends AbstractAgent { subscriber: Subscriber; constantSchemaKeys: string[] = DEFAULT_SCHEMA_KEYS; config: LangGraphAgentConfig; + abortController = new AbortController(); constructor(config: LangGraphAgentConfig) { super(config); @@ -160,6 +161,10 @@ export class LangGraphAgent extends AbstractAgent { }); } + abortRun() { + this.abortController.abort(); + } + async runAgentStream(input: RunAgentExtendedInput, subscriber: Subscriber) { this.activeRun = { id: input.runId, @@ -213,6 +218,7 @@ export class LangGraphAgent extends AbstractAgent { // @ts-ignore checkpointId: fork.checkpoint.checkpoint_id!, streamMode, + signal: this.abortController.signal, }; return { streamResponse: this.client.runs.stream(threadId, this.assistant.assistant_id, payload), @@ -331,7 +337,8 @@ export class LangGraphAgent extends AbstractAgent { context: { ...context, ...(payloadConfig?.configurable ?? {}), - } + }, + signal: this.abortController.signal, }; // If there are still outstanding unresolved interrupts, we must force resolution of them before moving forward