@assistant-ui/react 0.7.36 → 0.7.38

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 (58) hide show
  1. package/dist/api/MessageRuntime.d.ts.map +1 -1
  2. package/dist/api/MessageRuntime.js +1 -0
  3. package/dist/api/MessageRuntime.js.map +1 -1
  4. package/dist/api/MessageRuntime.mjs +1 -0
  5. package/dist/api/MessageRuntime.mjs.map +1 -1
  6. package/dist/api/ThreadRuntime.d.ts +15 -4
  7. package/dist/api/ThreadRuntime.d.ts.map +1 -1
  8. package/dist/api/ThreadRuntime.js +11 -1
  9. package/dist/api/ThreadRuntime.js.map +1 -1
  10. package/dist/api/ThreadRuntime.mjs +11 -1
  11. package/dist/api/ThreadRuntime.mjs.map +1 -1
  12. package/dist/api/index.d.ts +1 -1
  13. package/dist/api/index.d.ts.map +1 -1
  14. package/dist/api/index.js.map +1 -1
  15. package/dist/internal.d.ts +1 -0
  16. package/dist/internal.d.ts.map +1 -1
  17. package/dist/internal.js +3 -0
  18. package/dist/internal.js.map +1 -1
  19. package/dist/internal.mjs +2 -0
  20. package/dist/internal.mjs.map +1 -1
  21. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +1 -1
  22. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -1
  23. package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
  24. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +1 -1
  25. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts +2 -1
  26. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts.map +1 -1
  27. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +4 -1
  28. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js.map +1 -1
  29. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs +4 -1
  30. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs.map +1 -1
  31. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.d.ts +1 -1
  32. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.d.ts.map +1 -1
  33. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js +2 -1
  34. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js.map +1 -1
  35. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.mjs +2 -1
  36. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.mjs.map +1 -1
  37. package/dist/runtimes/core/ThreadRuntimeCore.d.ts +2 -1
  38. package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -1
  39. package/dist/runtimes/core/ThreadRuntimeCore.js.map +1 -1
  40. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  41. package/dist/runtimes/local/LocalThreadRuntimeCore.js +1 -0
  42. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  43. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +1 -0
  44. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  45. package/dist/types/AssistantTypes.d.ts +3 -2
  46. package/dist/types/AssistantTypes.d.ts.map +1 -1
  47. package/dist/types/AssistantTypes.js.map +1 -1
  48. package/package.json +1 -1
  49. package/src/api/MessageRuntime.ts +1 -0
  50. package/src/api/ThreadRuntime.ts +26 -3
  51. package/src/api/index.ts +6 -1
  52. package/src/internal.ts +1 -0
  53. package/src/runtimes/composer/BaseComposerRuntimeCore.tsx +4 -2
  54. package/src/runtimes/composer/DefaultEditComposerRuntimeCore.tsx +7 -2
  55. package/src/runtimes/composer/DefaultThreadComposerRuntimeCore.tsx +4 -1
  56. package/src/runtimes/core/ThreadRuntimeCore.tsx +2 -1
  57. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +1 -0
  58. package/src/types/AssistantTypes.ts +5 -2
@@ -36,11 +36,27 @@ import {
36
36
  ThreadRuntimePath,
37
37
  } from "./RuntimePathTypes";
38
38
  import { ThreadListItemState } from "./ThreadListItemRuntime";
39
+ import { RunConfig } from "../types/AssistantTypes";
40
+
41
+ export type CreateStartRunConfig = {
42
+ parentId: string | null;
43
+ sourceId?: string | null | undefined;
44
+ runConfig?: RunConfig | undefined;
45
+ };
46
+
47
+ const toStartRunConfig = (message: CreateStartRunConfig): StartRunConfig => {
48
+ return {
49
+ parentId: message.parentId ?? null,
50
+ sourceId: message.sourceId ?? null,
51
+ runConfig: message.runConfig ?? {},
52
+ };
53
+ };
39
54
 
40
55
  export type CreateAppendMessage =
