@xsai/text-messages 1.0.0-beta.4 → 1.0.0-beta.6
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/dist/index.d.ts +19 -10
- package/dist/index.js +8 -2
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import { HttpOptions } from '@xsai/shared';
|
|
2
2
|
import { LanguageModel } from '@xsai/text';
|
|
3
3
|
|
|
4
|
-
interface MessagesCitation {
|
|
5
|
-
[key: string]: unknown;
|
|
6
|
-
type: string;
|
|
7
|
-
}
|
|
8
|
-
interface MessagesPartMetadata {
|
|
9
|
-
citations?: MessagesCitation[];
|
|
10
|
-
signature?: string;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
4
|
interface MessagesCacheControl {
|
|
14
5
|
ttl?: '1h' | '5m';
|
|
15
6
|
type: 'ephemeral';
|
|
@@ -45,10 +36,28 @@ type MessagesThinkingConfig = {
|
|
|
45
36
|
type: 'between_tools' | 'disabled';
|
|
46
37
|
};
|
|
47
38
|
|
|
39
|
+
interface MessagesCitation {
|
|
40
|
+
[key: string]: unknown;
|
|
41
|
+
type: string;
|
|
42
|
+
}
|
|
43
|
+
interface MessagesMessageMetadata {
|
|
44
|
+
/** Clears a mid-conversation system message after one turn. Needs its beta in `betas`. */
|
|
45
|
+
clearAt?: 'next_user_message';
|
|
46
|
+
}
|
|
47
|
+
interface MessagesPartMetadata {
|
|
48
|
+
/** Places a cache breakpoint at the end of this text part. */
|
|
49
|
+
cacheControl?: MessagesCacheControl;
|
|
50
|
+
citations?: MessagesCitation[];
|
|
51
|
+
signature?: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
48
54
|
declare module '@xsai/text' {
|
|
49
55
|
interface LanguageModelProviderOptions {
|
|
50
56
|
messages?: MessagesProviderOptions;
|
|
51
57
|
}
|
|
58
|
+
interface MessageProviderMetadata {
|
|
59
|
+
messages?: MessagesMessageMetadata;
|
|
60
|
+
}
|
|
52
61
|
interface PartProviderMetadata {
|
|
53
62
|
messages?: MessagesPartMetadata;
|
|
54
63
|
}
|
|
@@ -56,4 +65,4 @@ declare module '@xsai/text' {
|
|
|
56
65
|
declare const messages: (options: HttpOptions) => LanguageModel;
|
|
57
66
|
|
|
58
67
|
export { messages };
|
|
59
|
-
export type { MessagesCacheControl, MessagesCitation, MessagesMcpServer, MessagesPartMetadata, MessagesProviderOptions, MessagesProviderTool, MessagesThinkingConfig };
|
|
68
|
+
export type { MessagesCacheControl, MessagesCitation, MessagesMcpServer, MessagesMessageMetadata, MessagesPartMetadata, MessagesProviderOptions, MessagesProviderTool, MessagesThinkingConfig };
|
package/dist/index.js
CHANGED
|
@@ -71,7 +71,7 @@ class MessagesEventStream extends WireEventStream {
|
|
|
71
71
|
this.deltaUsage = event.usage;
|
|
72
72
|
break;
|
|
73
73
|
case "message_start":
|
|
74
|
-
builder.meta({ messageId: event.message.id });
|
|
74
|
+
builder.meta({ messageId: event.message.id, model: event.message.model });
|
|
75
75
|
this.startUsage = event.message.usage;
|
|
76
76
|
break;
|
|
77
77
|
case "message_stop": {
|
|
@@ -233,6 +233,7 @@ const parseDataUrl = (str) => {
|
|
|
233
233
|
};
|
|
234
234
|
};
|
|
235
235
|
const normalizeInputTextPart = (part) => ({
|
|
236
|
+
cache_control: part.providerMetadata?.messages?.cacheControl,
|
|
236
237
|
// TODO: Move citations to a first-class TextPart field.
|
|
237
238
|
citations: part.providerMetadata?.messages?.citations,
|
|
238
239
|
text: part.text,
|
|
@@ -309,6 +310,8 @@ const normalizeToolCallPart = (part) => ({
|
|
|
309
310
|
});
|
|
310
311
|
const normalizeUserPart = (part) => {
|
|
311
312
|
switch (part.type) {
|
|
313
|
+
case "audio":
|
|
314
|
+
throw new XSAIError("invalid-input", "Audio parts are not supported on the Messages API");
|
|
312
315
|
case "file":
|
|
313
316
|
return normalizeFilePart(part);
|
|
314
317
|
case "image":
|
|
@@ -358,7 +361,10 @@ const normalizeInput = (options, source) => {
|
|
|
358
361
|
break;
|
|
359
362
|
case "developer":
|
|
360
363
|
case "system":
|
|
361
|
-
|
|
364
|
+
if (messages.length === 0)
|
|
365
|
+
system.push(...systemText(message.content));
|
|
366
|
+
else
|
|
367
|
+
messages.push({ clear_at: message.providerMetadata?.messages?.clearAt, content: systemText(message.content), role: "system" });
|
|
362
368
|
break;
|
|
363
369
|
case "user":
|
|
364
370
|
messages.push(normalizeUserMessage(message));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xsai/text-messages",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.0-beta.
|
|
4
|
+
"version": "1.0.0-beta.6",
|
|
5
5
|
"description": "extra-small AI SDK: Anthropic Messages API model for @xsai/text.",
|
|
6
6
|
"author": "Moeru AI",
|
|
7
7
|
"license": "MIT",
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
"node": ">=26"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@xsai/text": "1.0.0-beta.
|
|
37
|
+
"@xsai/text": "1.0.0-beta.6"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@xsai/shared": "1.0.0-beta.
|
|
40
|
+
"@xsai/shared": "1.0.0-beta.6"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@xsai/text": "1.0.0-beta.
|
|
43
|
+
"@xsai/text": "1.0.0-beta.6"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"build": "pkgroll --clean-dist",
|