@assistant-ui/react-langgraph 0.7.11 → 0.7.13

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.
package/dist/testUtils.js CHANGED
@@ -1,10 +1,6 @@
1
- // src/testUtils.ts
2
- var mockStreamCallbackFactory = (events) => async function* () {
3
- for (const event of events) {
4
- yield event;
5
- }
6
- };
7
- export {
8
- mockStreamCallbackFactory
1
+ export const mockStreamCallbackFactory = (events) => async function* () {
2
+ for (const event of events) {
3
+ yield event;
4
+ }
9
5
  };
10
6
  //# sourceMappingURL=testUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/testUtils.ts"],"sourcesContent":["import { LangChainMessage } from \"./types\";\nimport { LangGraphMessagesEvent } from \"./useLangGraphMessages\";\n\nexport const mockStreamCallbackFactory = (\n events: Array<LangGraphMessagesEvent<LangChainMessage>>,\n) =>\n async function* () {\n for (const event of events) {\n yield event;\n }\n };\n"],"mappings":";AAGO,IAAM,4BAA4B,CACvC,WAEA,mBAAmB;AACjB,aAAW,SAAS,QAAQ;AAC1B,UAAM;AAAA,EACR;AACF;","names":[]}
1
+ {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../src/testUtils.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,MAAuD,EACvD,EAAE,CACF,KAAK,SAAS,CAAC;IACb,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
package/dist/types.js CHANGED
@@ -1,15 +1,11 @@
1
- // src/types.ts
2
- var LangGraphKnownEventTypes = /* @__PURE__ */ ((LangGraphKnownEventTypes2) => {
3
- LangGraphKnownEventTypes2["Messages"] = "messages";
4
- LangGraphKnownEventTypes2["MessagesPartial"] = "messages/partial";
5
- LangGraphKnownEventTypes2["MessagesComplete"] = "messages/complete";
6
- LangGraphKnownEventTypes2["Metadata"] = "metadata";
7
- LangGraphKnownEventTypes2["Updates"] = "updates";
8
- LangGraphKnownEventTypes2["Info"] = "info";
9
- LangGraphKnownEventTypes2["Error"] = "error";
10
- return LangGraphKnownEventTypes2;
11
- })(LangGraphKnownEventTypes || {});
12
- export {
13
- LangGraphKnownEventTypes
14
- };
1
+ export var LangGraphKnownEventTypes;
2
+ (function (LangGraphKnownEventTypes) {
3
+ LangGraphKnownEventTypes["Messages"] = "messages";
4
+ LangGraphKnownEventTypes["MessagesPartial"] = "messages/partial";
5
+ LangGraphKnownEventTypes["MessagesComplete"] = "messages/complete";
6
+ LangGraphKnownEventTypes["Metadata"] = "metadata";
7
+ LangGraphKnownEventTypes["Updates"] = "updates";
8
+ LangGraphKnownEventTypes["Info"] = "info";
9
+ LangGraphKnownEventTypes["Error"] = "error";
10
+ })(LangGraphKnownEventTypes || (LangGraphKnownEventTypes = {}));
15
11
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import { MessageStatus } from \"@assistant-ui/react\";\nimport { ReadonlyJSONObject } from \"assistant-stream/utils\";\n\nexport type LangChainToolCallChunk = {\n index: number;\n id: string;\n name: string;\n args: string;\n};\n\nexport type LangChainToolCall = {\n id: string;\n name: string;\n args: ReadonlyJSONObject;\n partial_json?: string;\n};\n\nexport type MessageContentText = {\n type: \"text\" | \"text_delta\";\n text: string;\n};\n\nexport type MessageContentImageUrl = {\n type: \"image_url\";\n image_url: string | { url: string };\n};\n\nexport type MessageContentThinking = {\n type: \"thinking\";\n thinking: string;\n};\n\nexport type MessageContentReasoningSummaryText = {\n type: \"summary_text\";\n text: string;\n};\n\nexport type MessageContentReasoning = {\n type: \"reasoning\";\n summary: MessageContentReasoningSummaryText[];\n};\n\ntype MessageContentToolUse = {\n type: \"tool_use\" | \"input_json_delta\";\n};\n\ntype MessageContentComputerCall = {\n type: \"computer_call\";\n call_id: string;\n id: string;\n action: unknown;\n pending_safety_checks: unknown[];\n index: number;\n};\n\nexport enum LangGraphKnownEventTypes {\n Messages = \"messages\",\n MessagesPartial = \"messages/partial\",\n MessagesComplete = \"messages/complete\",\n Metadata = \"metadata\",\n Updates = \"updates\",\n Info = \"info\",\n Error = \"error\",\n}\n\ntype CustomEventType = string;\n\nexport type EventType = LangGraphKnownEventTypes | CustomEventType;\n\nexport type MessageContentFile = {\n type: \"file\";\n file: {\n filename: string;\n file_data: string;\n mime_type: string;\n };\n};\n\ntype UserMessageContentComplex =\n | MessageContentText\n | MessageContentImageUrl\n | MessageContentFile;\ntype AssistantMessageContentComplex =\n | MessageContentText\n | MessageContentImageUrl\n | MessageContentToolUse\n | MessageContentFile\n | MessageContentReasoning\n | MessageContentThinking\n | MessageContentComputerCall;\n\ntype UserMessageContent = string | UserMessageContentComplex[];\ntype AssistantMessageContent = string | AssistantMessageContentComplex[];\n\nexport type LangChainMessage =\n | {\n id?: string;\n type: \"system\";\n content: string;\n additional_kwargs?: Record<string, unknown>;\n }\n | {\n id?: string;\n type: \"human\";\n content: UserMessageContent;\n additional_kwargs?: Record<string, unknown>;\n }\n | {\n id?: string;\n type: \"tool\";\n content: string;\n tool_call_id: string;\n name: string;\n artifact?: any;\n status: \"success\" | \"error\";\n }\n | {\n id?: string;\n type: \"ai\";\n content: AssistantMessageContent;\n tool_call_chunks?: LangChainToolCallChunk[];\n tool_calls?: LangChainToolCall[];\n status?: MessageStatus;\n additional_kwargs?: {\n reasoning?: MessageContentReasoning;\n tool_outputs?: MessageContentComputerCall[];\n };\n };\n\nexport type LangChainMessageChunk = {\n id?: string | undefined;\n type: \"AIMessageChunk\";\n content?: AssistantMessageContent | undefined;\n tool_call_chunks?: LangChainToolCallChunk[] | undefined;\n};\n\nexport type LangChainEvent = {\n event:\n | LangGraphKnownEventTypes.MessagesPartial\n | LangGraphKnownEventTypes.MessagesComplete;\n data: LangChainMessage[];\n};\n\ntype LangGraphTupleMetadata = Record<string, unknown>;\n\nexport type LangChainMessageTupleEvent = {\n event: LangGraphKnownEventTypes.Messages;\n data: [LangChainMessageChunk, LangGraphTupleMetadata];\n};\n\nexport type OnMetadataEventCallback = (\n metadata: unknown,\n) => void | Promise<void>;\nexport type OnInfoEventCallback = (info: unknown) => void | Promise<void>;\nexport type OnErrorEventCallback = (error: unknown) => void | Promise<void>;\nexport type OnCustomEventCallback = (\n type: string,\n data: unknown,\n) => void | Promise<void>;\n"],"mappings":";AAuDO,IAAK,2BAAL,kBAAKA,8BAAL;AACL,EAAAA,0BAAA,cAAW;AACX,EAAAA,0BAAA,qBAAkB;AAClB,EAAAA,0BAAA,sBAAmB;AACnB,EAAAA,0BAAA,cAAW;AACX,EAAAA,0BAAA,aAAU;AACV,EAAAA,0BAAA,UAAO;AACP,EAAAA,0BAAA,WAAQ;AAPE,SAAAA;AAAA,GAAA;","names":["LangGraphKnownEventTypes"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAuDA,MAAM,CAAN,IAAY,wBAQX;AARD,WAAY,wBAAwB;IAClC,iDAAqB,CAAA;IACrB,gEAAoC,CAAA;IACpC,kEAAsC,CAAA;IACtC,iDAAqB,CAAA;IACrB,+CAAmB,CAAA;IACnB,yCAAa,CAAA;IACb,2CAAe,CAAA;AACjB,CAAC,EARW,wBAAwB,KAAxB,wBAAwB,QAQnC"}
@@ -1,4 +1,4 @@
1
- import { EventType, OnCustomEventCallback, OnErrorEventCallback, OnInfoEventCallback, OnMetadataEventCallback } from "./types";
1
+ import { EventType, OnCustomEventCallback, OnErrorEventCallback, OnInfoEventCallback, OnMetadataEventCallback } from "./types.js";
2
2
  export type LangGraphCommand = {
3
3
  resume: string;
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useLangGraphMessages.d.ts","sourceRoot":"","sources":["../src/useLangGraphMessages.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EAIT,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,QAAQ,IAAI;IAC7C,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,QAAQ,IAAI,CAC9C,QAAQ,EAAE,QAAQ,EAAE,EACpB,MAAM,EAAE,0BAA0B,GAAG;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,OAAO,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,CAAC,CAAC;CACJ,KAEC,OAAO,CAAC,cAAc,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACzD,cAAc,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAErD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAuBF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,SAAS;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,2CAIpE;IACD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC;IACzE,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,uBAAuB,CAAC;QACrC,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAC/B,aAAa,CAAC,EAAE,qBAAqB,CAAC;KACvC,CAAC;CACH;;;+BAcuB,QAAQ,EAAE,UAAU,0BAA0B;;;;CAqHrE,CAAC"}
1
+ {"version":3,"file":"useLangGraphMessages.d.ts","sourceRoot":"","sources":["../src/useLangGraphMessages.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EAIT,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACxB,mBAAgB;AAGjB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,QAAQ,IAAI;IAC7C,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,QAAQ,IAAI,CAC9C,QAAQ,EAAE,QAAQ,EAAE,EACpB,MAAM,EAAE,0BAA0B,GAAG;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,OAAO,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,CAAC,CAAC;CACJ,KAEC,OAAO,CAAC,cAAc,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACzD,cAAc,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAErD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAuBF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,SAAS;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,2CAIpE;IACD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC;IACzE,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,uBAAuB,CAAC;QACrC,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAC/B,aAAa,CAAC,EAAE,qBAAqB,CAAC;KACvC,CAAC;CACH;;;+BAcuB,QAAQ,EAAE,UAAU,0BAA0B;;;;CAqHrE,CAAC"}
@@ -1,141 +1,125 @@
1
- // src/useLangGraphMessages.ts
2
1
  import { useState, useCallback, useRef, useMemo } from "react";
3
2
  import { v4 as uuidv4 } from "uuid";
4
3
  import { LangGraphMessageAccumulator } from "./LangGraphMessageAccumulator.js";
5
- import {
6
- LangGraphKnownEventTypes
7
- } from "./types.js";
4
+ import { LangGraphKnownEventTypes, } from "./types.js";
8
5
  import { useAssistantApi } from "@assistant-ui/react";
9
- var DEFAULT_APPEND_MESSAGE = (_, curr) => curr;
10
- var isLangChainMessageChunk = (value) => {
11
- if (!value || typeof value !== "object") return false;
12
- const chunk = value;
13
- return "type" in chunk && chunk.type === "AIMessageChunk" && (chunk.content === void 0 || typeof chunk.content === "string" || Array.isArray(chunk.content)) && (chunk.tool_call_chunks === void 0 || Array.isArray(chunk.tool_call_chunks));
6
+ const DEFAULT_APPEND_MESSAGE = (_, curr) => curr;
7
+ const isLangChainMessageChunk = (value) => {
8
+ if (!value || typeof value !== "object")
9
+ return false;
10
+ const chunk = value;
11
+ return ("type" in chunk &&
12
+ chunk.type === "AIMessageChunk" &&
13
+ (chunk.content === undefined ||
14
+ typeof chunk.content === "string" ||
15
+ Array.isArray(chunk.content)) &&
16
+ (chunk.tool_call_chunks === undefined ||
17
+ Array.isArray(chunk.tool_call_chunks)));
14
18
  };
15
- var useLangGraphMessages = ({
16
- stream,
17
- appendMessage = DEFAULT_APPEND_MESSAGE,
18
- eventHandlers
19
- }) => {
20
- const [interrupt, setInterrupt] = useState();
21
- const [messages, setMessages] = useState([]);
22
- const abortControllerRef = useRef(null);
23
- const { onMetadata, onInfo, onError, onCustomEvent } = useMemo(
24
- () => eventHandlers ?? {},
25
- [eventHandlers]
26
- );
27
- const api = useAssistantApi();
28
- const sendMessage = useCallback(
29
- async (newMessages, config) => {
30
- const newMessagesWithId = newMessages.map(
31
- (m) => m.id ? m : { ...m, id: uuidv4() }
32
- );
33
- const accumulator = new LangGraphMessageAccumulator({
34
- initialMessages: messages,
35
- appendMessage
36
- });
37
- setMessages(accumulator.addMessages(newMessagesWithId));
38
- const abortController = new AbortController();
39
- abortControllerRef.current = abortController;
40
- const response = await stream(newMessagesWithId, {
41
- ...config,
42
- abortSignal: abortController.signal,
43
- initialize: async () => {
44
- return await api.threadListItem().initialize();
45
- }
46
- });
47
- for await (const chunk of response) {
48
- switch (chunk.event) {
49
- case LangGraphKnownEventTypes.MessagesPartial:
50
- case LangGraphKnownEventTypes.MessagesComplete:
51
- setMessages(accumulator.addMessages(chunk.data));
52
- break;
53
- case LangGraphKnownEventTypes.Updates:
54
- if (Array.isArray(chunk.data.messages)) {
55
- setMessages(accumulator.replaceMessages(chunk.data.messages));
56
- }
57
- setInterrupt(chunk.data.__interrupt__?.[0]);
58
- break;
59
- case LangGraphKnownEventTypes.Messages: {
60
- const [messageChunk] = chunk.data;
61
- if (!isLangChainMessageChunk(messageChunk)) {
62
- console.warn(
63
- "Received invalid message chunk format:",
64
- messageChunk
65
- );
66
- break;
67
- }
68
- const updatedMessages = accumulator.addMessages([
69
- messageChunk
70
- ]);
71
- setMessages(updatedMessages);
72
- break;
73
- }
74
- case LangGraphKnownEventTypes.Metadata:
75
- onMetadata?.(chunk.data);
76
- break;
77
- case LangGraphKnownEventTypes.Info:
78
- onInfo?.(chunk.data);
79
- break;
80
- case LangGraphKnownEventTypes.Error: {
81
- onError?.(chunk.data);
82
- const messages2 = accumulator.getMessages();
83
- const lastAiMessage = messages2.findLast(
84
- (m) => m != null && "type" in m && m.type === "ai" && m.id != null
85
- );
86
- if (lastAiMessage) {
87
- const errorMessage = {
88
- ...lastAiMessage,
89
- status: {
90
- type: "incomplete",
91
- reason: "error",
92
- error: chunk.data
19
+ export const useLangGraphMessages = ({ stream, appendMessage = DEFAULT_APPEND_MESSAGE, eventHandlers, }) => {
20
+ const [interrupt, setInterrupt] = useState();
21
+ const [messages, setMessages] = useState([]);
22
+ const abortControllerRef = useRef(null);
23
+ const { onMetadata, onInfo, onError, onCustomEvent } = useMemo(() => eventHandlers ?? {}, [eventHandlers]);
24
+ const api = useAssistantApi();
25
+ const sendMessage = useCallback(async (newMessages, config) => {
26
+ // ensure all messages have an ID
27
+ const newMessagesWithId = newMessages.map((m) => m.id ? m : { ...m, id: uuidv4() });
28
+ const accumulator = new LangGraphMessageAccumulator({
29
+ initialMessages: messages,
30
+ appendMessage,
31
+ });
32
+ setMessages(accumulator.addMessages(newMessagesWithId));
33
+ const abortController = new AbortController();
34
+ abortControllerRef.current = abortController;
35
+ const response = await stream(newMessagesWithId, {
36
+ ...config,
37
+ abortSignal: abortController.signal,
38
+ initialize: async () => {
39
+ return await api.threadListItem().initialize();
40
+ },
41
+ });
42
+ for await (const chunk of response) {
43
+ switch (chunk.event) {
44
+ case LangGraphKnownEventTypes.MessagesPartial:
45
+ case LangGraphKnownEventTypes.MessagesComplete:
46
+ setMessages(accumulator.addMessages(chunk.data));
47
+ break;
48
+ case LangGraphKnownEventTypes.Updates:
49
+ if (Array.isArray(chunk.data.messages)) {
50
+ setMessages(accumulator.replaceMessages(chunk.data.messages));
51
+ }
52
+ setInterrupt(chunk.data.__interrupt__?.[0]);
53
+ break;
54
+ case LangGraphKnownEventTypes.Messages: {
55
+ const [messageChunk] = chunk.data;
56
+ if (!isLangChainMessageChunk(messageChunk)) {
57
+ console.warn("Received invalid message chunk format:", messageChunk);
58
+ break;
59
+ }
60
+ const updatedMessages = accumulator.addMessages([
61
+ messageChunk,
62
+ ]);
63
+ setMessages(updatedMessages);
64
+ break;
93
65
  }
94
- };
95
- setMessages(accumulator.addMessages([errorMessage]));
96
- }
97
- break;
98
- }
99
- default:
100
- if (onCustomEvent) {
101
- onCustomEvent(chunk.event, chunk.data);
102
- } else {
103
- console.warn(
104
- "Unhandled event received:",
105
- chunk.event,
106
- chunk.data
107
- );
66
+ case LangGraphKnownEventTypes.Metadata:
67
+ onMetadata?.(chunk.data);
68
+ break;
69
+ case LangGraphKnownEventTypes.Info:
70
+ onInfo?.(chunk.data);
71
+ break;
72
+ case LangGraphKnownEventTypes.Error: {
73
+ onError?.(chunk.data);
74
+ // Update the last AI message with error status
75
+ // Assumes last AI message is the one the error relates to
76
+ const messages = accumulator.getMessages();
77
+ const lastAiMessage = messages.findLast((m) => m != null && "type" in m && m.type === "ai" && m.id != null);
78
+ if (lastAiMessage) {
79
+ const errorMessage = {
80
+ ...lastAiMessage,
81
+ status: {
82
+ type: "incomplete",
83
+ reason: "error",
84
+ error: chunk.data,
85
+ },
86
+ };
87
+ setMessages(accumulator.addMessages([errorMessage]));
88
+ }
89
+ break;
90
+ }
91
+ default:
92
+ if (onCustomEvent) {
93
+ onCustomEvent(chunk.event, chunk.data);
94
+ }
95
+ else {
96
+ console.warn("Unhandled event received:", chunk.event, chunk.data);
97
+ }
98
+ break;
108
99
  }
109
- break;
110
100
  }
111
- }
112
- },
113
- [
114
- api,
115
- messages,
116
- appendMessage,
117
- stream,
118
- onMetadata,
119
- onInfo,
120
- onError,
121
- onCustomEvent
122
- ]
123
- );
124
- const cancel = useCallback(() => {
125
- if (abortControllerRef.current) {
126
- abortControllerRef.current.abort();
127
- }
128
- }, [abortControllerRef]);
129
- return {
130
- interrupt,
131
- messages,
132
- sendMessage,
133
- cancel,
134
- setInterrupt,
135
- setMessages
136
- };
137
- };
138
- export {
139
- useLangGraphMessages
101
+ }, [
102
+ api,
103
+ messages,
104
+ appendMessage,
105
+ stream,
106
+ onMetadata,
107
+ onInfo,
108
+ onError,
109
+ onCustomEvent,
110
+ ]);
111
+ const cancel = useCallback(() => {
112
+ if (abortControllerRef.current) {
113
+ abortControllerRef.current.abort();
114
+ }
115
+ }, [abortControllerRef]);
116
+ return {
117
+ interrupt,
118
+ messages,
119
+ sendMessage,
120
+ cancel,
121
+ setInterrupt,
122
+ setMessages,
123
+ };
140
124
  };
141
125
  //# sourceMappingURL=useLangGraphMessages.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useLangGraphMessages.ts"],"sourcesContent":["import { useState, useCallback, useRef, useMemo } from \"react\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { LangGraphMessageAccumulator } from \"./LangGraphMessageAccumulator\";\nimport {\n EventType,\n LangChainMessageTupleEvent,\n LangGraphKnownEventTypes,\n LangChainMessageChunk,\n OnCustomEventCallback,\n OnErrorEventCallback,\n OnInfoEventCallback,\n OnMetadataEventCallback,\n} from \"./types\";\nimport { useAssistantApi } from \"@assistant-ui/react\";\n\nexport type LangGraphCommand = {\n resume: string;\n};\n\nexport type LangGraphSendMessageConfig = {\n command?: LangGraphCommand;\n runConfig?: unknown;\n};\n\nexport type LangGraphMessagesEvent<TMessage> = {\n event: EventType;\n data: TMessage[] | any;\n};\n\nexport type LangGraphStreamCallback<TMessage> = (\n messages: TMessage[],\n config: LangGraphSendMessageConfig & {\n abortSignal: AbortSignal;\n initialize: () => Promise<{\n remoteId: string;\n externalId: string | undefined;\n }>;\n },\n) =>\n | Promise<AsyncGenerator<LangGraphMessagesEvent<TMessage>>>\n | AsyncGenerator<LangGraphMessagesEvent<TMessage>>;\n\nexport type LangGraphInterruptState = {\n value?: any;\n resumable?: boolean;\n when?: string;\n ns?: string[];\n};\n\nconst DEFAULT_APPEND_MESSAGE = <TMessage>(\n _: TMessage | undefined,\n curr: TMessage,\n) => curr;\n\nconst isLangChainMessageChunk = (\n value: unknown,\n): value is LangChainMessageChunk => {\n if (!value || typeof value !== \"object\") return false;\n const chunk = value as any;\n return (\n \"type\" in chunk &&\n chunk.type === \"AIMessageChunk\" &&\n (chunk.content === undefined ||\n typeof chunk.content === \"string\" ||\n Array.isArray(chunk.content)) &&\n (chunk.tool_call_chunks === undefined ||\n Array.isArray(chunk.tool_call_chunks))\n );\n};\n\nexport const useLangGraphMessages = <TMessage extends { id?: string }>({\n stream,\n appendMessage = DEFAULT_APPEND_MESSAGE,\n eventHandlers,\n}: {\n stream: LangGraphStreamCallback<TMessage>;\n appendMessage?: (prev: TMessage | undefined, curr: TMessage) => TMessage;\n eventHandlers?: {\n onMetadata?: OnMetadataEventCallback;\n onInfo?: OnInfoEventCallback;\n onError?: OnErrorEventCallback;\n onCustomEvent?: OnCustomEventCallback;\n };\n}) => {\n const [interrupt, setInterrupt] = useState<\n LangGraphInterruptState | undefined\n >();\n const [messages, setMessages] = useState<TMessage[]>([]);\n const abortControllerRef = useRef<AbortController | null>(null);\n\n const { onMetadata, onInfo, onError, onCustomEvent } = useMemo(\n () => eventHandlers ?? {},\n [eventHandlers],\n );\n\n const api = useAssistantApi();\n const sendMessage = useCallback(\n async (newMessages: TMessage[], config: LangGraphSendMessageConfig) => {\n // ensure all messages have an ID\n const newMessagesWithId = newMessages.map((m) =>\n m.id ? m : { ...m, id: uuidv4() },\n );\n\n const accumulator = new LangGraphMessageAccumulator({\n initialMessages: messages,\n appendMessage,\n });\n setMessages(accumulator.addMessages(newMessagesWithId));\n\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n const response = await stream(newMessagesWithId, {\n ...config,\n abortSignal: abortController.signal,\n initialize: async () => {\n return await api.threadListItem().initialize();\n },\n });\n\n for await (const chunk of response) {\n switch (chunk.event) {\n case LangGraphKnownEventTypes.MessagesPartial:\n case LangGraphKnownEventTypes.MessagesComplete:\n setMessages(accumulator.addMessages(chunk.data));\n break;\n case LangGraphKnownEventTypes.Updates:\n if (Array.isArray(chunk.data.messages)) {\n setMessages(accumulator.replaceMessages(chunk.data.messages));\n }\n setInterrupt(chunk.data.__interrupt__?.[0]);\n break;\n case LangGraphKnownEventTypes.Messages: {\n const [messageChunk] = (chunk as LangChainMessageTupleEvent).data;\n if (!isLangChainMessageChunk(messageChunk)) {\n console.warn(\n \"Received invalid message chunk format:\",\n messageChunk,\n );\n break;\n }\n const updatedMessages = accumulator.addMessages([\n messageChunk as unknown as TMessage,\n ]);\n setMessages(updatedMessages);\n break;\n }\n case LangGraphKnownEventTypes.Metadata:\n onMetadata?.(chunk.data);\n break;\n case LangGraphKnownEventTypes.Info:\n onInfo?.(chunk.data);\n break;\n case LangGraphKnownEventTypes.Error: {\n onError?.(chunk.data);\n // Update the last AI message with error status\n // Assumes last AI message is the one the error relates to\n const messages = accumulator.getMessages();\n const lastAiMessage = messages.findLast(\n (m): m is TMessage & { type: string; id: string } =>\n m != null && \"type\" in m && m.type === \"ai\" && m.id != null,\n );\n if (lastAiMessage) {\n const errorMessage = {\n ...lastAiMessage,\n status: {\n type: \"incomplete\" as const,\n reason: \"error\" as const,\n error: chunk.data,\n },\n };\n setMessages(accumulator.addMessages([errorMessage]));\n }\n break;\n }\n default:\n if (onCustomEvent) {\n onCustomEvent(chunk.event, chunk.data);\n } else {\n console.warn(\n \"Unhandled event received:\",\n chunk.event,\n chunk.data,\n );\n }\n break;\n }\n }\n },\n [\n api,\n messages,\n appendMessage,\n stream,\n onMetadata,\n onInfo,\n onError,\n onCustomEvent,\n ],\n );\n\n const cancel = useCallback(() => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n }, [abortControllerRef]);\n\n return {\n interrupt,\n messages,\n sendMessage,\n cancel,\n setInterrupt,\n setMessages,\n };\n};\n"],"mappings":"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","names":["messages"]}
1
+ {"version":3,"file":"useLangGraphMessages.js","sourceRoot":"","sources":["../src/useLangGraphMessages.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { LangChainMessage, OnCustomEventCallback, OnErrorEventCallback, OnInfoEventCallback, OnMetadataEventCallback } from "./types";
1
+ import { LangChainMessage, OnCustomEventCallback, OnErrorEventCallback, OnInfoEventCallback, OnMetadataEventCallback } from "./types.js";
2
2
  import { AssistantCloud } from "@assistant-ui/react";
3
- import { LangGraphCommand, LangGraphInterruptState, LangGraphSendMessageConfig, LangGraphStreamCallback } from "./useLangGraphMessages";
3
+ import { LangGraphCommand, LangGraphInterruptState, LangGraphSendMessageConfig, LangGraphStreamCallback } from "./useLangGraphMessages.js";
4
4
  import { AttachmentAdapter } from "@assistant-ui/react";
5
5
  import { FeedbackAdapter } from "@assistant-ui/react";
6
6
  import { SpeechSynthesisAdapter } from "@assistant-ui/react";
@@ -1 +1 @@
1
- {"version":3,"file":"useLangGraphRuntime.d.ts","sourceRoot":"","sources":["../src/useLangGraphRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAEhB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,cAAc,EAOf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAuF7D,eAAO,MAAM,0BAA0B,2CAOtC,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAGnB,UAAU,gBAAgB,EAAE,EAAE,QAAQ,0BAA0B,kBAKzE,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAE1B,SAAS,gBAAgB,kBAClC,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,MAAM,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAClD;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAC/C,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;KACxC,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QACnC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;KACxC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,EACL;QACE,WAAW,CAAC,EAAE,iBAAiB,CAAC;QAChC,MAAM,CAAC,EAAE,sBAAsB,CAAC;QAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;KAC5B,GACD,SAAS,CAAC;IACd,aAAa,CAAC,EACV;QACE;;WAEG;QACH,UAAU,CAAC,EAAE,uBAAuB,CAAC;QACrC;;WAEG;QACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B;;WAEG;QACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAC/B;;WAEG;QACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;KACvC,GACD,SAAS,CAAC;IACd,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACpC,CAAC;AAkJF,eAAO,MAAM,mBAAmB,GAAI,iDAKjC,0BAA0B,mDA0B5B,CAAC"}
1
+ {"version":3,"file":"useLangGraphRuntime.d.ts","sourceRoot":"","sources":["../src/useLangGraphRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAEhB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACxB,mBAAgB;AACjB,OAAO,EACL,cAAc,EAOf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EAExB,kCAA+B;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAuF7D,eAAO,MAAM,0BAA0B,2CAOtC,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAGnB,UAAU,gBAAgB,EAAE,EAAE,QAAQ,0BAA0B,kBAKzE,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAE1B,SAAS,gBAAgB,kBAClC,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,MAAM,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAClD;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAC/C,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;KACxC,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QACnC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;KACxC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,EACL;QACE,WAAW,CAAC,EAAE,iBAAiB,CAAC;QAChC,MAAM,CAAC,EAAE,sBAAsB,CAAC;QAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;KAC5B,GACD,SAAS,CAAC;IACd,aAAa,CAAC,EACV;QACE;;WAEG;QACH,UAAU,CAAC,EAAE,uBAAuB,CAAC;QACrC;;WAEG;QACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B;;WAEG;QACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAC/B;;WAEG;QACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;KACvC,GACD,SAAS,CAAC;IACd,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACpC,CAAC;AAkJF,eAAO,MAAM,mBAAmB,GAAI,iDAKjC,0BAA0B,mDA0B5B,CAAC"}