@xsai/text-messages 1.0.0-beta.5 → 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 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,
@@ -360,7 +361,10 @@ const normalizeInput = (options, source) => {
360
361
  break;
361
362
  case "developer":
362
363
  case "system":
363
- system.push(...systemText(message.content));
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" });
364
368
  break;
365
369
  case "user":
366
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.5",
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.5"
37
+ "@xsai/text": "1.0.0-beta.6"
38
38
  },
39
39
  "dependencies": {
40
- "@xsai/shared": "1.0.0-beta.5"
40
+ "@xsai/shared": "1.0.0-beta.6"
41
41
  },
42
42
  "devDependencies": {
43
- "@xsai/text": "1.0.0-beta.5"
43
+ "@xsai/text": "1.0.0-beta.6"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "pkgroll --clean-dist",