ai 5.0.0-beta.12 → 5.0.0-beta.13
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/CHANGELOG.md +9 -0
- package/dist/index.d.mts +8 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.js +28 -17
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +28 -17
- package/dist/index.mjs.map +1 -1
- package/dist/test/index.d.mts +40 -2
- package/dist/test/index.d.ts +40 -2
- package/dist/test/index.js +50 -0
- package/dist/test/index.js.map +1 -1
- package/dist/test/index.mjs +47 -0
- package/dist/test/index.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# ai
|
2
2
|
|
3
|
+
## 5.0.0-beta.13
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- 377bbcf: fix (ui): tool input can be undefined during input-streaming
|
8
|
+
- ce1d1f3: feat (ai): export mock image, speech, and transcription models
|
9
|
+
- c040e2f: fix (ui): inject generated response message id
|
10
|
+
- c808e4d: fix (ui): do not send changing assistant message ids when onFinish is provided
|
11
|
+
|
3
12
|
## 5.0.0-beta.12
|
4
13
|
|
5
14
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
@@ -1324,7 +1324,7 @@ type ToolUIPart<TOOLS extends UITools = UITools> = ValueOf<{
|
|
1324
1324
|
toolCallId: string;
|
1325
1325
|
} & ({
|
1326
1326
|
state: 'input-streaming';
|
1327
|
-
input: DeepPartial<TOOLS[NAME]['input']
|
1327
|
+
input: DeepPartial<TOOLS[NAME]['input']> | undefined;
|
1328
1328
|
providerExecuted?: boolean;
|
1329
1329
|
output?: never;
|
1330
1330
|
errorText?: never;
|
@@ -1462,6 +1462,13 @@ type UIMessageStreamOptions<UI_MESSAGE extends UIMessage> = {
|
|
1462
1462
|
* and a message ID is provided for the response message.
|
1463
1463
|
*/
|
1464
1464
|
originalMessages?: UI_MESSAGE[];
|
1465
|
+
/**
|
1466
|
+
* Generate a message ID for the response message.
|
1467
|
+
*
|
1468
|
+
* If not provided, no message ID will be set for the response message (unless
|
1469
|
+
* the original messages are provided and the last message is an assistant message).
|
1470
|
+
*/
|
1471
|
+
generateMessageId?: IdGenerator;
|
1465
1472
|
onFinish?: (options: {
|
1466
1473
|
/**
|
1467
1474
|
* The updates list of UI messages.
|
package/dist/index.d.ts
CHANGED
@@ -1324,7 +1324,7 @@ type ToolUIPart<TOOLS extends UITools = UITools> = ValueOf<{
|
|
1324
1324
|
toolCallId: string;
|
1325
1325
|
} & ({
|
1326
1326
|
state: 'input-streaming';
|
1327
|
-
input: DeepPartial<TOOLS[NAME]['input']
|
1327
|
+
input: DeepPartial<TOOLS[NAME]['input']> | undefined;
|
1328
1328
|
providerExecuted?: boolean;
|
1329
1329
|
output?: never;
|
1330
1330
|
errorText?: never;
|
@@ -1462,6 +1462,13 @@ type UIMessageStreamOptions<UI_MESSAGE extends UIMessage> = {
|
|
1462
1462
|
* and a message ID is provided for the response message.
|
1463
1463
|
*/
|
1464
1464
|
originalMessages?: UI_MESSAGE[];
|
1465
|
+
/**
|
1466
|
+
* Generate a message ID for the response message.
|
1467
|
+
*
|
1468
|
+
* If not provided, no message ID will be set for the response message (unless
|
1469
|
+
* the original messages are provided and the last message is an assistant message).
|
1470
|
+
*/
|
1471
|
+
generateMessageId?: IdGenerator;
|
1465
1472
|
onFinish?: (options: {
|
1466
1473
|
/**
|
1467
1474
|
* The updates list of UI messages.
|
package/dist/index.js
CHANGED
@@ -3281,13 +3281,31 @@ function handleUIMessageStreamFinish({
|
|
3281
3281
|
onError,
|
3282
3282
|
stream
|
3283
3283
|
}) {
|
3284
|
+
let lastMessage = originalMessages == null ? void 0 : originalMessages[originalMessages.length - 1];
|
3285
|
+
if ((lastMessage == null ? void 0 : lastMessage.role) !== "assistant") {
|
3286
|
+
lastMessage = void 0;
|
3287
|
+
} else {
|
3288
|
+
messageId = lastMessage.id;
|
3289
|
+
}
|
3290
|
+
const idInjectedStream = stream.pipeThrough(
|
3291
|
+
new TransformStream({
|
3292
|
+
transform(chunk, controller) {
|
3293
|
+
if (chunk.type === "start") {
|
3294
|
+
const startChunk = chunk;
|
3295
|
+
if (startChunk.messageId == null && messageId != null) {
|
3296
|
+
startChunk.messageId = messageId;
|
3297
|
+
}
|
3298
|
+
}
|
3299
|
+
controller.enqueue(chunk);
|
3300
|
+
}
|
3301
|
+
})
|
3302
|
+
);
|
3284
3303
|
if (onFinish == null) {
|
3285
|
-
return
|
3304
|
+
return idInjectedStream;
|
3286
3305
|
}
|
3287
|
-
const lastMessage = originalMessages == null ? void 0 : originalMessages[originalMessages.length - 1];
|
3288
3306
|
const state = createStreamingUIMessageState({
|
3289
3307
|
lastMessage: lastMessage ? structuredClone(lastMessage) : void 0,
|
3290
|
-
messageId
|
3308
|
+
messageId: messageId != null ? messageId : ""
|
3291
3309
|
// will be overridden by the stream
|
3292
3310
|
});
|
3293
3311
|
const runUpdateMessageJob = async (job) => {
|
@@ -3295,19 +3313,7 @@ function handleUIMessageStreamFinish({
|
|
3295
3313
|
} });
|
3296
3314
|
};
|
3297
3315
|
return processUIMessageStream({
|
3298
|
-
stream:
|
3299
|
-
new TransformStream({
|
3300
|
-
transform(chunk, controller) {
|
3301
|
-
if (chunk.type === "start") {
|
3302
|
-
const startChunk = chunk;
|
3303
|
-
if (startChunk.messageId == null) {
|
3304
|
-
startChunk.messageId = messageId;
|
3305
|
-
}
|
3306
|
-
}
|
3307
|
-
controller.enqueue(chunk);
|
3308
|
-
}
|
3309
|
-
})
|
3310
|
-
),
|
3316
|
+
stream: idInjectedStream,
|
3311
3317
|
runUpdateMessageJob,
|
3312
3318
|
onError
|
3313
3319
|
}).pipeThrough(
|
@@ -4671,6 +4677,7 @@ var DefaultStreamTextResult = class {
|
|
4671
4677
|
}
|
4672
4678
|
toUIMessageStream({
|
4673
4679
|
originalMessages,
|
4680
|
+
generateMessageId,
|
4674
4681
|
onFinish,
|
4675
4682
|
messageMetadata,
|
4676
4683
|
sendReasoning = true,
|
@@ -4863,7 +4870,7 @@ var DefaultStreamTextResult = class {
|
|
4863
4870
|
);
|
4864
4871
|
return handleUIMessageStreamFinish({
|
4865
4872
|
stream: baseStream,
|
4866
|
-
messageId: responseMessageId != null ? responseMessageId :
|
4873
|
+
messageId: responseMessageId != null ? responseMessageId : generateMessageId == null ? void 0 : generateMessageId(),
|
4867
4874
|
originalMessages,
|
4868
4875
|
onFinish,
|
4869
4876
|
onError
|
@@ -4871,6 +4878,7 @@ var DefaultStreamTextResult = class {
|
|
4871
4878
|
}
|
4872
4879
|
pipeUIMessageStreamToResponse(response, {
|
4873
4880
|
originalMessages,
|
4881
|
+
generateMessageId,
|
4874
4882
|
onFinish,
|
4875
4883
|
messageMetadata,
|
4876
4884
|
sendReasoning,
|
@@ -4884,6 +4892,7 @@ var DefaultStreamTextResult = class {
|
|
4884
4892
|
response,
|
4885
4893
|
stream: this.toUIMessageStream({
|
4886
4894
|
originalMessages,
|
4895
|
+
generateMessageId,
|
4887
4896
|
onFinish,
|
4888
4897
|
messageMetadata,
|
4889
4898
|
sendReasoning,
|
@@ -4904,6 +4913,7 @@ var DefaultStreamTextResult = class {
|
|
4904
4913
|
}
|
4905
4914
|
toUIMessageStreamResponse({
|
4906
4915
|
originalMessages,
|
4916
|
+
generateMessageId,
|
4907
4917
|
onFinish,
|
4908
4918
|
messageMetadata,
|
4909
4919
|
sendReasoning,
|
@@ -4916,6 +4926,7 @@ var DefaultStreamTextResult = class {
|
|
4916
4926
|
return createUIMessageStreamResponse({
|
4917
4927
|
stream: this.toUIMessageStream({
|
4918
4928
|
originalMessages,
|
4929
|
+
generateMessageId,
|
4919
4930
|
onFinish,
|
4920
4931
|
messageMetadata,
|
4921
4932
|
sendReasoning,
|