@assistant-ui/react-langgraph 0.7.15 → 0.12.0
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.
|
@@ -2,7 +2,7 @@ import { useState, useCallback, useRef, useMemo } from "react";
|
|
|
2
2
|
import { v4 as uuidv4 } from "uuid";
|
|
3
3
|
import { LangGraphMessageAccumulator } from "./LangGraphMessageAccumulator.js";
|
|
4
4
|
import { LangGraphKnownEventTypes, } from "./types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { useAui } from "@assistant-ui/react";
|
|
6
6
|
const DEFAULT_APPEND_MESSAGE = (_, curr) => curr;
|
|
7
7
|
const isLangChainMessageChunk = (value) => {
|
|
8
8
|
if (!value || typeof value !== "object")
|
|
@@ -21,7 +21,7 @@ export const useLangGraphMessages = ({ stream, appendMessage = DEFAULT_APPEND_ME
|
|
|
21
21
|
const [messages, setMessages] = useState([]);
|
|
22
22
|
const abortControllerRef = useRef(null);
|
|
23
23
|
const { onMetadata, onInfo, onError, onCustomEvent } = useMemo(() => eventHandlers ?? {}, [eventHandlers]);
|
|
24
|
-
const
|
|
24
|
+
const aui = useAui();
|
|
25
25
|
const sendMessage = useCallback(async (newMessages, config) => {
|
|
26
26
|
// ensure all messages have an ID
|
|
27
27
|
const newMessagesWithId = newMessages.map((m) => m.id ? m : { ...m, id: uuidv4() });
|
|
@@ -36,7 +36,7 @@ export const useLangGraphMessages = ({ stream, appendMessage = DEFAULT_APPEND_ME
|
|
|
36
36
|
...config,
|
|
37
37
|
abortSignal: abortController.signal,
|
|
38
38
|
initialize: async () => {
|
|
39
|
-
return await
|
|
39
|
+
return await aui.threadListItem().initialize();
|
|
40
40
|
},
|
|
41
41
|
});
|
|
42
42
|
for await (const chunk of response) {
|
|
@@ -99,7 +99,7 @@ export const useLangGraphMessages = ({ stream, appendMessage = DEFAULT_APPEND_ME
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
}, [
|
|
102
|
-
|
|
102
|
+
aui,
|
|
103
103
|
messages,
|
|
104
104
|
appendMessage,
|
|
105
105
|
stream,
|
|
@@ -112,7 +112,7 @@ export const useLangGraphMessages = ({ stream, appendMessage = DEFAULT_APPEND_ME
|
|
|
112
112
|
if (abortControllerRef.current) {
|
|
113
113
|
abortControllerRef.current.abort();
|
|
114
114
|
}
|
|
115
|
-
}, [
|
|
115
|
+
}, []);
|
|
116
116
|
return {
|
|
117
117
|
interrupt,
|
|
118
118
|
messages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLangGraphMessages.js","sourceRoot":"","sources":["../src/useLangGraphMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,yCAAsC;AAC5E,OAAO,EAGL,wBAAwB,GAMzB,mBAAgB;AACjB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useLangGraphMessages.js","sourceRoot":"","sources":["../src/useLangGraphMessages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from "react";
|
|
2
|
-
import { unstable_useCloudThreadListAdapter, unstable_useRemoteThreadListRuntime,
|
|
2
|
+
import { unstable_useCloudThreadListAdapter, unstable_useRemoteThreadListRuntime, useAui, useAuiState, useExternalMessageConverter, useExternalStoreRuntime, } from "@assistant-ui/react";
|
|
3
3
|
import { convertLangChainMessages } from "./convertLangChainMessages.js";
|
|
4
4
|
import { useLangGraphMessages, } from "./useLangGraphMessages.js";
|
|
5
5
|
import { appendLangChainChunk } from "./appendLangChainChunk.js";
|
|
@@ -59,7 +59,7 @@ const asLangGraphRuntimeExtras = (extras) => {
|
|
|
59
59
|
return extras;
|
|
60
60
|
};
|
|
61
61
|
export const useLangGraphInterruptState = () => {
|
|
62
|
-
const interrupt =
|
|
62
|
+
const interrupt = useAuiState(({ thread }) => {
|
|
63
63
|
const extras = thread.extras;
|
|
64
64
|
if (!extras)
|
|
65
65
|
return undefined;
|
|
@@ -68,9 +68,9 @@ export const useLangGraphInterruptState = () => {
|
|
|
68
68
|
return interrupt;
|
|
69
69
|
};
|
|
70
70
|
export const useLangGraphSend = () => {
|
|
71
|
-
const
|
|
71
|
+
const aui = useAui();
|
|
72
72
|
return (messages, config) => {
|
|
73
|
-
const extras =
|
|
73
|
+
const extras = aui.thread().getState().extras;
|
|
74
74
|
const { send } = asLangGraphRuntimeExtras(extras);
|
|
75
75
|
return send(messages, config);
|
|
76
76
|
};
|
|
@@ -158,7 +158,7 @@ const useLangGraphRuntimeImpl = ({ autoCancelPendingToolCalls, adapters: { attac
|
|
|
158
158
|
: undefined,
|
|
159
159
|
});
|
|
160
160
|
{
|
|
161
|
-
const
|
|
161
|
+
const aui = useAui();
|
|
162
162
|
const loadRef = useRef(load);
|
|
163
163
|
useEffect(() => {
|
|
164
164
|
loadRef.current = load;
|
|
@@ -167,27 +167,27 @@ const useLangGraphRuntimeImpl = ({ autoCancelPendingToolCalls, adapters: { attac
|
|
|
167
167
|
const load = loadRef.current;
|
|
168
168
|
if (!load)
|
|
169
169
|
return;
|
|
170
|
-
const externalId =
|
|
170
|
+
const externalId = aui.threadListItem().getState().externalId;
|
|
171
171
|
if (externalId == null)
|
|
172
172
|
return;
|
|
173
173
|
load(externalId).then(({ messages, interrupts }) => {
|
|
174
174
|
setMessages(messages);
|
|
175
175
|
setInterrupt(interrupts?.[0]);
|
|
176
176
|
});
|
|
177
|
-
}, [
|
|
177
|
+
}, [aui, setMessages, setInterrupt]);
|
|
178
178
|
}
|
|
179
179
|
return runtime;
|
|
180
180
|
};
|
|
181
181
|
export const useLangGraphRuntime = ({ cloud, create, delete: deleteFn, ...options }) => {
|
|
182
|
-
const
|
|
182
|
+
const aui = useAui();
|
|
183
183
|
const cloudAdapter = unstable_useCloudThreadListAdapter({
|
|
184
184
|
cloud,
|
|
185
185
|
create: async () => {
|
|
186
186
|
if (create) {
|
|
187
187
|
return create();
|
|
188
188
|
}
|
|
189
|
-
if (
|
|
190
|
-
return
|
|
189
|
+
if (aui.threadListItem.source) {
|
|
190
|
+
return aui.threadListItem().initialize();
|
|
191
191
|
}
|
|
192
192
|
throw new Error("initialize function requires you to pass a create function to the useLangGraphRuntime hook");
|
|
193
193
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLangGraphRuntime.js","sourceRoot":"","sources":["../src/useLangGraphRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AASpD,OAAO,EAEL,kCAAkC,EAClC,mCAAmC,EACnC,
|
|
1
|
+
{"version":3,"file":"useLangGraphRuntime.js","sourceRoot":"","sources":["../src/useLangGraphRuntime.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assistant-ui/react-langgraph",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "LangGraph adapter for assistant-ui",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"langgraph",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"uuid": "^13.0.0"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@assistant-ui/react": "^0.
|
|
37
|
+
"@assistant-ui/react": "^0.12.0",
|
|
38
38
|
"@types/react": "*",
|
|
39
39
|
"react": "^18 || ^19"
|
|
40
40
|
},
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"jsdom": "^27.4.0",
|
|
53
53
|
"react": "^19.2.3",
|
|
54
54
|
"vitest": "^4.0.17",
|
|
55
|
-
"@assistant-ui/react": "0.
|
|
55
|
+
"@assistant-ui/react": "0.12.0",
|
|
56
56
|
"@assistant-ui/x-buildutils": "0.0.1"
|
|
57
57
|
},
|
|
58
58
|
"publishConfig": {
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
OnInfoEventCallback,
|
|
12
12
|
OnMetadataEventCallback,
|
|
13
13
|
} from "./types";
|
|
14
|
-
import {
|
|
14
|
+
import { useAui } from "@assistant-ui/react";
|
|
15
15
|
|
|
16
16
|
export type LangGraphCommand = {
|
|
17
17
|
resume: string;
|
|
@@ -93,7 +93,7 @@ export const useLangGraphMessages = <TMessage extends { id?: string }>({
|
|
|
93
93
|
[eventHandlers],
|
|
94
94
|
);
|
|
95
95
|
|
|
96
|
-
const
|
|
96
|
+
const aui = useAui();
|
|
97
97
|
const sendMessage = useCallback(
|
|
98
98
|
async (newMessages: TMessage[], config: LangGraphSendMessageConfig) => {
|
|
99
99
|
// ensure all messages have an ID
|
|
@@ -113,7 +113,7 @@ export const useLangGraphMessages = <TMessage extends { id?: string }>({
|
|
|
113
113
|
...config,
|
|
114
114
|
abortSignal: abortController.signal,
|
|
115
115
|
initialize: async () => {
|
|
116
|
-
return await
|
|
116
|
+
return await aui.threadListItem().initialize();
|
|
117
117
|
},
|
|
118
118
|
});
|
|
119
119
|
|
|
@@ -187,7 +187,7 @@ export const useLangGraphMessages = <TMessage extends { id?: string }>({
|
|
|
187
187
|
}
|
|
188
188
|
},
|
|
189
189
|
[
|
|
190
|
-
|
|
190
|
+
aui,
|
|
191
191
|
messages,
|
|
192
192
|
appendMessage,
|
|
193
193
|
stream,
|
|
@@ -202,7 +202,7 @@ export const useLangGraphMessages = <TMessage extends { id?: string }>({
|
|
|
202
202
|
if (abortControllerRef.current) {
|
|
203
203
|
abortControllerRef.current.abort();
|
|
204
204
|
}
|
|
205
|
-
}, [
|
|
205
|
+
}, []);
|
|
206
206
|
|
|
207
207
|
return {
|
|
208
208
|
interrupt,
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
AssistantCloud,
|
|
12
12
|
unstable_useCloudThreadListAdapter,
|
|
13
13
|
unstable_useRemoteThreadListRuntime,
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
useAui,
|
|
15
|
+
useAuiState,
|
|
16
16
|
useExternalMessageConverter,
|
|
17
17
|
useExternalStoreRuntime,
|
|
18
18
|
} from "@assistant-ui/react";
|
|
@@ -115,7 +115,7 @@ const asLangGraphRuntimeExtras = (extras: unknown): LangGraphRuntimeExtras => {
|
|
|
115
115
|
};
|
|
116
116
|
|
|
117
117
|
export const useLangGraphInterruptState = () => {
|
|
118
|
-
const interrupt =
|
|
118
|
+
const interrupt = useAuiState(({ thread }) => {
|
|
119
119
|
const extras = thread.extras;
|
|
120
120
|
if (!extras) return undefined;
|
|
121
121
|
return asLangGraphRuntimeExtras(extras).interrupt;
|
|
@@ -124,10 +124,10 @@ export const useLangGraphInterruptState = () => {
|
|
|
124
124
|
};
|
|
125
125
|
|
|
126
126
|
export const useLangGraphSend = () => {
|
|
127
|
-
const
|
|
127
|
+
const aui = useAui();
|
|
128
128
|
|
|
129
129
|
return (messages: LangChainMessage[], config: LangGraphSendMessageConfig) => {
|
|
130
|
-
const extras =
|
|
130
|
+
const extras = aui.thread().getState().extras;
|
|
131
131
|
const { send } = asLangGraphRuntimeExtras(extras);
|
|
132
132
|
return send(messages, config);
|
|
133
133
|
};
|
|
@@ -302,7 +302,7 @@ const useLangGraphRuntimeImpl = ({
|
|
|
302
302
|
});
|
|
303
303
|
|
|
304
304
|
{
|
|
305
|
-
const
|
|
305
|
+
const aui = useAui();
|
|
306
306
|
|
|
307
307
|
const loadRef = useRef(load);
|
|
308
308
|
useEffect(() => {
|
|
@@ -313,14 +313,14 @@ const useLangGraphRuntimeImpl = ({
|
|
|
313
313
|
const load = loadRef.current;
|
|
314
314
|
if (!load) return;
|
|
315
315
|
|
|
316
|
-
const externalId =
|
|
316
|
+
const externalId = aui.threadListItem().getState().externalId;
|
|
317
317
|
if (externalId == null) return;
|
|
318
318
|
|
|
319
319
|
load(externalId).then(({ messages, interrupts }) => {
|
|
320
320
|
setMessages(messages);
|
|
321
321
|
setInterrupt(interrupts?.[0]);
|
|
322
322
|
});
|
|
323
|
-
}, [
|
|
323
|
+
}, [aui, setMessages, setInterrupt]);
|
|
324
324
|
}
|
|
325
325
|
|
|
326
326
|
return runtime;
|
|
@@ -332,7 +332,7 @@ export const useLangGraphRuntime = ({
|
|
|
332
332
|
delete: deleteFn,
|
|
333
333
|
...options
|
|
334
334
|
}: UseLangGraphRuntimeOptions) => {
|
|
335
|
-
const
|
|
335
|
+
const aui = useAui();
|
|
336
336
|
const cloudAdapter = unstable_useCloudThreadListAdapter({
|
|
337
337
|
cloud,
|
|
338
338
|
create: async () => {
|
|
@@ -340,8 +340,8 @@ export const useLangGraphRuntime = ({
|
|
|
340
340
|
return create();
|
|
341
341
|
}
|
|
342
342
|
|
|
343
|
-
if (
|
|
344
|
-
return
|
|
343
|
+
if (aui.threadListItem.source) {
|
|
344
|
+
return aui.threadListItem().initialize();
|
|
345
345
|
}
|
|
346
346
|
|
|
347
347
|
throw new Error(
|