@assistant-ui/react 0.8.1 → 0.8.4

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.
Files changed (142) hide show
  1. package/dist/api/MessageRuntime.d.ts.map +1 -1
  2. package/dist/api/ThreadRuntime.d.ts.map +1 -1
  3. package/dist/api/ThreadRuntime.js +1 -2
  4. package/dist/api/ThreadRuntime.js.map +1 -1
  5. package/dist/api/ThreadRuntime.mjs +1 -2
  6. package/dist/api/ThreadRuntime.mjs.map +1 -1
  7. package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -1
  8. package/dist/cloud/auiV0.d.ts +6 -0
  9. package/dist/cloud/auiV0.d.ts.map +1 -1
  10. package/dist/cloud/auiV0.js +2 -0
  11. package/dist/cloud/auiV0.js.map +1 -1
  12. package/dist/cloud/auiV0.mjs +2 -0
  13. package/dist/cloud/auiV0.mjs.map +1 -1
  14. package/dist/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  15. package/dist/context/ReadonlyStore.d.ts.map +1 -1
  16. package/dist/context/react/utils/ensureBinding.d.ts.map +1 -1
  17. package/dist/model-context/ModelContextTypes.d.ts.map +1 -1
  18. package/dist/model-context/makeAssistantTool.d.ts.map +1 -1
  19. package/dist/model-context/makeAssistantToolUI.d.ts.map +1 -1
  20. package/dist/model-context/makeAssistantVisible.d.ts.map +1 -1
  21. package/dist/model-context/useAssistantInstructions.d.ts.map +1 -1
  22. package/dist/model-context/useAssistantTool.d.ts.map +1 -1
  23. package/dist/model-context/useAssistantToolUI.d.ts.map +1 -1
  24. package/dist/model-context/useInlineRender.d.ts.map +1 -1
  25. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  26. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
  27. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  28. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  29. package/dist/primitives/composer/ComposerInput.js +1 -4
  30. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  31. package/dist/primitives/composer/ComposerInput.mjs +1 -4
  32. package/dist/primitives/composer/ComposerInput.mjs.map +1 -1
  33. package/dist/primitives/message/MessageContent.d.ts +3 -2
  34. package/dist/primitives/message/MessageContent.d.ts.map +1 -1
  35. package/dist/primitives/message/MessageContent.js +5 -1
  36. package/dist/primitives/message/MessageContent.js.map +1 -1
  37. package/dist/primitives/message/MessageContent.mjs +5 -1
  38. package/dist/primitives/message/MessageContent.mjs.map +1 -1
  39. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  40. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  41. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.d.ts.map +1 -1
  42. package/dist/runtimes/edge/converters/fromCoreMessage.d.ts.map +1 -1
  43. package/dist/runtimes/edge/converters/fromLanguageModelMessages.d.ts.map +1 -1
  44. package/dist/runtimes/edge/converters/fromLanguageModelTools.d.ts.map +1 -1
  45. package/dist/runtimes/edge/converters/toCoreMessages.d.ts.map +1 -1
  46. package/dist/runtimes/edge/converters/toCoreMessages.js +2 -1
  47. package/dist/runtimes/edge/converters/toCoreMessages.js.map +1 -1
  48. package/dist/runtimes/edge/converters/toCoreMessages.mjs +2 -1
  49. package/dist/runtimes/edge/converters/toCoreMessages.mjs.map +1 -1
  50. package/dist/runtimes/edge/converters/toLanguageModelMessages.d.ts.map +1 -1
  51. package/dist/runtimes/edge/converters/toLanguageModelMessages.js +2 -1
  52. package/dist/runtimes/edge/converters/toLanguageModelMessages.js.map +1 -1
  53. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs +2 -1
  54. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs.map +1 -1
  55. package/dist/runtimes/edge/converters/toLanguageModelTools.d.ts.map +1 -1
  56. package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts.map +1 -1
  57. package/dist/runtimes/edge/streams/AssistantStreamChunkType.d.ts +8 -1
  58. package/dist/runtimes/edge/streams/AssistantStreamChunkType.d.ts.map +1 -1
  59. package/dist/runtimes/edge/streams/AssistantStreamChunkType.js +1 -0
  60. package/dist/runtimes/edge/streams/AssistantStreamChunkType.js.map +1 -1
  61. package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs +1 -0
  62. package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs.map +1 -1
  63. package/dist/runtimes/edge/streams/assistantDecoderStream.d.ts.map +1 -1
  64. package/dist/runtimes/edge/streams/assistantDecoderStream.js +6 -0
  65. package/dist/runtimes/edge/streams/assistantDecoderStream.js.map +1 -1
  66. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs +6 -0
  67. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs.map +1 -1
  68. package/dist/runtimes/edge/streams/assistantEncoderStream.d.ts.map +1 -1
  69. package/dist/runtimes/edge/streams/assistantEncoderStream.js +6 -0
  70. package/dist/runtimes/edge/streams/assistantEncoderStream.js.map +1 -1
  71. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs +6 -0
  72. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs.map +1 -1
  73. package/dist/runtimes/edge/streams/runResultStream.d.ts.map +1 -1
  74. package/dist/runtimes/edge/streams/runResultStream.js +17 -0
  75. package/dist/runtimes/edge/streams/runResultStream.js.map +1 -1
  76. package/dist/runtimes/edge/streams/runResultStream.mjs +17 -0
  77. package/dist/runtimes/edge/streams/runResultStream.mjs.map +1 -1
  78. package/dist/runtimes/edge/streams/toolResultStream.d.ts +8 -0
  79. package/dist/runtimes/edge/streams/toolResultStream.d.ts.map +1 -1
  80. package/dist/runtimes/edge/streams/toolResultStream.js +1 -0
  81. package/dist/runtimes/edge/streams/toolResultStream.js.map +1 -1
  82. package/dist/runtimes/edge/streams/toolResultStream.mjs +1 -0
  83. package/dist/runtimes/edge/streams/toolResultStream.mjs.map +1 -1
  84. package/dist/runtimes/edge/useEdgeRuntime.d.ts.map +1 -1
  85. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
  86. package/dist/runtimes/external-store/ThreadMessageLike.d.ts +2 -2
  87. package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
  88. package/dist/runtimes/external-store/ThreadMessageLike.js +2 -0
  89. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  90. package/dist/runtimes/external-store/ThreadMessageLike.mjs +2 -0
  91. package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
  92. package/dist/runtimes/external-store/auto-status.d.ts.map +1 -1
  93. package/dist/runtimes/external-store/createMessageConverter.d.ts.map +1 -1
  94. package/dist/runtimes/external-store/external-message-converter.d.ts.map +1 -1
  95. package/dist/runtimes/external-store/getExternalStoreMessage.d.ts.map +1 -1
  96. package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts.map +1 -1
  97. package/dist/runtimes/local/ChatModelAdapter.d.ts +2 -2
  98. package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
  99. package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
  100. package/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -1
  101. package/dist/runtimes/local/shouldContinue.d.ts.map +1 -1
  102. package/dist/runtimes/local/useLocalRuntime.d.ts.map +1 -1
  103. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  104. package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts.map +1 -1
  105. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  106. package/dist/types/AssistantTypes.d.ts +9 -1
  107. package/dist/types/AssistantTypes.d.ts.map +1 -1
  108. package/dist/types/AssistantTypes.js.map +1 -1
  109. package/dist/types/ContentPartComponentTypes.d.ts +3 -1
  110. package/dist/types/ContentPartComponentTypes.d.ts.map +1 -1
  111. package/dist/types/ContentPartComponentTypes.js.map +1 -1
  112. package/dist/types/index.d.ts +2 -2
  113. package/dist/types/index.d.ts.map +1 -1
  114. package/dist/types/index.js.map +1 -1
  115. package/dist/utils/combined/createCombinedStore.d.ts.map +1 -1
  116. package/dist/utils/combined/useCombinedStore.d.ts.map +1 -1
  117. package/dist/utils/createActionButton.d.ts.map +1 -1
  118. package/dist/utils/getThreadMessageText.d.ts.map +1 -1
  119. package/dist/utils/hooks/useManagedRef.d.ts.map +1 -1
  120. package/dist/utils/hooks/useOnResizeContent.d.ts.map +1 -1
  121. package/dist/utils/hooks/useOnScrollToBottom.d.ts.map +1 -1
  122. package/dist/utils/idUtils.d.ts.map +1 -1
  123. package/dist/utils/json/parse-partial-json.d.ts.map +1 -1
  124. package/dist/utils/smooth/SmoothContext.d.ts.map +1 -1
  125. package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
  126. package/package.json +1 -1
  127. package/src/api/ThreadRuntime.ts +1 -2
  128. package/src/cloud/auiV0.ts +10 -0
  129. package/src/primitives/composer/ComposerInput.tsx +1 -4
  130. package/src/primitives/message/MessageContent.tsx +10 -2
  131. package/src/runtimes/edge/converters/toCoreMessages.ts +2 -1
  132. package/src/runtimes/edge/converters/toLanguageModelMessages.ts +3 -2
  133. package/src/runtimes/edge/streams/AssistantStreamChunkType.ts +7 -0
  134. package/src/runtimes/edge/streams/assistantDecoderStream.ts +7 -0
  135. package/src/runtimes/edge/streams/assistantEncoderStream.ts +7 -0
  136. package/src/runtimes/edge/streams/runResultStream.ts +25 -3
  137. package/src/runtimes/edge/streams/toolResultStream.ts +10 -0
  138. package/src/runtimes/external-store/ThreadMessageLike.tsx +10 -2
  139. package/src/runtimes/local/ChatModelAdapter.tsx +7 -1
  140. package/src/types/AssistantTypes.ts +11 -2
  141. package/src/types/ContentPartComponentTypes.tsx +4 -0
  142. package/src/types/index.ts +3 -0
