@assistant-ui/react-ai-sdk 1.3.13 → 1.3.15

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/index.d.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  /// <reference types="@assistant-ui/core/store" />
2
2
  /// <reference types="@assistant-ui/core/react" />
3
- export * from "./ui/index.js";
3
+ export { useAISDKRuntime } from "./ui/use-chat/useAISDKRuntime.js";
4
+ export { useChatRuntime } from "./ui/use-chat/useChatRuntime.js";
5
+ export type { UseChatRuntimeOptions } from "./ui/use-chat/useChatRuntime.js";
6
+ export { AssistantChatTransport } from "./ui/use-chat/AssistantChatTransport.js";
4
7
  export { frontendTools } from "./frontendTools.js";
8
+ export { injectQuoteContext } from "./injectQuoteContext.js";
5
9
  export type { ThreadTokenUsage, TokenUsageExtractableMessage } from "./usage.js";
6
10
  export { getThreadMessageTokenUsage, useThreadTokenUsage } from "./usage.js";
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,8BAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAChD,YAAY,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,mBAAgB;AAC9E,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,mBAAgB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,yCAAsC;AAChE,OAAO,EAAE,cAAc,EAAE,wCAAqC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,wCAAqC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,gDAA6C;AAC9E,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAChD,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAC1D,YAAY,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,mBAAgB;AAC9E,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,mBAAgB"}
package/dist/index.js CHANGED
@@ -1,6 +1,9 @@
1
1
  /// <reference types="@assistant-ui/core/store" />
2
2
  /// <reference types="@assistant-ui/core/react" />
3
- export * from "./ui/index.js";
3
+ export { useAISDKRuntime } from "./ui/use-chat/useAISDKRuntime.js";
4
+ export { useChatRuntime } from "./ui/use-chat/useChatRuntime.js";
5
+ export { AssistantChatTransport } from "./ui/use-chat/AssistantChatTransport.js";
4
6
  export { frontendTools } from "./frontendTools.js";
7
+ export { injectQuoteContext } from "./injectQuoteContext.js";
5
8
  export { getThreadMessageTokenUsage, useThreadTokenUsage } from "./usage.js";
