@langgraph-js/sdk 1.7.0 → 1.7.2

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.
@@ -40,6 +40,7 @@ export type RenderMessage = Message & {
40
40
  input_tokens: number;
41
41
  output_tokens: number;
42
42
  };
43
+ tool_call_id?: string;
43
44
  response_metadata?: {
44
45
  create_time: string;
45
46
  };
@@ -162,7 +162,7 @@ export class LangGraphClient extends Client {
162
162
  const closedToolCallIds = new Set();
163
163
  const result = [];
164
164
  const inputMessages = this.combineGraphMessagesWithStreamingMessages();
165
- console.log(inputMessages);
165
+ // console.log(inputMessages);
166
166
  // 从后往前遍历,这样可以保证最新的消息在前面
167
167
  for (let i = inputMessages.length - 1; i >= 0; i--) {
168
168
  const message = this.cloneMessage(inputMessages[i]);
@@ -226,13 +226,8 @@ export class LangGraphClient extends Client {
226
226
  let lastMessage = null;
227
227
  for (const message of result) {
228
228
  const createTime = ((_a = message.response_metadata) === null || _a === void 0 ? void 0 : _a.create_time) || "";
229
- try {
230
- // 用长度作为渲染 id,长度变了就要重新渲染
231
- message.unique_id = message.id + JSON.stringify(message.content).length;
232
- }
233
- catch (e) {
234
- message.unique_id = message.id;
235
- }
229
+ // 工具必须要使用 tool_call_id 来保证一致性
230
+ message.unique_id = message.tool_call_id || message.id;
236
231
  message.spend_time = new Date(createTime).getTime() - new Date(((_b = lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.response_metadata) === null || _b === void 0 ? void 0 : _b.create_time) || createTime).getTime();
237
232
  if (!message.usage_metadata && ((_c = message.response_metadata) === null || _c === void 0 ? void 0 : _c.usage)) {
238
233
  const usage = message.response_metadata.usage;
@@ -340,8 +335,7 @@ export class LangGraphClient extends Client {
340
335
  return false;
341
336
  }
342
337
  const tool = this.tools.getTool(lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.name);
343
- console.log(tool);
344
- return tool && tool.onlyRender && (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type) === "tool" && !((_a = lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.additional_kwargs) === null || _a === void 0 ? void 0 : _a.done);
338
+ return tool && tool.render && (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type) === "tool" && !((_a = lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.additional_kwargs) === null || _a === void 0 ? void 0 : _a.done);
345
339
  }
346
340
  /**
347
341
  * @zh 取消当前的 Run。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langgraph-js/sdk",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
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",
@@ -40,6 +40,7 @@ export type RenderMessage = Message & {
40
40
  input_tokens: number;
41
41
  output_tokens: number;
42
42
  };
43
+ tool_call_id?: string;
43
44
  response_metadata?: {
44
45
  create_time: string;
45
46
  };
@@ -231,7 +232,7 @@ export class LangGraphClient extends Client {
231
232
  const closedToolCallIds = new Set<string>();
232
233
  const result: Message[] = [];
233
234
  const inputMessages = this.combineGraphMessagesWithStreamingMessages();
234
- console.log(inputMessages);
235
+ // console.log(inputMessages);
235
236
  // 从后往前遍历,这样可以保证最新的消息在前面
236
237
  for (let i = inputMessages.length - 1; i >= 0; i--) {
237
238
  const message = this.cloneMessage(inputMessages[i]);
@@ -295,12 +296,9 @@ export class LangGraphClient extends Client {
295
296
  let lastMessage: RenderMessage | null = null;
296
297
  for (const message of result) {
297
298
  const createTime = message.response_metadata?.create_time || "";
298
- try {
299
- // 用长度作为渲染 id,长度变了就要重新渲染
300
- message.unique_id = message.id! + JSON.stringify(message.content).length;
301
- } catch (e) {
302
- message.unique_id = message.id!;
303
- }
299
+ // 工具必须要使用 tool_call_id 来保证一致性
300
+ message.unique_id = message.tool_call_id! || message.id!;
301
+
304
302
  message.spend_time = new Date(createTime).getTime() - new Date(lastMessage?.response_metadata?.create_time || createTime).getTime();
305
303
  if (!message.usage_metadata && (message as AIMessage).response_metadata?.usage) {
306
304
  const usage = (message as AIMessage).response_metadata!.usage as {
@@ -416,8 +414,7 @@ export class LangGraphClient extends Client {
416
414
  return false;
417
415
  }
418
416
  const tool = this.tools.getTool(lastMessage?.name!);
419
- console.log(tool);
420
- return tool && tool.onlyRender && lastMessage?.type === "tool" && !lastMessage?.additional_kwargs?.done;
417
+ return tool && tool.render && lastMessage?.type === "tool" && !lastMessage?.additional_kwargs?.done;
421
418
  }
422
419
  graphState: any = {};
423
420
  currentRun?: { run_id: string };