@builder.io/ai-utils 0.0.34 → 0.0.35

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.
@@ -1,5 +1,5 @@
1
1
  import type { BuilderContent, BuilderElement, Component } from "@builder.io/sdk";
2
- import type { MessageParam, SnippetParams } from "./messages";
2
+ import type { Message, MessageParam, SnippetParams } from "./messages";
3
3
  import type { BuilderModel } from "./events";
4
4
  export type BuilderContentData = BuilderContent["data"];
5
5
  export type { BuilderContent, BuilderElement, Component };
@@ -30,7 +30,7 @@ export interface CompletionOptions {
30
30
  * The messages are ordered from oldest to newest. The last message in the array
31
31
  * is the message that the user has just sent.
32
32
  */
33
- messages: MessageParam[];
33
+ messages: (MessageParam | Message)[];
34
34
  /**
35
35
  * Which platform (framework) the the user has choosen to get help with.
36
36
  */
package/dist/events.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { Thread } from "./thread";
3
3
  import type { AssistantMessage } from "./messages";
4
4
  import { AssistantSettings } from "./settings";
5
5
  export type BuilderAssistantEventHandler = (ev: BuilderAssistantEvent) => void;
6
- export type BuilderAssistantEvent = AssistantErrorEvent | AppCloseEvent | AppMessagesClickEvent | AppMessagesGenerationEvent | AppPromptAbortEvent | AppPromptFocusEvent | AppPromptTextEvent | AppReadyEvent | AppSettingsResetEvent | AppSettingsSetEvent | AppThreadNewEvent | BuilderEditorStateEvent | ContentUpdateEvent | ContentApplySnapshotEvent | ContentCompleteEvent | ModelCreateEvent | ModelUpdateEvent | ModelUndoEvent | ResultEvent | ThreadCreatedEvent | ThreadMessageDeltaEvent | ThreadMessageCompletedEvent | ThreadMessageFeedbackEvent | ThreadRunRequiresActionEvent | ThreadRunStepCreatedEvent | ThreadRunStepDeltaEvent;
6
+ export type BuilderAssistantEvent = AssistantErrorEvent | AppCloseEvent | AppMessagesClickEvent | AppMessagesGenerationEvent | AppPromptAbortEvent | AppPromptFocusEvent | AppPromptTextEvent | AppReadyEvent | AppSettingsResetEvent | AppSettingsSetEvent | AppThreadNewEvent | AssistantStatsEvent | BuilderEditorStateEvent | ContentUpdateEvent | ContentApplySnapshotEvent | ModelCreateEvent | ModelUpdateEvent | ModelUndoEvent | ResultEvent | ThreadCreatedEvent | ThreadMessageDeltaEvent | ThreadMessageCompletedEvent | ThreadMessageFeedbackEvent | ThreadRunRequiresActionEvent | ThreadRunStepCreatedEvent | ThreadRunStepDeltaEvent;
7
7
  export interface AssistantError {
8
8
  message: string;
9
9
  status?: number;
@@ -144,16 +144,69 @@ export interface ContentSetStorePatch extends ContentPatchBase {
144
144
  export interface ContentSetMountPatch extends ContentPatchBase {
145
145
  type: "mount";
146
146
  }
147
- export interface ContentCompleteEvent {
148
- type: "assistant.content.complete";
149
- data: ContentComplete;
147
+ export interface AssistantStatsEvent {
148
+ type: "assistant.stats";
149
+ data: AssistantStats;
150
150
  }
151
- export interface ContentComplete {
151
+ export interface AssistantStats {
152
+ /**
153
+ * The unique id of the thread (not the openai threadId)
154
+ */
152
155
  threadId: string;
156
+ /**
157
+ * The unique id of the completion, which is a combination of the user's prompt and assistant's response.
158
+ */
153
159
  completionId: string;
160
+ /**
161
+ * The model id used to generate this completion.
162
+ */
154
163
  modelId: string;
155
- message: AssistantMessage;
156
- ts: number;
164
+ /**
165
+ * The assistant's response message.
166
+ */
167
+ assistantMessage: string;
168
+ /**
169
+ * The user's prompt message.
170
+ */
171
+ userMessage: string;
172
+ /**
173
+ * The index within the thread the assistant message is.
174
+ * For a first assistant message, the index will be 1 (the user message is index 0).
175
+ * For a second assistant message, the index will be 3 (the user message is index 2), and so on.
176
+ */
177
+ assistantMessageIndex: number;
178
+ /**
179
+ * The timestamp (Date.now()) of when the user first submitted their prompt.
180
+ */
181
+ userPromptMs: number;
182
+ /**
183
+ * The timestamp of the first assistant chunk in the response.
184
+ */
185
+ firstChunkMs: number;
186
+ /**
187
+ * The timestamp of the last assistant chunk in the response.
188
+ */
189
+ lastChunkMs: number;
190
+ /**
191
+ * The total number of chunks in the assistant's streamed response.
192
+ */
193
+ chunkCount: number;
194
+ /**
195
+ * The total number of characters in the generated prompt sent to the LLM.
196
+ */
197
+ promptLength: number;
198
+ /**
199
+ * The total number of characters in the assistant's response.
200
+ */
201
+ completionLength: number;
202
+ /**
203
+ * If the user provided custom instructions for the prompt.
204
+ */
205
+ hasCustomInstructions: boolean;
206
+ /**
207
+ * Error message if there was one.
208
+ */
209
+ errorMessage?: string;
157
210
  }
158
211
  export interface ModelCreateEvent {
159
212
  type: "assistant.model.create";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/ai-utils",
3
- "version": "0.0.34",
3
+ "version": "0.0.35",
4
4
  "description": "Builder.io AI utils",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",