@assistant-ui/react 0.7.55 → 0.7.57

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 (93) hide show
  1. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +1 -1
  2. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
  3. package/dist/runtimes/edge/converters/fromCoreMessage.d.ts.map +1 -1
  4. package/dist/runtimes/edge/converters/fromCoreMessage.js +6 -1
  5. package/dist/runtimes/edge/converters/fromCoreMessage.js.map +1 -1
  6. package/dist/runtimes/edge/converters/fromCoreMessage.mjs +6 -1
  7. package/dist/runtimes/edge/converters/fromCoreMessage.mjs.map +1 -1
  8. package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts +1 -1
  9. package/dist/runtimes/edge/createEdgeRuntimeAPI.d.ts.map +1 -1
  10. package/dist/runtimes/edge/createEdgeRuntimeAPI.js.map +1 -1
  11. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs.map +1 -1
  12. package/dist/runtimes/edge/streams/assistantDecoderStream.d.ts.map +1 -1
  13. package/dist/runtimes/edge/streams/assistantDecoderStream.js +6 -1
  14. package/dist/runtimes/edge/streams/assistantDecoderStream.js.map +1 -1
  15. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs +6 -1
  16. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs.map +1 -1
  17. package/dist/runtimes/edge/streams/assistantEncoderStream.d.ts.map +1 -1
  18. package/dist/runtimes/edge/streams/assistantEncoderStream.js +7 -0
  19. package/dist/runtimes/edge/streams/assistantEncoderStream.js.map +1 -1
  20. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs +7 -0
  21. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs.map +1 -1
  22. package/dist/runtimes/edge/streams/runResultStream.d.ts.map +1 -1
  23. package/dist/runtimes/edge/streams/runResultStream.js +17 -0
  24. package/dist/runtimes/edge/streams/runResultStream.js.map +1 -1
  25. package/dist/runtimes/edge/streams/runResultStream.mjs +17 -0
  26. package/dist/runtimes/edge/streams/runResultStream.mjs.map +1 -1
  27. package/dist/runtimes/edge/streams/toolResultStream.d.ts +3 -0
  28. package/dist/runtimes/edge/streams/toolResultStream.d.ts.map +1 -1
  29. package/dist/runtimes/edge/streams/toolResultStream.js +1 -0
  30. package/dist/runtimes/edge/streams/toolResultStream.js.map +1 -1
  31. package/dist/runtimes/edge/streams/toolResultStream.mjs +1 -0
  32. package/dist/runtimes/edge/streams/toolResultStream.mjs.map +1 -1
  33. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +1 -1
  34. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -1
  35. package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
  36. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -1
  37. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +1 -3
  38. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
  39. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +1 -3
  40. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
  41. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +2 -2
  42. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
  43. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  44. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +1 -1
  45. package/dist/runtimes/external-store/ThreadMessageConverter.d.ts +1 -1
  46. package/dist/runtimes/external-store/ThreadMessageConverter.d.ts.map +1 -1
  47. package/dist/runtimes/external-store/ThreadMessageConverter.js.map +1 -1
  48. package/dist/runtimes/external-store/ThreadMessageConverter.mjs.map +1 -1
  49. package/dist/runtimes/external-store/ThreadMessageLike.d.ts +2 -1
  50. package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
  51. package/dist/runtimes/external-store/ThreadMessageLike.js +1 -0
  52. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  53. package/dist/runtimes/external-store/ThreadMessageLike.mjs +1 -0
  54. package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
  55. package/dist/runtimes/external-store/external-message-converter.d.ts.map +1 -1
  56. package/dist/runtimes/external-store/external-message-converter.js +6 -0
  57. package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
  58. package/dist/runtimes/external-store/external-message-converter.mjs +6 -0
  59. package/dist/runtimes/external-store/external-message-converter.mjs.map +1 -1
  60. package/dist/runtimes/local/ChatModelAdapter.d.ts +17 -16
  61. package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
  62. package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
  63. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  64. package/dist/runtimes/local/LocalThreadRuntimeCore.js +10 -1
  65. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  66. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +10 -1
  67. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  68. package/dist/runtimes/utils/MessageRepository.d.ts +2 -1
  69. package/dist/runtimes/utils/MessageRepository.d.ts.map +1 -1
  70. package/dist/runtimes/utils/MessageRepository.js +25 -1
  71. package/dist/runtimes/utils/MessageRepository.js.map +1 -1
  72. package/dist/runtimes/utils/MessageRepository.mjs +25 -1
  73. package/dist/runtimes/utils/MessageRepository.mjs.map +1 -1
  74. package/dist/types/AssistantTypes.d.ts +2 -0
  75. package/dist/types/AssistantTypes.d.ts.map +1 -1
  76. package/dist/types/AssistantTypes.js.map +1 -1
  77. package/package.json +1 -1
  78. package/src/runtimes/edge/converters/fromCoreMessage.ts +6 -1
  79. package/src/runtimes/edge/createEdgeRuntimeAPI.ts +1 -1
  80. package/src/runtimes/edge/streams/assistantDecoderStream.ts +7 -1
  81. package/src/runtimes/edge/streams/assistantEncoderStream.ts +8 -0
  82. package/src/runtimes/edge/streams/runResultStream.ts +22 -0
  83. package/src/runtimes/edge/streams/toolResultStream.ts +5 -0
  84. package/src/runtimes/external-store/ExternalStoreAdapter.tsx +1 -1
  85. package/src/runtimes/external-store/ExternalStoreRuntimeCore.tsx +1 -3
  86. package/src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx +5 -4
  87. package/src/runtimes/external-store/ThreadMessageConverter.ts +1 -1
  88. package/src/runtimes/external-store/ThreadMessageLike.tsx +3 -1
  89. package/src/runtimes/external-store/external-message-converter.tsx +6 -0
  90. package/src/runtimes/local/ChatModelAdapter.tsx +18 -17
  91. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +14 -1
  92. package/src/runtimes/utils/MessageRepository.tsx +33 -1
  93. package/src/types/AssistantTypes.ts +2 -0