6
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,kDAAkD;AAElD,8BAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAEhD,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,mBAAgB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,kDAAkD;AAElD,OAAO,EAAE,eAAe,EAAE,yCAAsC;AAChE,OAAO,EAAE,cAAc,EAAE,wCAAqC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,gDAA6C;AAC9E,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAChD,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AAE1D,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,mBAAgB"}
@@ -0,0 +1,24 @@
1
+ import type { UIMessage } from "ai";
2
+ /**
3
+ * Injects quote context into messages as markdown blockquotes.
4
+ *
5
+ * Use this in your route handler before `convertToModelMessages` so the LLM
6
+ * sees the quoted text that the user is referring to.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { convertToModelMessages, streamText } from "ai";
11
+ * import { injectQuoteContext } from "@assistant-ui/react-ai-sdk";
12
+ *
13
+ * export async function POST(req: Request) {
14
+ * const { messages } = await req.json();
15
+ * const result = streamText({
16
+ * model: myModel,
17
+ * messages: await convertToModelMessages(injectQuoteContext(messages)),
18
+ * });
19
+ * return result.toUIMessageStreamResponse();
20
+ * }
21
+ * ```
22
+ */
23
+ export declare function injectQuoteContext(messages: UIMessage[]): UIMessage[];
24
+ //# sourceMappingURL=injectQuoteContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectQuoteContext.d.ts","sourceRoot":"","sources":["../src/injectQuoteContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAepC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAyBrE"}
@@ -0,0 +1,58 @@
1
+ const getQuoteText = (metadata) => {
2
+ if (!metadata || typeof metadata !== "object")
3
+ return undefined;
4
+ const custom = metadata.custom;
5
+ if (!custom || typeof custom !== "object")
6
+ return undefined;
7
+ const quote = custom.quote;
8
+ if (!quote || typeof quote !== "object")
9
+ return undefined;
10
+ const text = quote.text;
11
+ return typeof text === "string" ? text : undefined;
12
+ };
13
+ /**
14
+ * Injects quote context into messages as markdown blockquotes.
15
+ *
16
+ * Use this in your route handler before `convertToModelMessages` so the LLM
17
+ * sees the quoted text that the user is referring to.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * import { convertToModelMessages, streamText } from "ai";
22
+ * import { injectQuoteContext } from "@assistant-ui/react-ai-sdk";
23
+ *
24
+ * export async function POST(req: Request) {
25
+ * const { messages } = await req.json();
26
+ * const result = streamText({
27
+ * model: myModel,
28
+ * messages: await convertToModelMessages(injectQuoteContext(messages)),
29
+ * });
30
+ * return result.toUIMessageStreamResponse();
31
+ * }
32
+ * ```
33
+ */
34
+ export function injectQuoteContext(messages) {
35
+ return messages.map((msg) => {
36
+ if (msg.role !== "user")
37
+ return msg;
38
+ const text = getQuoteText(msg.metadata);
39
+ if (!text)
40
+ return msg;
41
+ const blockquote = text
42
+ .split(/\r?\n/)
43
+ .map((line) => `> ${line}`)
44
+ .join("\n");
45
+ const alreadyInjected = msg.parts[0]?.type === "text" &&
46
+ msg.parts[0].text === `${blockquote}\n\n`;
47
+ if (alreadyInjected)
48
+ return msg;
49
+ return {
50
+ ...msg,
51
+ parts: [
52
+ { type: "text", text: `${blockquote}\n\n` },
53
+ ...(msg.parts ?? []),
54
+ ],
55
+ };
56
+ });
57
+ }
58
+ //# sourceMappingURL=injectQuoteContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectQuoteContext.js","sourceRoot":"","sources":["../src/injectQuoteContext.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,CAAC,QAAiB,EAAsB,EAAE;IAC7D,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhE,MAAM,MAAM,GAAI,QAAoC,CAAC,MAAM,CAAC;IAC5D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAE5D,MAAM,KAAK,GAAI,MAAkC,CAAC,KAAK,CAAC;IACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAE1D,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAC;IACrD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAqB;IACtD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC;QAEpC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC;QAEtB,MAAM,UAAU,GAAG,IAAI;aACpB,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;aAC1B,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,eAAe,GACnB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;YAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,UAAU,MAAM,CAAC;QAC5C,IAAI,eAAe;YAAE,OAAO,GAAG,CAAC;QAEhC,OAAO;YACL,GAAG,GAAG;YACN,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,GAAG,UAAU,MAAM,EAAE;gBACpD,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;aACrB;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAISDKRuntime.d.ts","sourceRoot":"","sources":["../../../src/ui/use-chat/useAISDKRuntime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQzE,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAKhB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAiB5B,MAAM,MAAM,6BAA6B,GAAG,CAC1C,UAAU,SAAS,SAAS,GAAG,SAAS,EAExC,OAAO,EAAE,aAAa,KACnB,eAAe,CAAC,UAAU,CAAC,CAAC;AAEjC,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EACL,CAAC,WAAW,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,GAAG;QAC/C,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;KAC5C,CAAC,GACF,SAAS,CAAC;IACd,eAAe,CAAC,EAAE,6BAA6B,CAAC;IAChD;;;;;;;OAOG;IACH,4BAA4B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,SAAS,SAAS,GAAG,SAAS,EACtE,aAAa,UAAU,CAAC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,EACnD,sFAIG,mBAAwB,qBAsO5B,CAAC"}
1
+ {"version":3,"file":"useAISDKRuntime.d.ts","sourceRoot":"","sources":["../../../src/ui/use-chat/useAISDKRuntime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQzE,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAKhB,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAiB5B,MAAM,MAAM,6BAA6B,GAAG,CAC1C,UAAU,SAAS,SAAS,GAAG,SAAS,EAExC,OAAO,EAAE,aAAa,KACnB,eAAe,CAAC,UAAU,CAAC,CAAC;AAEjC,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EACL,CAAC,WAAW,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,GAAG;QAC/C,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;KAC5C,CAAC,GACF,SAAS,CAAC;IACd,eAAe,CAAC,EAAE,6BAA6B,CAAC;IAChD;;;;;;;OAOG;IACH,4BAA4B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,SAAS,SAAS,GAAG,SAAS,EACtE,aAAa,UAAU,CAAC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,EACnD,sFAIG,mBAAwB,qBA8O5B,CAAC"}
@@ -15,6 +15,7 @@ export const useAISDKRuntime = (chatHelpers, { adapters, toCreateMessage: custom
15
15
  const contextAdapters = useRuntimeAdapters();
16
16
  const [toolStatuses, setToolStatuses] = useState({});
17
17
  const toolArgsKeyOrderCacheRef = useRef(new Map());
18
+ const lastRunConfigRef = useRef(undefined);
18
19
  const hasExecutingTools = Object.values(toolStatuses).some((s) => s?.type === "executing");
19
20
  const isRunning = chatHelpers.status === "submitted" ||
20
21
  chatHelpers.status === "streaming" ||
@@ -47,6 +48,7 @@ export const useAISDKRuntime = (chatHelpers, { adapters, toCreateMessage: custom
47
48
  tool: command.toolName,
48
49
  toolCallId: command.toolCallId,
49
50
  output: command.result,
51
+ options: { metadata: lastRunConfigRef.current },
50
52
  });
51
53
  }
52
54
  },
@@ -129,6 +131,7 @@ export const useAISDKRuntime = (chatHelpers, { adapters, toCreateMessage: custom
129
131
  await toolInvocations.abort();
130
132
  },
131
133
  onNew: async (message) => {
134
+ lastRunConfigRef.current = message.runConfig;
132
135
  await completePendingToolCalls();
133
136
  const createMessage = (customToCreateMessage ?? toCreateMessage)(message);
134
137
  await chatHelpers.sendMessage(createMessage, {
@@ -136,6 +139,7 @@ export const useAISDKRuntime = (chatHelpers, { adapters, toCreateMessage: custom
136
139
  });
137
140
  },
138
141
  onEdit: async (message) => {
142
+ lastRunConfigRef.current = message.runConfig;
139
143
  const newMessages = sliceMessagesUntil(chatHelpers.messages, message.parentId);
140
144
  chatHelpers.setMessages(newMessages);
141
145
  const createMessage = (customToCreateMessage ?? toCreateMessage)(message);
@@ -144,17 +148,20 @@ export const useAISDKRuntime = (chatHelpers, { adapters, toCreateMessage: custom
144
148
  });
145
149
  },
146
150
  onReload: async (parentId, config) => {
151
+ lastRunConfigRef.current = config.runConfig;
147
152
  const newMessages = sliceMessagesUntil(chatHelpers.messages, parentId);
148
153
  chatHelpers.setMessages(newMessages);
149
154
  await chatHelpers.regenerate({ metadata: config.runConfig });
150
155
  },
151
156
  onAddToolResult: ({ toolCallId, result, isError }) => {
157
+ const options = { metadata: lastRunConfigRef.current };
152
158
  if (isError) {
153
159
  chatHelpers.addToolOutput({
154
160
  state: "output-error",
155
161
  tool: toolCallId,
156
162
  toolCallId,
157
163
  errorText: typeof result === "string" ? result : JSON.stringify(result),
164
+ options,
158
165
  });
159
166
  }
160
167
  else {
@@ -163,6 +170,7 @@ export const useAISDKRuntime = (chatHelpers, { adapters, toCreateMessage: custom
163
170
  tool: toolCallId,
164
171
  toolCallId,
165
172
  output: result,
173
+ options,
166
174
  });
167
175
  }
168
176
  },
@@ -1 +1 @@
1
- {"version":3,"file":"useAISDKRuntime.js","sourceRoot":"","sources":["../../../src/ui/use-chat/useAISDKRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAISDKRuntime.js","sourceRoot":"","sources":["../../../src/ui/use-chat/useAISDKRuntime.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,0BAA0B,CAAC;AAYlC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,uCAAoC;AACjE,OAAO,EAAE,eAAe,EAAE,oCAAiC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,4CAAyC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,kCAA+B;AAC7D,OAAO,EAAE,qBAAqB,EAAE,mCAAgC;AAChE,OAAO,EAEL,oBAAoB,GACrB,0CAAuC;AACxC,OAAO,EACL,kBAAkB,EAClB,2BAA2B,GAC5B,gCAA6B;AAC9B,OAAO,EAAE,kBAAkB,EAAE,gCAA6B;AA0B1D,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,WAAmD,EACnD,EACE,QAAQ,EACR,eAAe,EAAE,qBAAqB,EACtC,4BAA4B,GAAG,IAAI,MACZ,EAAE,EAC3B,EAAE;IACF,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAE9C,EAAE,CAAC,CAAC;IACN,MAAM,wBAAwB,GAAG,MAAM,CACrC,IAAI,GAAG,EAAE,CACV,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,CAAwB,SAAS,CAAC,CAAC;IAElE,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,CAC/B,CAAC;IACF,MAAM,SAAS,GACb,WAAW,CAAC,MAAM,KAAK,WAAW;QAClC,WAAW,CAAC,MAAM,KAAK,WAAW;QAClC,iBAAiB,CAAC;IAEpB,MAAM,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,iBAAiB,CAAC;QACvD,SAAS;QACT,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,QAAQ,EAAE,OAAO,CACf,GAAG,EAAE,CAAC,CAAC;YACL,YAAY;YACZ,aAAa;YACb,qBAAqB,EAAE,wBAAwB,CAAC,OAAO;YACvD,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;SAC/D,CAAC,EACF,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC,CACjD;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,IAAI,OAAO;YACT,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,eAAe,GAAG,kBAAkB,CAAC;QACzC,KAAK,EAAE;YACL,QAAQ;YACR,SAAS;SACV;QACD,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,KAAK;QACjE,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACpB,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACvC,WAAW,CAAC,aAAa,CAAC;oBACxB,IAAI,EAAE,OAAO,CAAC,QAAQ;oBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,EAAE,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE;iBAChD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,kBAAkB,CAClC,UAAU,EACV,QAAQ,EAAE,OAAO,IAAI,eAAe,EAAE,OAAO,EAC7C,qBAAqB,CAAC,gBAEF,EACpB,oBAGC,EACD,CAAC,QAAQ,EAAE,EAAE;QACX,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CACF,CAAC;IAEF,MAAM,wBAAwB,GAAG,KAAK,IAAI,EAAE;QAC1C,IAAI,CAAC,4BAA4B;YAAE,OAAO;QAE1C,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAE9B,2GAA2G;QAC3G,WAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnC,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,WAAW,EAAE,IAAI,KAAK,WAAW;gBAAE,OAAO,QAAQ,CAAC;YAEvD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACrC,IAAI,IAAI,CAAC,KAAK,KAAK,kBAAkB,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc;oBACpE,OAAO,IAAI,CAAC;gBAEd,UAAU,GAAG,IAAI,CAAC;gBAClB,OAAO;oBACL,GAAG,IAAI;oBACP,KAAK,EAAE,cAAuB;oBAC9B,SAAS,EAAE,oDAAoD;iBAChE,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU;gBAAE,OAAO,QAAQ,CAAC;YACjC,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,uBAAuB,CAAC;QACtC,SAAS;QACT,QAAQ;QACR,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CACxB,WAAW,CAAC,WAAW,CACrB,QAAQ;aACL,GAAG,CAAC,CAAA,mBAA+B,CAAA,CAAC;aACpC,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,EAAE,CACV;QACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CACrB,WAAW,CAAC,WAAW,CACrB,QAAQ;aACL,GAAG,CAAC,CAAA,mBAA+B,CAAA,CAAC;aACpC,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,EAAE,CACV;QACH,qBAAqB,EAAE,GAAwC,EAAE;YAC/D,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAEpD,MAAM,gBAAgB,GAAoC,EAAE,CAAC;YAC7D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;YAEjD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACrC,MAAM,aAAa,GAAG,wBAAwB,CAC5C,IAAI,CAAC,OAAO,CACb,CAAC;gBACF,IAAI,QAAQ,GACV,IAAI,CAAC,QAAQ,IAAI,IAAI;oBACnB,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;oBACtD,CAAC,CAAC,IAAI,CAAC;gBACX,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;oBACzC,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC3D,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,YAAyB,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,cAAc,CAAC,GAAG,CAChB,IAAI,CAAC,OAAO,CAAC,EAAE,EACf,oBAAoB,CAAC,KAAK,CACxB,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAe,CACtD,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAwC;gBAClD,QAAQ,EAAE,gBAAgB;aAC3B,CAAC;YAEF,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;YACzE,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,mBAAmB,EAAE,CAAC,IAAyC,EAAE,EAAE;YACjE,+DAA+D;YAC/D,MAAM,YAAY,GAAG,2BAA2B,CAC9C,qBAAqB,CAAC,gBAAgB,EACtC,IAAI,CACL,CAAC;YAEF,6CAA6C;YAC7C,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;QACD,QAAQ,EAAE,KAAK,IAAI,EAAE;YACnB,WAAW,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvB,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;YAC7C,MAAM,wBAAwB,EAAE,CAAC;YAEjC,MAAM,aAAa,GAAG,CACpB,qBAAqB,IAAI,eAAe,CACzC,CAAa,OAAO,CAAC,CAAC;YACvB,MAAM,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE;gBAC3C,QAAQ,EAAE,OAAO,CAAC,SAAS;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxB,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;YAC7C,MAAM,WAAW,GAAG,kBAAkB,CACpC,WAAW,CAAC,QAAQ,EACpB,OAAO,CAAC,QAAQ,CACjB,CAAC;YACF,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAErC,MAAM,aAAa,GAAG,CACpB,qBAAqB,IAAI,eAAe,CACzC,CAAa,OAAO,CAAC,CAAC;YACvB,MAAM,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE;gBAC3C,QAAQ,EAAE,OAAO,CAAC,SAAS;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,QAAuB,EAAE,MAAM,EAAE,EAAE;YAClD,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;YAC5C,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACvE,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAErC,MAAM,WAAW,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,eAAe,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YACnD,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,aAAa,CAAC;oBACxB,KAAK,EAAE,cAAc;oBACrB,IAAI,EAAE,UAAU;oBAChB,UAAU;oBACV,SAAS,EACP,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAC9D,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,aAAa,CAAC;oBACxB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,UAAU;oBAChB,UAAU;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC5B,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC;QAC7D,QAAQ,EAAE;YACR,WAAW,EAAE,uBAAuB;YACpC,GAAG,eAAe;YAClB,GAAG,QAAQ;SACZ;QACD,SAAS;KACV,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { useChat } from "@ai-sdk/react";
3
- import { useCloudThreadListAdapter as unstable_useCloudThreadListAdapter, useRemoteThreadListRuntime as unstable_useRemoteThreadListRuntime, } from "@assistant-ui/core/react";
3
+ import { useCloudThreadListAdapter, useRemoteThreadListRuntime, } from "@assistant-ui/core/react";
4
4
  import { useAuiState } from "@assistant-ui/store";
5
5
  import { useAISDKRuntime, } from "./useAISDKRuntime.js";
6
6
  import { AssistantChatTransport } from "./AssistantChatTransport.js";
@@ -39,8 +39,8 @@ const useChatThreadRuntime = (options) => {
39
39
  return runtime;
40
40
  };
41
41
  export const useChatRuntime = ({ cloud, ...options } = {}) => {
42
- const cloudAdapter = unstable_useCloudThreadListAdapter({ cloud });
43
- return unstable_useRemoteThreadListRuntime({
42
+ const cloudAdapter = useCloudThreadListAdapter({ cloud });
43
+ return useRemoteThreadListRuntime({
44
44
  runtimeHook: function RuntimeHook() {
45
45
  return useChatThreadRuntime(options);
46
46
  },
@@ -1 +1 @@
1
- {"version":3,"file":"useChatRuntime.js","sourceRoot":"","sources":["../../../src/ui/use-chat/useChatRuntime.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,OAAO,EAAkB,MAAM,eAAe,CAAC;AAGxD,OAAO,EACL,yBAAyB,IAAI,kCAAkC,EAC/D,0BAA0B,IAAI,mCAAmC,GAClE,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,eAAe,GAGhB,6BAA0B;AAE3B,OAAO,EAAE,sBAAsB,EAAE,oCAAiC;AAClE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AASnD,MAAM,uBAAuB,GAAG,CAC9B,SAAoC,EACT,EAAE;IAC7B,MAAM,YAAY,GAAG,MAAM,CAA4B,SAAS,CAAC,CAAC;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CACH,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;QAC9B,GAAG,CAAC,CAAC,EAAE,IAAI;YACT,MAAM,GAAG,GACP,YAAY,CAAC,OAAO,CAAC,IAAuC,CAAC,CAAC;YAChE,OAAO,OAAO,GAAG,KAAK,UAAU;gBAC9B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;gBAChC,CAAC,CAAC,GAAG,CAAC;QACV,CAAC;KACF,CAAC,EACJ,EAAE,CACH,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,OAA2C,EACzB,EAAE;IACpB,MAAM,EACJ,QAAQ,EACR,SAAS,EAAE,gBAAgB,EAC3B,eAAe,EACf,GAAG,WAAW,EACf,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,SAAS,GAAG,uBAAuB,CACvC,gBAAgB,IAAI,IAAI,sBAAsB,EAAE,CACjD,CAAC;IAEF,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC;QACnB,GAAG,WAAW;QACd,EAAE;QACF,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE;QACpC,QAAQ;QACR,GAAG,CAAC,eAAe,IAAI,EAAE,eAAe,EAAE,CAAC;KAC5C,CAAC,CAAC;IAEH,IAAI,SAAS,YAAY,sBAAsB,EAAE,CAAC;QAChD,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAA2C,EACvE,KAAK,EACL,GAAG,OAAO,KAC2B,EAAE,EAAoB,EAAE;IAC7D,MAAM,YAAY,GAAG,kCAAkC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,OAAO,mCAAmC,CAAC;QACzC,WAAW,EAAE,SAAS,WAAW;YAC/B,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"useChatRuntime.js","sourceRoot":"","sources":["../../../src/ui/use-chat/useChatRuntime.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,OAAO,EAAkB,MAAM,eAAe,CAAC;AAGxD,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,eAAe,GAGhB,6BAA0B;AAE3B,OAAO,EAAE,sBAAsB,EAAE,oCAAiC;AAClE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AASnD,MAAM,uBAAuB,GAAG,CAC9B,SAAoC,EACT,EAAE;IAC7B,MAAM,YAAY,GAAG,MAAM,CAA4B,SAAS,CAAC,CAAC;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CACH,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;QAC9B,GAAG,CAAC,CAAC,EAAE,IAAI;YACT,MAAM,GAAG,GACP,YAAY,CAAC,OAAO,CAAC,IAAuC,CAAC,CAAC;YAChE,OAAO,OAAO,GAAG,KAAK,UAAU;gBAC9B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;gBAChC,CAAC,CAAC,GAAG,CAAC;QACV,CAAC;KACF,CAAC,EACJ,EAAE,CACH,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,OAA2C,EACzB,EAAE;IACpB,MAAM,EACJ,QAAQ,EACR,SAAS,EAAE,gBAAgB,EAC3B,eAAe,EACf,GAAG,WAAW,EACf,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,SAAS,GAAG,uBAAuB,CACvC,gBAAgB,IAAI,IAAI,sBAAsB,EAAE,CACjD,CAAC;IAEF,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC;QACnB,GAAG,WAAW;QACd,EAAE;QACF,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE;QACpC,QAAQ;QACR,GAAG,CAAC,eAAe,IAAI,EAAE,eAAe,EAAE,CAAC;KAC5C,CAAC,CAAC;IAEH,IAAI,SAAS,YAAY,sBAAsB,EAAE,CAAC;QAChD,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAA2C,EACvE,KAAK,EACL,GAAG,OAAO,KAC2B,EAAE,EAAoB,EAAE;IAC7D,MAAM,YAAY,GAAG,yBAAyB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,OAAO,0BAA0B,CAAC;QAChC,WAAW,EAAE,SAAS,WAAW;YAC/B,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"convertMessage.d.ts","sourceRoot":"","sources":["../../../src/ui/utils/convertMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/D,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,0BAA0B,CAAC;AAYlC,MAAM,MAAM,6BAA6B,GACvC,2BAA2B,CAAC,QAAQ,GAAG;IACrC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;CAC5D,CAAC;AAmNJ,eAAO,MAAM,qBAAqB;;;;;;;;wHA7MO,qDACtB;uHAIjB,qDACM;;;CAiQP,CAAC"}
1
+ {"version":3,"file":"convertMessage.d.ts","sourceRoot":"","sources":["../../../src/ui/utils/convertMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/D,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,0BAA0B,CAAC;AAYlC,MAAM,MAAM,6BAA6B,GACvC,2BAA2B,CAAC,QAAQ,GAAG;IACrC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;CAC5D,CAAC;AAmNJ,eAAO,MAAM,qBAAqB;;;;;;;;wHA7MU,qDACvB;uHAInB,qDACQ;;;CAiQT,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assistant-ui/react-ai-sdk",
3
- "version": "1.3.13",
3
+ "version": "1.3.15",
4
4
  "description": "Vercel AI SDK adapter for assistant-ui",
5
5
  "keywords": [
6
6
  "ai-sdk",
@@ -31,22 +31,19 @@
31
31
  ],
32
32
  "sideEffects": false,
33
33
  "dependencies": {
34
- "@ai-sdk/react": "^3.0.118",
35
- "ai": "^6.0.116"
34
+ "@ai-sdk/react": "^3.0.136",
35
+ "@assistant-ui/core": "^0.1.8",
36
+ "@assistant-ui/store": "^0.2.4",
37
+ "ai": "^6.0.134",
38
+ "assistant-cloud": "*"
36
39
  },
37
40
  "peerDependencies": {
38
- "@assistant-ui/core": "^0.1.3",
39
- "@assistant-ui/store": "^0.2.2",
40
41
  "@types/react": "*",
41
- "assistant-cloud": "*",
42
42
  "react": "^18 || ^19"
43
43
  },
44
44
  "peerDependenciesMeta": {
45
45
  "@types/react": {
46
46
  "optional": true
47
- },
48
- "assistant-cloud": {
49
- "optional": true
50
47
  }
51
48
  },
52
49
  "devDependencies": {
@@ -54,13 +51,11 @@
54
51
  "@types/json-schema": "^7.0.15",
55
52
  "@types/react": "^19.2.14",
56
53
  "@types/react-dom": "^19.2.3",
57
- "jsdom": "^28.1.0",
54
+ "jsdom": "^29.0.1",
58
55
  "react": "^19.2.4",
59
- "vitest": "^4.0.18",
60
- "@assistant-ui/core": "0.1.3",
61
- "@assistant-ui/store": "0.2.2",
62
- "@assistant-ui/x-buildutils": "0.0.2",
63
- "assistant-stream": "0.3.4"
56
+ "vitest": "^4.1.0",
57
+ "@assistant-ui/x-buildutils": "0.0.3",
58
+ "assistant-stream": "0.3.7"
64
59
  },
65
60
  "publishConfig": {
66
61
  "access": "public",
package/src/index.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  /// <reference types="@assistant-ui/core/store" />
2
2
  /// <reference types="@assistant-ui/core/react" />
3
3
 
4
- export * from "./ui";
4
+ export { useAISDKRuntime } from "./ui/use-chat/useAISDKRuntime";
5
+ export { useChatRuntime } from "./ui/use-chat/useChatRuntime";
6
+ export type { UseChatRuntimeOptions } from "./ui/use-chat/useChatRuntime";
7
+ export { AssistantChatTransport } from "./ui/use-chat/AssistantChatTransport";
5
8
  export { frontendTools } from "./frontendTools";
9
+ export { injectQuoteContext } from "./injectQuoteContext";
6
10
  export type { ThreadTokenUsage, TokenUsageExtractableMessage } from "./usage";
7
11
  export { getThreadMessageTokenUsage, useThreadTokenUsage } from "./usage";
@@ -0,0 +1,62 @@
1
+ import type { UIMessage } from "ai";
2
+
3
+ const getQuoteText = (metadata: unknown): string | undefined => {
4
+ if (!metadata || typeof metadata !== "object") return undefined;
5
+
6
+ const custom = (metadata as Record<string, unknown>).custom;
7
+ if (!custom || typeof custom !== "object") return undefined;
8
+
9
+ const quote = (custom as Record<string, unknown>).quote;
10
+ if (!quote || typeof quote !== "object") return undefined;
11
+
12
+ const text = (quote as Record<string, unknown>).text;
13
+ return typeof text === "string" ? text : undefined;
14
+ };
15
+
16
+ /**
17
+ * Injects quote context into messages as markdown blockquotes.
18
+ *
19
+ * Use this in your route handler before `convertToModelMessages` so the LLM
20
+ * sees the quoted text that the user is referring to.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * import { convertToModelMessages, streamText } from "ai";
25
+ * import { injectQuoteContext } from "@assistant-ui/react-ai-sdk";
26
+ *
27
+ * export async function POST(req: Request) {
28
+ * const { messages } = await req.json();
29
+ * const result = streamText({
30
+ * model: myModel,
31
+ * messages: await convertToModelMessages(injectQuoteContext(messages)),
32
+ * });
33
+ * return result.toUIMessageStreamResponse();
34
+ * }
35
+ * ```
36
+ */
37
+ export function injectQuoteContext(messages: UIMessage[]): UIMessage[] {
38
+ return messages.map((msg) => {
39
+ if (msg.role !== "user") return msg;
40
+
41
+ const text = getQuoteText(msg.metadata);
42
+ if (!text) return msg;
43
+
44
+ const blockquote = text
45
+ .split(/\r?\n/)
46
+ .map((line) => `> ${line}`)
47
+ .join("\n");
48
+
49
+ const alreadyInjected =
50
+ msg.parts[0]?.type === "text" &&
51
+ msg.parts[0].text === `${blockquote}\n\n`;
52
+ if (alreadyInjected) return msg;
53
+
54
+ return {
55
+ ...msg,
56
+ parts: [
57
+ { type: "text" as const, text: `${blockquote}\n\n` },
58
+ ...(msg.parts ?? []),
59
+ ],
60
+ };
61
+ });
62
+ }
@@ -18,6 +18,7 @@ import type {
18
18
  MessageFormatItem,
19
19
  MessageFormatRepository,
20
20
  AppendMessage,
21
+ RunConfig,
21
22
  } from "@assistant-ui/core";
22
23
  import { getExternalStoreMessages } from "@assistant-ui/core";
23
24
  import { sliceMessagesUntil } from "../utils/sliceMessagesUntil";
@@ -74,6 +75,7 @@ export const useAISDKRuntime = <UI_MESSAGE extends UIMessage = UIMessage>(
74
75
  const toolArgsKeyOrderCacheRef = useRef<Map<string, Map<string, string[]>>>(
75
76
  new Map(),
76
77
  );
78
+ const lastRunConfigRef = useRef<RunConfig | undefined>(undefined);
77
79
 
78
80
  const hasExecutingTools = Object.values(toolStatuses).some(
79
81
  (s) => s?.type === "executing",
@@ -117,6 +119,7 @@ export const useAISDKRuntime = <UI_MESSAGE extends UIMessage = UIMessage>(
117
119
  tool: command.toolName,
118
120
  toolCallId: command.toolCallId,
119
121
  output: command.result,
122
+ options: { metadata: lastRunConfigRef.current },
120
123
  });
121
124
  }
122
125
  },
@@ -237,6 +240,7 @@ export const useAISDKRuntime = <UI_MESSAGE extends UIMessage = UIMessage>(
237
240
  await toolInvocations.abort();
238
241
  },
239
242
  onNew: async (message) => {
243
+ lastRunConfigRef.current = message.runConfig;
240
244
  await completePendingToolCalls();
241
245
 
242
246
  const createMessage = (
@@ -247,6 +251,7 @@ export const useAISDKRuntime = <UI_MESSAGE extends UIMessage = UIMessage>(
247
251
  });
248
252
  },
249
253
  onEdit: async (message) => {
254
+ lastRunConfigRef.current = message.runConfig;
250
255
  const newMessages = sliceMessagesUntil(
251
256
  chatHelpers.messages,
252
257
  message.parentId,
@@ -261,12 +266,14 @@ export const useAISDKRuntime = <UI_MESSAGE extends UIMessage = UIMessage>(
261
266
  });
262
267
  },
263
268
  onReload: async (parentId: string | null, config) => {
269
+ lastRunConfigRef.current = config.runConfig;
264
270
  const newMessages = sliceMessagesUntil(chatHelpers.messages, parentId);
265
271
  chatHelpers.setMessages(newMessages);
266
272
 
267
273
  await chatHelpers.regenerate({ metadata: config.runConfig });
268
274
  },
269
275
  onAddToolResult: ({ toolCallId, result, isError }) => {
276
+ const options = { metadata: lastRunConfigRef.current };
270
277
  if (isError) {
271
278
  chatHelpers.addToolOutput({
272
279
  state: "output-error",
@@ -274,6 +281,7 @@ export const useAISDKRuntime = <UI_MESSAGE extends UIMessage = UIMessage>(
274
281
  toolCallId,
275
282
  errorText:
276
283
  typeof result === "string" ? result : JSON.stringify(result),
284
+ options,
277
285
  });
278
286
  } else {
279
287
  chatHelpers.addToolOutput({
@@ -281,6 +289,7 @@ export const useAISDKRuntime = <UI_MESSAGE extends UIMessage = UIMessage>(
281
289
  tool: toolCallId,
282
290
  toolCallId,
283
291
  output: result,
292
+ options,
284
293
  });
285
294
  }
286
295
  },
@@ -4,8 +4,8 @@ import { useChat, type UIMessage } from "@ai-sdk/react";
4
4
  import type { AssistantCloud } from "assistant-cloud";
5
5
  import type { AssistantRuntime } from "@assistant-ui/core";
6
6
  import {
7
- useCloudThreadListAdapter as unstable_useCloudThreadListAdapter,
8
- useRemoteThreadListRuntime as unstable_useRemoteThreadListRuntime,
7
+ useCloudThreadListAdapter,
8
+ useRemoteThreadListRuntime,
9
9
  } from "@assistant-ui/core/react";
10
10
  import { useAuiState } from "@assistant-ui/store";
11
11
  import {
@@ -84,8 +84,8 @@ export const useChatRuntime = <UI_MESSAGE extends UIMessage = UIMessage>({
84
84
  cloud,
85
85
  ...options
86
86
  }: UseChatRuntimeOptions<UI_MESSAGE> = {}): AssistantRuntime => {
87
- const cloudAdapter = unstable_useCloudThreadListAdapter({ cloud });
88
- return unstable_useRemoteThreadListRuntime({
87
+ const cloudAdapter = useCloudThreadListAdapter({ cloud });
88
+ return useRemoteThreadListRuntime({
89
89
  runtimeHook: function RuntimeHook() {
90
90
  return useChatThreadRuntime(options);
91
91
  },
@@ -1,5 +0,0 @@
1
- export { useAISDKRuntime } from "./use-chat/useAISDKRuntime.js";
2
- export { useChatRuntime } from "./use-chat/useChatRuntime.js";
3
- export type { UseChatRuntimeOptions } from "./use-chat/useChatRuntime.js";
4
- export { AssistantChatTransport } from "./use-chat/AssistantChatTransport.js";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,YAAY,EAAE,qBAAqB,EAAE,qCAAkC;AACvE,OAAO,EAAE,sBAAsB,EAAE,6CAA0C"}
package/dist/ui/index.js DELETED
@@ -1,4 +0,0 @@
1
- export { useAISDKRuntime } from "./use-chat/useAISDKRuntime.js";
2
- export { useChatRuntime } from "./use-chat/useChatRuntime.js";
3
- export { AssistantChatTransport } from "./use-chat/AssistantChatTransport.js";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,6CAA0C"}
package/src/ui/index.ts DELETED
@@ -1,4 +0,0 @@
1
- export { useAISDKRuntime } from "./use-chat/useAISDKRuntime";
2
- export { useChatRuntime } from "./use-chat/useChatRuntime";
3
- export type { UseChatRuntimeOptions } from "./use-chat/useChatRuntime";
4
- export { AssistantChatTransport } from "./use-chat/AssistantChatTransport";