41
56
  | string
42
57
  | {
43
58
  parentId?: string | null | undefined;
59
+ sourceId?: string | null | undefined;
44
60
  role?: AppendMessage["role"] | undefined;
45
61
  content: AppendMessage["content"];
46
62
  attachments?: AppendMessage["attachments"] | undefined;
@@ -54,6 +70,8 @@ const toAppendMessage = (
54
70
  if (typeof message === "string") {
55
71
  return {
56
72
  parentId: messages.at(-1)?.id ?? null,
73
+ sourceId: null,
74
+ runConfig: {},
57
75
  role: "user",
58
76
  content: [{ type: "text", text: message }],
59
77
  attachments: [],
@@ -67,6 +85,7 @@ const toAppendMessage = (
67
85
  return {
68
86
  ...message,
69
87
  parentId: message.parentId ?? messages.at(-1)?.id ?? null,
88
+ sourceId: message.sourceId ?? null,
70
89
  role: message.role ?? "user",
71
90
  attachments: message.attachments ?? [],
72
91
  } as AppendMessage;
@@ -193,7 +212,11 @@ export type ThreadRuntime = {
193
212
  * @deprecated pass an object with `parentId` instead. This will be removed in 0.8.0.
194
213
  */
195
214
  startRun(parentId: string | null): void;
196
- startRun(config: StartRunConfig): void;
215
+ /**
216
+ * Start a new run with the given configuration.
217
+ * @param config The configuration for starting the run
218
+ */
219
+ startRun(config: CreateStartRunConfig): void;
197
220
  subscribe(callback: () => void): Unsubscribe;
198
221
  cancelRun(): void;
199
222
  getModelConfig(): ModelConfig;
@@ -287,12 +310,12 @@ export class ThreadRuntimeImpl implements ThreadRuntime {
287
310
  return this._threadBinding.getState().getModelConfig();
288
311
  }
289
312
 
290
- public startRun(configOrParentId: string | null | StartRunConfig) {
313
+ public startRun(configOrParentId: string | null | CreateStartRunConfig) {
291
314
  const config =
292
315
  configOrParentId === null || typeof configOrParentId === "string"
293
316
  ? { parentId: configOrParentId }
294
317
  : configOrParentId;
295
- return this._threadBinding.getState().startRun(config);
318
+ return this._threadBinding.getState().startRun(toStartRunConfig(config));
296
319
  }
297
320
 
298
321
  public cancelRun() {
package/src/api/index.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  export type { AssistantRuntime } from "./AssistantRuntime";
2
- export type { ThreadRuntime, ThreadState } from "./ThreadRuntime";
2
+ export type {
3
+ ThreadRuntime,
4
+ ThreadState,
5
+ CreateAppendMessage,
6
+ CreateStartRunConfig,
7
+ } from "./ThreadRuntime";
3
8
  export type { MessageRuntime, MessageState } from "./MessageRuntime";
4
9
  export type {
5
10
  ContentPartRuntime,
package/src/internal.ts CHANGED
@@ -14,5 +14,6 @@ export {
14
14
  } from "./api/ThreadRuntime";
15
15
  export { fromThreadMessageLike } from "./runtimes/external-store/ThreadMessageLike";
16
16
  export { getAutoStatus } from "./runtimes/external-store/auto-status";
17
+ export { EdgeRuntimeRequestOptionsSchema } from "./runtimes/edge/EdgeRuntimeRequestOptions";
17
18
 
18
19
  export * from "./utils/smooth";
@@ -133,7 +133,7 @@ export abstract class BaseComposerRuntimeCore
133
133
  )
134
134
  : [];
135
135
 
136
- const message: Omit<AppendMessage, "parentId"> = {
136
+ const message: Omit<AppendMessage, "parentId" | "sourceId"> = {
137
137
  role: this.role,
138
138
  content: this.text ? [{ type: "text", text: this.text }] : [],
139
139
  attachments,
@@ -149,7 +149,9 @@ export abstract class BaseComposerRuntimeCore
149
149
  this.handleCancel();
150
150
  }
151
151
 
152
- protected abstract handleSend(message: Omit<AppendMessage, "parentId">): void;
152
+ protected abstract handleSend(
153
+ message: Omit<AppendMessage, "parentId" | "sourceId">,
154
+ ): void;
153
155
  protected abstract handleCancel(): void;
154
156
 
155
157
  async addAttachment(file: File) {
@@ -16,6 +16,7 @@ export class DefaultEditComposerRuntimeCore extends BaseComposerRuntimeCore {
16
16
  private _nonTextParts;
17
17
  private _previousText;
18
18
  private _parentId;
19
+ private _sourceId;
19
20
  constructor(
20
21
  private runtime: Omit<ThreadRuntimeCore, "composer"> & {
21
22
  adapters?: { attachments?: AttachmentAdapter | undefined } | undefined;
@@ -25,6 +26,7 @@ export class DefaultEditComposerRuntimeCore extends BaseComposerRuntimeCore {
25
26
  ) {
26
27
  super();
27
28
  this._parentId = parentId;
29
+ this._sourceId = message.id;
28
30
  this._previousText = getThreadMessageText(message);
29
31
  this.setText(this._previousText);
30
32
 
@@ -36,13 +38,16 @@ export class DefaultEditComposerRuntimeCore extends BaseComposerRuntimeCore {
36
38
  );
37
39
  }
38
40
 
39
- public async handleSend(message: Omit<AppendMessage, "parentId">) {
41
+ public async handleSend(
42
+ message: Omit<AppendMessage, "parentId" | "sourceId">,
43
+ ) {
40
44
  const text = getThreadMessageText(message as AppendMessage);
41
45
  if (text !== this._previousText) {
42
46
  this.runtime.append({
43
- ...(message as AppendMessage),
47
+ ...message,
44
48
  content: [...message.content, ...this._nonTextParts] as any,
45
49
  parentId: this._parentId,
50
+ sourceId: this._sourceId,
46
51
  });
47
52
  }
48
53
 
@@ -39,10 +39,13 @@ export class DefaultThreadComposerRuntimeCore
39
39
  });
40
40
  }
41
41
 
42
- public async handleSend(message: Omit<AppendMessage, "parentId">) {
42
+ public async handleSend(
43
+ message: Omit<AppendMessage, "parentId" | "sourceId">,
44
+ ) {
43
45
  this.runtime.append({
44
46
  ...(message as AppendMessage),
45
47
  parentId: this.runtime.messages.at(-1)?.id ?? null,
48
+ sourceId: null,
46
49
  });
47
50
  }
48
51
 
@@ -51,7 +51,8 @@ export type ThreadRuntimeEventType =
51
51
 
52
52
  export type StartRunConfig = {
53
53
  parentId: string | null;
54
- runConfig?: RunConfig | undefined;
54
+ sourceId: string | null;
55
+ runConfig: RunConfig;
55
56
  };
56
57
 
57
58
  export type ThreadRuntimeCore = Readonly<{
@@ -97,6 +97,7 @@ export class LocalThreadRuntimeCore
97
97
  if (startRun) {
98
98
  await this.startRun({
99
99
  parentId: newMessage.id,
100
+ sourceId: message.sourceId,
100
101
  runConfig: message.runConfig ?? {},
101
102
  });
102
103
  } else {
@@ -198,10 +198,13 @@ export type RunConfig = {
198
198
 
199
199
  export type AppendMessage = CoreMessage & {
200
200
  parentId: string | null;
201
+
202
+ /** The ID of the message that was edited or undefined. */
203
+ sourceId: string | null;
204
+ runConfig: RunConfig | undefined;
205
+
201
206
  attachments: readonly CompleteAttachment[];
202
207
  startRun?: boolean | undefined;
203
- /** TODO: make required in 0.8.0 */
204
- runConfig?: RunConfig | undefined;
205
208
  };
206
209
 
207
210
  type BaseThreadMessage = {