@@ -34,6 +34,23 @@ const findHead = (
34
34
  return null;
35
35
  };
36
36
 
37
+ class CachedValue<T> {
38
+ private _value: T | null = null;
39
+
40
+ constructor(private func: () => T) {}
41
+
42
+ get value() {
43
+ if (this._value === null) {
44
+ this._value = this.func();
45
+ }
46
+ return this._value;
47
+ }
48
+
49
+ dirty() {
50
+ this._value = null;
51
+ }
52
+ }
53
+
37
54
  export class MessageRepository {
38
55
  private messages = new Map<string, RepositoryMessage>(); // message_id -> item
39
56
  private head: RepositoryMessage | null = null;
@@ -101,12 +118,17 @@ export class MessageRepository {
101
118
  child.prev = newParent;
102
119
  }
103
120
  }
104
- getMessages() {
121
+
122
+ private _messages = new CachedValue<readonly ThreadMessage[]>(() => {
105
123
  const messages = new Array<ThreadMessage>(this.head?.level ?? 0);
106
124
  for (let current = this.head; current; current = current.prev) {
107
125
  messages[current.level] = current.current;
108
126
  }
109
127
  return messages;
128
+ });
129
+
130
+ getMessages() {
131
+ return this._messages.value;
110
132
  }
111
133
 
112
134
  addOrUpdateMessage(parentId: string | null, message: ThreadMessage) {
@@ -121,6 +143,7 @@ export class MessageRepository {
121
143
  if (existingItem) {
122
144
  existingItem.current = message;
123
145
  this.performOp(prev, existingItem, "relink");
146
+ this._messages.dirty();
124
147
  return;
125
148
  }
126
149
 
@@ -139,6 +162,8 @@ export class MessageRepository {
139
162
  if (this.head === prev) {
140
163
  this.head = newItem;
141
164
  }
165
+
166
+ this._messages.dirty();
142
167
  }
143
168
 
144
169
  getMessage(messageId: string) {
@@ -205,6 +230,8 @@ export class MessageRepository {
205
230
  if (this.head === message) {
206
231
  this.head = findHead(replacement ?? this.root);
207
232
  }
233
+
234
+ this._messages.dirty();
208
235
  }
209
236
 
210
237
  getBranches(messageId: string) {
@@ -229,11 +256,14 @@ export class MessageRepository {
229
256
  prevOrRoot.next = message;
230
257
 
231
258
  this.head = findHead(message);
259
+
260
+ this._messages.dirty();
232
261
  }
233
262
 
234
263
  resetHead(messageId: string | null) {
235
264
  if (messageId === null) {
236
265
  this.head = null;
266
+ this._messages.dirty();
237
267
  return;
238
268
  }
239
269
 
@@ -253,6 +283,8 @@ export class MessageRepository {
253
283
  current.prev.next = current;
254
284
  }
255
285
  }
286
+
287
+ this._messages.dirty();
256
288
  }
257
289
 
258
290
  export(): ExportedMessageRepository {
@@ -185,6 +185,7 @@ export type ThreadAssistantMessage = MessageCommonProps & {
185
185
  readonly content: readonly ThreadAssistantContentPart[];
186
186
  readonly status: MessageStatus;
187
187
  readonly metadata: {
188
+ readonly unstable_annotations: readonly unknown[];
188
189
  readonly unstable_data: readonly unknown[];
189
190
  readonly steps: readonly ThreadStep[];
190
191
  readonly custom: Record<string, unknown>;
@@ -210,6 +211,7 @@ export type AppendMessage = CoreMessage & {
210
211
  type BaseThreadMessage = {
211
212
  readonly status?: ThreadAssistantMessage["status"];
212
213
  readonly metadata: {
214
+ readonly unstable_annotations?: readonly unknown[];
213
215
  readonly unstable_data?: readonly unknown[];
214
216
  readonly steps?: readonly ThreadStep[];
215
217
  readonly custom: Record<string, unknown>;