ai 4.3.13 → 4.3.14
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 +6 -0
- package/README.md +4 -4
- package/dist/index.js +54 -43
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +54 -43
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/rsc/dist/rsc-server.mjs +54 -43
- package/rsc/dist/rsc-server.mjs.map +1 -1
package/dist/index.mjs
CHANGED
@@ -1939,42 +1939,6 @@ function convertToCoreMessages(messages, options) {
|
|
1939
1939
|
return coreMessages;
|
1940
1940
|
}
|
1941
1941
|
|
1942
|
-
// core/prompt/detect-prompt-type.ts
|
1943
|
-
function detectPromptType(prompt) {
|
1944
|
-
if (!Array.isArray(prompt)) {
|
1945
|
-
return "other";
|
1946
|
-
}
|
1947
|
-
if (prompt.length === 0) {
|
1948
|
-
return "messages";
|
1949
|
-
}
|
1950
|
-
const characteristics = prompt.map(detectSingleMessageCharacteristics);
|
1951
|
-
if (characteristics.some((c) => c === "has-ui-specific-parts")) {
|
1952
|
-
return "ui-messages";
|
1953
|
-
} else if (characteristics.every(
|
1954
|
-
(c) => c === "has-core-specific-parts" || c === "message"
|
1955
|
-
)) {
|
1956
|
-
return "messages";
|
1957
|
-
} else {
|
1958
|
-
return "other";
|
1959
|
-
}
|
1960
|
-
}
|
1961
|
-
function detectSingleMessageCharacteristics(message) {
|
1962
|
-
if (typeof message === "object" && message !== null && (message.role === "function" || // UI-only role
|
1963
|
-
message.role === "data" || // UI-only role
|
1964
|
-
"toolInvocations" in message || // UI-specific field
|
1965
|
-
"parts" in message || // UI-specific field
|
1966
|
-
"experimental_attachments" in message)) {
|
1967
|
-
return "has-ui-specific-parts";
|
1968
|
-
} else if (typeof message === "object" && message !== null && "content" in message && (Array.isArray(message.content) || // Core messages can have array content
|
1969
|
-
"experimental_providerMetadata" in message || "providerOptions" in message)) {
|
1970
|
-
return "has-core-specific-parts";
|
1971
|
-
} else if (typeof message === "object" && message !== null && "role" in message && "content" in message && typeof message.content === "string" && ["system", "user", "assistant", "tool"].includes(message.role)) {
|
1972
|
-
return "message";
|
1973
|
-
} else {
|
1974
|
-
return "other";
|
1975
|
-
}
|
1976
|
-
}
|
1977
|
-
|
1978
1942
|
// core/prompt/message.ts
|
1979
1943
|
import { z as z6 } from "zod";
|
1980
1944
|
|
@@ -2158,12 +2122,6 @@ function standardizePrompt({
|
|
2158
2122
|
}
|
2159
2123
|
if (prompt.messages != null) {
|
2160
2124
|
const promptType = detectPromptType(prompt.messages);
|
2161
|
-
if (promptType === "other") {
|
2162
|
-
throw new InvalidPromptError({
|
2163
|
-
prompt,
|
2164
|
-
message: "messages must be an array of CoreMessage or UIMessage"
|
2165
|
-
});
|
2166
|
-
}
|
2167
2125
|
const messages = promptType === "ui-messages" ? convertToCoreMessages(prompt.messages, {
|
2168
2126
|
tools
|
2169
2127
|
}) : prompt.messages;
|
@@ -2180,7 +2138,10 @@ function standardizePrompt({
|
|
2180
2138
|
if (!validationResult.success) {
|
2181
2139
|
throw new InvalidPromptError({
|
2182
2140
|
prompt,
|
2183
|
-
message:
|
2141
|
+
message: [
|
2142
|
+
"message must be a CoreMessage or a UI message",
|
2143
|
+
`Validation error: ${validationResult.error.message}`
|
2144
|
+
].join("\n"),
|
2184
2145
|
cause: validationResult.error
|
2185
2146
|
});
|
2186
2147
|
}
|
@@ -2192,6 +2153,56 @@ function standardizePrompt({
|
|
2192
2153
|
}
|
2193
2154
|
throw new Error("unreachable");
|
2194
2155
|
}
|
2156
|
+
function detectPromptType(prompt) {
|
2157
|
+
if (!Array.isArray(prompt)) {
|
2158
|
+
throw new InvalidPromptError({
|
2159
|
+
prompt,
|
2160
|
+
message: [
|
2161
|
+
"messages must be an array of CoreMessage or UIMessage",
|
2162
|
+
`Received non-array value: ${JSON.stringify(prompt)}`
|
2163
|
+
].join("\n"),
|
2164
|
+
cause: prompt
|
2165
|
+
});
|
2166
|
+
}
|
2167
|
+
if (prompt.length === 0) {
|
2168
|
+
return "messages";
|
2169
|
+
}
|
2170
|
+
const characteristics = prompt.map(detectSingleMessageCharacteristics);
|
2171
|
+
if (characteristics.some((c) => c === "has-ui-specific-parts")) {
|
2172
|
+
return "ui-messages";
|
2173
|
+
}
|
2174
|
+
const nonMessageIndex = characteristics.findIndex(
|
2175
|
+
(c) => c !== "has-core-specific-parts" && c !== "message"
|
2176
|
+
);
|
2177
|
+
if (nonMessageIndex === -1) {
|
2178
|
+
return "messages";
|
2179
|
+
}
|
2180
|
+
throw new InvalidPromptError({
|
2181
|
+
prompt,
|
2182
|
+
message: [
|
2183
|
+
"messages must be an array of CoreMessage or UIMessage",
|
2184
|
+
`Received message of type: "${characteristics[nonMessageIndex]}" at index ${nonMessageIndex}`,
|
2185
|
+
`messages[${nonMessageIndex}]: ${JSON.stringify(prompt[nonMessageIndex])}`
|
2186
|
+
].join("\n"),
|
2187
|
+
cause: prompt
|
2188
|
+
});
|
2189
|
+
}
|
2190
|
+
function detectSingleMessageCharacteristics(message) {
|
2191
|
+
if (typeof message === "object" && message !== null && (message.role === "function" || // UI-only role
|
2192
|
+
message.role === "data" || // UI-only role
|
2193
|
+
"toolInvocations" in message || // UI-specific field
|
2194
|
+
"parts" in message || // UI-specific field
|
2195
|
+
"experimental_attachments" in message)) {
|
2196
|
+
return "has-ui-specific-parts";
|
2197
|
+
} else if (typeof message === "object" && message !== null && "content" in message && (Array.isArray(message.content) || // Core messages can have array content
|
2198
|
+
"experimental_providerMetadata" in message || "providerOptions" in message)) {
|
2199
|
+
return "has-core-specific-parts";
|
2200
|
+
} else if (typeof message === "object" && message !== null && "role" in message && "content" in message && typeof message.content === "string" && ["system", "user", "assistant", "tool"].includes(message.role)) {
|
2201
|
+
return "message";
|
2202
|
+
} else {
|
2203
|
+
return "other";
|
2204
|
+
}
|
2205
|
+
}
|
2195
2206
|
|
2196
2207
|
// core/types/usage.ts
|
2197
2208
|
function calculateLanguageModelUsage({
|