@@ -56,6 +56,12 @@ export function runResultStream() {
56
56
  break;
57
57
  }
58
58
 
59
+ case "source": {
60
+ message = appendSource(message, chunk);
61
+ controller.enqueue(message);
62
+ break;
63
+ }
64
+
59
65
  case "tool-result": {
60
66
  message = appendOrUpdateToolResult(
61
67
  message,
@@ -111,7 +117,7 @@ export function runResultStream() {
111
117
  });
112
118
  }
113
119
 
114
- const appendOrUpdateReasoning= (
120
+ const appendOrUpdateReasoning = (
115
121
  message: CoreChatModelRunResult,
116
122
  textDelta: string,
117
123
  ) => {
@@ -168,7 +174,7 @@ const appendOrUpdateToolCall = (
168
174
  toolCallId,
169
175
  toolName,
170
176
  argsText: argsTextDelta,
171
- args: argsTextDelta ? parsePartialJson(argsTextDelta) : {},
177
+ args: argsTextDelta ? parsePartialJson(argsTextDelta) : {},
172
178
  };
173
179
  contentParts = [...contentParts, contentPart];
174
180
  } else {
@@ -176,7 +182,7 @@ const appendOrUpdateToolCall = (
176
182
  contentPart = {
177
183
  ...contentPart,
178
184
  argsText,
179
- args: argsTextDelta ? parsePartialJson(argsText) : {},
185
+ args: argsTextDelta ? parsePartialJson(argsText) : {},
180
186
  };
181
187
  contentParts = [
182
188
  ...contentParts.slice(0, contentPartIdx),
@@ -299,6 +305,22 @@ const appendOrUpdateFinish = (
299
305
  };
300
306
  };
301
307
 
308
+ const appendSource = (
309
+ message: CoreChatModelRunResult,
310
+ chunk: ToolResultStreamPart & { type: "source" },
311
+ ): CoreChatModelRunResult => {
312
+ return {
313
+ ...message,
314
+ content: [
315
+ ...message.content,
316
+ {
317
+ type: "source",
318
+ ...chunk.source,
319
+ },
320
+ ],
321
+ };
322
+ };
323
+
302
324
  const getStatus = (
303
325
  chunk:
304
326
  | (LanguageModelV1StreamPart & { type: "finish" })
@@ -14,6 +14,15 @@ export type ToolResultStreamPart =
14
14
  type: "data";
15
15
  data: ReadonlyJSONValue[];
16
16
  }
17
+ | {
18
+ type: "source";
19
+ source: {
20
+ readonly sourceType: "url";
21
+ readonly id: string;
22
+ readonly url: string;
23
+ readonly title?: string;
24
+ };
25
+ }
17
26
  | {
18
27
  type: "tool-result";
19
28
  toolCallType: "function";
@@ -129,6 +138,7 @@ export function toolResultStream(
129
138
  // ignore other parts
130
139
  case "text-delta":
131
140
  case "reasoning":
141
+ case "source":
132
142
  case "tool-call-delta":
133
143
  case "tool-result":
134
144
  case "step-finish":
@@ -13,7 +13,11 @@ import {
13
13
  FileContentPart,
14
14
  Unstable_AudioContentPart,
15
15
  } from "../../types";
16
- import { ReasoningContentPart, ThreadStep } from "../../types/AssistantTypes";
16
+ import {
17
+ ReasoningContentPart,
18
+ SourceContentPart,
19
+ ThreadStep,
20
+ } from "../../types/AssistantTypes";
17
21
  import {
18
22
  ReadonlyJSONObject,
19
23
  ReadonlyJSONValue,
@@ -27,6 +31,7 @@ export type ThreadMessageLike = {
27
31
  | readonly (
28
32
  | TextContentPart
29
33
  | ReasoningContentPart
34
+ | SourceContentPart
30
35
  | ImageContentPart
31
36
  | FileContentPart
32
37
  | Unstable_AudioContentPart
@@ -95,6 +100,9 @@ export const fromThreadMessageLike = (
95
100
  if (part.text.trim().length === 0) return null;
96
101
  return part;
97
102
 
103
+ case "source":
104
+ return part;
105
+
98
106
  case "tool-call": {
99
107
  if (part.args) {
100
108
  return {
@@ -144,7 +152,7 @@ export const fromThreadMessageLike = (
144
152
  return part;
145
153
 
146
154
  default: {
147
- const unhandledType: "tool-call" | "reasoning" = type;
155
+ const unhandledType: "tool-call" | "reasoning" | "source" = type;
148
156
  throw new Error(
149
157
  `Unsupported user content part type: ${unhandledType}`,
150
158
  );
@@ -2,6 +2,7 @@ import type {
2
2
  MessageStatus,
3
3
  ReasoningContentPart,
4
4
  RunConfig,
5
+ SourceContentPart,
5
6
  TextContentPart,
6
7
  ThreadAssistantContentPart,
7
8
  ThreadMessage,
@@ -28,7 +29,12 @@ export type ChatModelRunResult = {
28
29
  };
29
30
 
30
31
  export type CoreChatModelRunResult = Omit<ChatModelRunResult, "content"> & {
31
- readonly content: readonly (TextContentPart | ReasoningContentPart | ToolCallContentPart)[];
32
+ readonly content: readonly (
33
+ | TextContentPart
34
+ | ReasoningContentPart
35
+ | ToolCallContentPart
36
+ | SourceContentPart
37
+ )[];
32
38
  };
33
39
 
34
40
  export type ChatModelRunOptions = {
@@ -1,4 +1,3 @@
1
-
2
1
  import { CompleteAttachment } from "./AttachmentTypes";
3
2
  import {
4
3
  ReadonlyJSONObject,
@@ -17,6 +16,14 @@ export type ReasoningContentPart = {
17
16
  readonly text: string;
18
17
  };
19
18
 
19
+ export type SourceContentPart = {
20
+ readonly type: "source";
21
+ readonly sourceType: "url";
22
+ readonly id: string;
23
+ readonly url: string;
24
+ readonly title?: string;
25
+ };
26
+
20
27
  export type ImageContentPart = {
21
28
  readonly type: "image";
22
29
  readonly image: string;
@@ -103,7 +110,8 @@ export type ThreadUserContentPart =
103
110
  export type ThreadAssistantContentPart =
104
111
  | TextContentPart
105
112
  | ReasoningContentPart
106
- | ToolCallContentPart;
113
+ | ToolCallContentPart
114
+ | SourceContentPart;
107
115
 
108
116
  type MessageCommonProps = {
109
117
  readonly id: string;
@@ -111,6 +119,7 @@ type MessageCommonProps = {
111
119
  };
112
120
 
113
121
  export type ThreadStep = {
122
+ readonly messageId?: string;
114
123
  readonly usage?:
115
124
  | {
116
125
  readonly promptTokens: number;
@@ -4,6 +4,7 @@ import type {
4
4
  FileContentPart,
5
5
  ImageContentPart,
6
6
  ReasoningContentPart,
7
+ SourceContentPart,
7
8
  TextContentPart,
8
9
  ToolCallContentPart,
9
10
  Unstable_AudioContentPart,
@@ -22,6 +23,9 @@ export type ReasoningContentPartProps = ContentPartState & ReasoningContentPart;
22
23
  export type ReasoningContentPartComponent =
23
24
  ComponentType<ReasoningContentPartProps>;
24
25
 
26
+ export type SourceContentPartProps = ContentPartState & SourceContentPart;
27
+ export type SourceContentPartComponent = ComponentType<SourceContentPartProps>;
28
+
25
29
  export type ImageContentPartProps = ContentPartState & ImageContentPart;
26
30
  export type ImageContentPartComponent = ComponentType<ImageContentPartProps>;
27
31
 
@@ -9,6 +9,7 @@ export type {
9
9
  AppendMessage,
10
10
  TextContentPart,
11
11
  ReasoningContentPart,
12
+ SourceContentPart,
12
13
  ImageContentPart,
13
14
  FileContentPart,
14
15
  Unstable_AudioContentPart,
@@ -40,6 +41,8 @@ export type {
40
41
  TextContentPartComponent,
41
42
  ReasoningContentPartProps,
42
43
  ReasoningContentPartComponent,
44
+ SourceContentPartProps,
45
+ SourceContentPartComponent,
43
46
  ImageContentPartProps,
44
47
  ImageContentPartComponent,
45
48
  FileContentPartProps,