@langgraph-js/sdk 1.5.0 → 1.5.3

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.
@@ -402,9 +402,9 @@ export class LangGraphClient extends Client {
402
402
  data: chunk,
403
403
  });
404
404
  }
405
+ this.graphState = chunk.data;
406
+ this.streamingMessage = [];
405
407
  }
406
- this.graphState = chunk.data;
407
- this.streamingMessage = [];
408
408
  continue;
409
409
  }
410
410
  else if (chunk.event.startsWith("values|")) {
@@ -414,7 +414,6 @@ export class LangGraphClient extends Client {
414
414
  }
415
415
  }
416
416
  }
417
- this.streamingMessage = [];
418
417
  const data = await this.runFETool();
419
418
  if (data)
420
419
  streamRecord.push(...data);
@@ -462,6 +461,7 @@ export class LangGraphClient extends Client {
462
461
  return this.callFETool(toolMessage, tool.args);
463
462
  }
464
463
  });
464
+ this.currentThread.status = "interrupted"; // 修复某些机制下,状态不为 interrupted 与后端有差异
465
465
  return Promise.all(result);
466
466
  }
467
467
  }
@@ -52,7 +52,7 @@ export declare class ToolManager {
52
52
  * @zh 将所有工具转换为 JSON 定义格式。
53
53
  * @en Converts all tools to JSON definition format.
54
54
  */
55
- toJSON(): {
55
+ toJSON(remote?: boolean): {
56
56
  name: string;
57
57
  description: string;
58
58
  parameters: import("zod-to-json-schema").JsonSchema7Type & {
@@ -76,8 +76,10 @@ export class ToolManager {
76
76
  * @zh 将所有工具转换为 JSON 定义格式。
77
77
  * @en Converts all tools to JSON definition format.
78
78
  */
79
- toJSON() {
80
- return Array.from(this.tools.values()).map((i) => createJSONDefineTool(i));
79
+ toJSON(remote = true) {
80
+ return Array.from(this.tools.values())
81
+ .filter((i) => (remote ? !i.onlyRender : true))
82
+ .map((i) => createJSONDefineTool(i));
81
83
  }
82
84
  /**
83
85
  * @zh 标记指定 ID 的工具等待已完成,并传递结果。
@@ -4,7 +4,9 @@ export declare class ToolRenderData<D> {
4
4
  message: RenderMessage;
5
5
  client: LangGraphClient;
6
6
  constructor(message: RenderMessage, client: LangGraphClient);
7
- get state(): "done" | "idle";
7
+ get state(): "idle" | "done";
8
8
  get input(): any;
9
+ get output(): string;
10
+ getJSONOutput(): any;
9
11
  response(data: D): void;
10
12
  }
@@ -1,3 +1,4 @@
1
+ import { getMessageContent } from "../ui-store/createChatStore.js";
1
2
  export class ToolRenderData {
2
3
  constructor(message, client) {
3
4
  this.message = message;
@@ -18,6 +19,12 @@ export class ToolRenderData {
18
19
  return null;
19
20
  }
20
21
  }
22
+ get output() {
23
+ return getMessageContent(this.message.content);
24
+ }
25
+ getJSONOutput() {
26
+ return JSON.parse(this.output);
27
+ }
21
28
  response(data) {
22
29
  this.client.doneFEToolWaiting(this.message.id, JSON.stringify(data));
23
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langgraph-js/sdk",
3
- "version": "1.5.0",
3
+ "version": "1.5.3",
4
4
  "description": "The UI SDK for LangGraph - seamlessly integrate your AI agents with frontend interfaces",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -488,9 +488,9 @@ export class LangGraphClient extends Client {
488
488
  data: chunk,
489
489
  });
490
490
  }
491
+ this.graphState = chunk.data;
492
+ this.streamingMessage = [];
491
493
  }
492
- this.graphState = chunk.data;
493
- this.streamingMessage = [];
494
494
  continue;
495
495
  } else if (chunk.event.startsWith("values|")) {
496
496
  // 这个 values 必然是子 values
@@ -499,7 +499,6 @@ export class LangGraphClient extends Client {
499
499
  }
500
500
  }
501
501
  }
502
- this.streamingMessage = [];
503
502
  const data = await this.runFETool();
504
503
  if (data) streamRecord.push(...data);
505
504
  this.emitStreamingUpdate({
@@ -527,6 +526,7 @@ export class LangGraphClient extends Client {
527
526
  }
528
527
  });
529
528
  }
529
+
530
530
  private runFETool() {
531
531
  const data = this.graphMessages;
532
532
  const lastMessage = data[data.length - 1];
@@ -545,6 +545,7 @@ export class LangGraphClient extends Client {
545
545
  return this.callFETool(toolMessage, tool.args);
546
546
  }
547
547
  });
548
+ this.currentThread!.status = "interrupted"; // 修复某些机制下,状态不为 interrupted 与后端有差异
548
549
  return Promise.all(result);
549
550
  }
550
551
  }
@@ -85,8 +85,10 @@ export class ToolManager {
85
85
  * @zh 将所有工具转换为 JSON 定义格式。
86
86
  * @en Converts all tools to JSON definition format.
87
87
  */
88
- toJSON() {
89
- return Array.from(this.tools.values()).map((i) => createJSONDefineTool(i));
88
+ toJSON(remote = true) {
89
+ return Array.from(this.tools.values())
90
+ .filter((i) => (remote ? !i.onlyRender : true))
91
+ .map((i) => createJSONDefineTool(i));
90
92
  }
91
93
 
92
94
  /**
@@ -1,6 +1,7 @@
1
1
  import { RenderMessage } from "../LangGraphClient.js";
2
2
 
3
3
  import { LangGraphClient } from "../LangGraphClient.js";
4
+ import { getMessageContent } from "../ui-store/createChatStore.js";
4
5
 
5
6
  export class ToolRenderData<D> {
6
7
  constructor(
@@ -20,6 +21,12 @@ export class ToolRenderData<D> {
20
21
  return null;
21
22
  }
22
23
  }
24
+ get output() {
25
+ return getMessageContent(this.message.content);
26
+ }
27
+ getJSONOutput() {
28
+ return JSON.parse(this.output);
29
+ }
23
30
  response(data: D) {
24
31
  this.client.doneFEToolWaiting(this.message.id!, JSON.stringify(data));
25
32
  }