ai 4.1.8 → 4.1.10
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 +16 -0
- package/dist/index.d.mts +85 -95
- package/dist/index.d.ts +85 -95
- package/dist/index.js +184 -180
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +182 -179
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/rsc/dist/index.d.ts +2 -2
- package/rsc/dist/rsc-server.d.mts +2 -2
- package/rsc/dist/rsc-server.mjs +144 -144
- package/rsc/dist/rsc-server.mjs.map +1 -1
- package/test/dist/index.d.mts +0 -3
- package/test/dist/index.d.ts +0 -3
- package/test/dist/index.js.map +1 -1
- package/test/dist/index.mjs.map +1 -1
package/dist/index.js
CHANGED
@@ -84,7 +84,8 @@ __export(streams_exports, {
|
|
84
84
|
smoothStream: () => smoothStream,
|
85
85
|
streamObject: () => streamObject,
|
86
86
|
streamText: () => streamText,
|
87
|
-
tool: () => tool
|
87
|
+
tool: () => tool,
|
88
|
+
wrapLanguageModel: () => wrapLanguageModel
|
88
89
|
});
|
89
90
|
module.exports = __toCommonJS(streams_exports);
|
90
91
|
|
@@ -1485,150 +1486,6 @@ var import_provider10 = require("@ai-sdk/provider");
|
|
1485
1486
|
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
1486
1487
|
var import_zod7 = require("zod");
|
1487
1488
|
|
1488
|
-
// core/prompt/message.ts
|
1489
|
-
var import_zod6 = require("zod");
|
1490
|
-
|
1491
|
-
// core/types/provider-metadata.ts
|
1492
|
-
var import_zod3 = require("zod");
|
1493
|
-
|
1494
|
-
// core/types/json-value.ts
|
1495
|
-
var import_zod2 = require("zod");
|
1496
|
-
var jsonValueSchema = import_zod2.z.lazy(
|
1497
|
-
() => import_zod2.z.union([
|
1498
|
-
import_zod2.z.null(),
|
1499
|
-
import_zod2.z.string(),
|
1500
|
-
import_zod2.z.number(),
|
1501
|
-
import_zod2.z.boolean(),
|
1502
|
-
import_zod2.z.record(import_zod2.z.string(), jsonValueSchema),
|
1503
|
-
import_zod2.z.array(jsonValueSchema)
|
1504
|
-
])
|
1505
|
-
);
|
1506
|
-
|
1507
|
-
// core/types/provider-metadata.ts
|
1508
|
-
var providerMetadataSchema = import_zod3.z.record(
|
1509
|
-
import_zod3.z.string(),
|
1510
|
-
import_zod3.z.record(import_zod3.z.string(), jsonValueSchema)
|
1511
|
-
);
|
1512
|
-
|
1513
|
-
// core/prompt/content-part.ts
|
1514
|
-
var import_zod5 = require("zod");
|
1515
|
-
|
1516
|
-
// core/prompt/tool-result-content.ts
|
1517
|
-
var import_zod4 = require("zod");
|
1518
|
-
var toolResultContentSchema = import_zod4.z.array(
|
1519
|
-
import_zod4.z.union([
|
1520
|
-
import_zod4.z.object({ type: import_zod4.z.literal("text"), text: import_zod4.z.string() }),
|
1521
|
-
import_zod4.z.object({
|
1522
|
-
type: import_zod4.z.literal("image"),
|
1523
|
-
data: import_zod4.z.string(),
|
1524
|
-
mimeType: import_zod4.z.string().optional()
|
1525
|
-
})
|
1526
|
-
])
|
1527
|
-
);
|
1528
|
-
|
1529
|
-
// core/prompt/content-part.ts
|
1530
|
-
var textPartSchema = import_zod5.z.object({
|
1531
|
-
type: import_zod5.z.literal("text"),
|
1532
|
-
text: import_zod5.z.string(),
|
1533
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
1534
|
-
});
|
1535
|
-
var imagePartSchema = import_zod5.z.object({
|
1536
|
-
type: import_zod5.z.literal("image"),
|
1537
|
-
image: import_zod5.z.union([dataContentSchema, import_zod5.z.instanceof(URL)]),
|
1538
|
-
mimeType: import_zod5.z.string().optional(),
|
1539
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
1540
|
-
});
|
1541
|
-
var filePartSchema = import_zod5.z.object({
|
1542
|
-
type: import_zod5.z.literal("file"),
|
1543
|
-
data: import_zod5.z.union([dataContentSchema, import_zod5.z.instanceof(URL)]),
|
1544
|
-
mimeType: import_zod5.z.string(),
|
1545
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
1546
|
-
});
|
1547
|
-
var toolCallPartSchema = import_zod5.z.object({
|
1548
|
-
type: import_zod5.z.literal("tool-call"),
|
1549
|
-
toolCallId: import_zod5.z.string(),
|
1550
|
-
toolName: import_zod5.z.string(),
|
1551
|
-
args: import_zod5.z.unknown()
|
1552
|
-
});
|
1553
|
-
var toolResultPartSchema = import_zod5.z.object({
|
1554
|
-
type: import_zod5.z.literal("tool-result"),
|
1555
|
-
toolCallId: import_zod5.z.string(),
|
1556
|
-
toolName: import_zod5.z.string(),
|
1557
|
-
result: import_zod5.z.unknown(),
|
1558
|
-
content: toolResultContentSchema.optional(),
|
1559
|
-
isError: import_zod5.z.boolean().optional(),
|
1560
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
1561
|
-
});
|
1562
|
-
|
1563
|
-
// core/prompt/message.ts
|
1564
|
-
var coreSystemMessageSchema = import_zod6.z.object({
|
1565
|
-
role: import_zod6.z.literal("system"),
|
1566
|
-
content: import_zod6.z.string(),
|
1567
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
1568
|
-
});
|
1569
|
-
var coreUserMessageSchema = import_zod6.z.object({
|
1570
|
-
role: import_zod6.z.literal("user"),
|
1571
|
-
content: import_zod6.z.union([
|
1572
|
-
import_zod6.z.string(),
|
1573
|
-
import_zod6.z.array(import_zod6.z.union([textPartSchema, imagePartSchema, filePartSchema]))
|
1574
|
-
]),
|
1575
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
1576
|
-
});
|
1577
|
-
var coreAssistantMessageSchema = import_zod6.z.object({
|
1578
|
-
role: import_zod6.z.literal("assistant"),
|
1579
|
-
content: import_zod6.z.union([
|
1580
|
-
import_zod6.z.string(),
|
1581
|
-
import_zod6.z.array(import_zod6.z.union([textPartSchema, toolCallPartSchema]))
|
1582
|
-
]),
|
1583
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
1584
|
-
});
|
1585
|
-
var coreToolMessageSchema = import_zod6.z.object({
|
1586
|
-
role: import_zod6.z.literal("tool"),
|
1587
|
-
content: import_zod6.z.array(toolResultPartSchema),
|
1588
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
1589
|
-
});
|
1590
|
-
var coreMessageSchema = import_zod6.z.union([
|
1591
|
-
coreSystemMessageSchema,
|
1592
|
-
coreUserMessageSchema,
|
1593
|
-
coreAssistantMessageSchema,
|
1594
|
-
coreToolMessageSchema
|
1595
|
-
]);
|
1596
|
-
|
1597
|
-
// core/prompt/detect-prompt-type.ts
|
1598
|
-
function detectPromptType(prompt) {
|
1599
|
-
if (!Array.isArray(prompt)) {
|
1600
|
-
return "other";
|
1601
|
-
}
|
1602
|
-
if (prompt.length === 0) {
|
1603
|
-
return "messages";
|
1604
|
-
}
|
1605
|
-
const characteristics = prompt.map(detectSingleMessageCharacteristics);
|
1606
|
-
if (characteristics.some((c) => c === "has-ui-specific-parts")) {
|
1607
|
-
return "ui-messages";
|
1608
|
-
} else if (characteristics.every(
|
1609
|
-
(c) => c === "has-core-specific-parts" || c === "message"
|
1610
|
-
)) {
|
1611
|
-
return "messages";
|
1612
|
-
} else {
|
1613
|
-
return "other";
|
1614
|
-
}
|
1615
|
-
}
|
1616
|
-
function detectSingleMessageCharacteristics(message) {
|
1617
|
-
if (typeof message === "object" && message !== null && (message.role === "function" || // UI-only role
|
1618
|
-
message.role === "data" || // UI-only role
|
1619
|
-
"toolInvocations" in message || // UI-specific field
|
1620
|
-
"experimental_attachments" in message)) {
|
1621
|
-
return "has-ui-specific-parts";
|
1622
|
-
} else if (typeof message === "object" && message !== null && "content" in message && (Array.isArray(message.content) || // Core messages can have array content
|
1623
|
-
"experimental_providerMetadata" in message)) {
|
1624
|
-
return "has-core-specific-parts";
|
1625
|
-
} else if (typeof message === "object" && message !== null && "role" in message && "content" in message && typeof message.content === "string" && ["system", "user", "assistant", "tool"].includes(message.role)) {
|
1626
|
-
return "message";
|
1627
|
-
} else {
|
1628
|
-
return "other";
|
1629
|
-
}
|
1630
|
-
}
|
1631
|
-
|
1632
1489
|
// core/prompt/attachments-to-parts.ts
|
1633
1490
|
function attachmentsToParts(attachments) {
|
1634
1491
|
var _a15, _b, _c;
|
@@ -1813,6 +1670,150 @@ function convertToCoreMessages(messages, options) {
|
|
1813
1670
|
return coreMessages;
|
1814
1671
|
}
|
1815
1672
|
|
1673
|
+
// core/prompt/detect-prompt-type.ts
|
1674
|
+
function detectPromptType(prompt) {
|
1675
|
+
if (!Array.isArray(prompt)) {
|
1676
|
+
return "other";
|
1677
|
+
}
|
1678
|
+
if (prompt.length === 0) {
|
1679
|
+
return "messages";
|
1680
|
+
}
|
1681
|
+
const characteristics = prompt.map(detectSingleMessageCharacteristics);
|
1682
|
+
if (characteristics.some((c) => c === "has-ui-specific-parts")) {
|
1683
|
+
return "ui-messages";
|
1684
|
+
} else if (characteristics.every(
|
1685
|
+
(c) => c === "has-core-specific-parts" || c === "message"
|
1686
|
+
)) {
|
1687
|
+
return "messages";
|
1688
|
+
} else {
|
1689
|
+
return "other";
|
1690
|
+
}
|
1691
|
+
}
|
1692
|
+
function detectSingleMessageCharacteristics(message) {
|
1693
|
+
if (typeof message === "object" && message !== null && (message.role === "function" || // UI-only role
|
1694
|
+
message.role === "data" || // UI-only role
|
1695
|
+
"toolInvocations" in message || // UI-specific field
|
1696
|
+
"experimental_attachments" in message)) {
|
1697
|
+
return "has-ui-specific-parts";
|
1698
|
+
} else if (typeof message === "object" && message !== null && "content" in message && (Array.isArray(message.content) || // Core messages can have array content
|
1699
|
+
"experimental_providerMetadata" in message)) {
|
1700
|
+
return "has-core-specific-parts";
|
1701
|
+
} else if (typeof message === "object" && message !== null && "role" in message && "content" in message && typeof message.content === "string" && ["system", "user", "assistant", "tool"].includes(message.role)) {
|
1702
|
+
return "message";
|
1703
|
+
} else {
|
1704
|
+
return "other";
|
1705
|
+
}
|
1706
|
+
}
|
1707
|
+
|
1708
|
+
// core/prompt/message.ts
|
1709
|
+
var import_zod6 = require("zod");
|
1710
|
+
|
1711
|
+
// core/types/provider-metadata.ts
|
1712
|
+
var import_zod3 = require("zod");
|
1713
|
+
|
1714
|
+
// core/types/json-value.ts
|
1715
|
+
var import_zod2 = require("zod");
|
1716
|
+
var jsonValueSchema = import_zod2.z.lazy(
|
1717
|
+
() => import_zod2.z.union([
|
1718
|
+
import_zod2.z.null(),
|
1719
|
+
import_zod2.z.string(),
|
1720
|
+
import_zod2.z.number(),
|
1721
|
+
import_zod2.z.boolean(),
|
1722
|
+
import_zod2.z.record(import_zod2.z.string(), jsonValueSchema),
|
1723
|
+
import_zod2.z.array(jsonValueSchema)
|
1724
|
+
])
|
1725
|
+
);
|
1726
|
+
|
1727
|
+
// core/types/provider-metadata.ts
|
1728
|
+
var providerMetadataSchema = import_zod3.z.record(
|
1729
|
+
import_zod3.z.string(),
|
1730
|
+
import_zod3.z.record(import_zod3.z.string(), jsonValueSchema)
|
1731
|
+
);
|
1732
|
+
|
1733
|
+
// core/prompt/content-part.ts
|
1734
|
+
var import_zod5 = require("zod");
|
1735
|
+
|
1736
|
+
// core/prompt/tool-result-content.ts
|
1737
|
+
var import_zod4 = require("zod");
|
1738
|
+
var toolResultContentSchema = import_zod4.z.array(
|
1739
|
+
import_zod4.z.union([
|
1740
|
+
import_zod4.z.object({ type: import_zod4.z.literal("text"), text: import_zod4.z.string() }),
|
1741
|
+
import_zod4.z.object({
|
1742
|
+
type: import_zod4.z.literal("image"),
|
1743
|
+
data: import_zod4.z.string(),
|
1744
|
+
mimeType: import_zod4.z.string().optional()
|
1745
|
+
})
|
1746
|
+
])
|
1747
|
+
);
|
1748
|
+
|
1749
|
+
// core/prompt/content-part.ts
|
1750
|
+
var textPartSchema = import_zod5.z.object({
|
1751
|
+
type: import_zod5.z.literal("text"),
|
1752
|
+
text: import_zod5.z.string(),
|
1753
|
+
experimental_providerMetadata: providerMetadataSchema.optional()
|
1754
|
+
});
|
1755
|
+
var imagePartSchema = import_zod5.z.object({
|
1756
|
+
type: import_zod5.z.literal("image"),
|
1757
|
+
image: import_zod5.z.union([dataContentSchema, import_zod5.z.instanceof(URL)]),
|
1758
|
+
mimeType: import_zod5.z.string().optional(),
|
1759
|
+
experimental_providerMetadata: providerMetadataSchema.optional()
|
1760
|
+
});
|
1761
|
+
var filePartSchema = import_zod5.z.object({
|
1762
|
+
type: import_zod5.z.literal("file"),
|
1763
|
+
data: import_zod5.z.union([dataContentSchema, import_zod5.z.instanceof(URL)]),
|
1764
|
+
mimeType: import_zod5.z.string(),
|
1765
|
+
experimental_providerMetadata: providerMetadataSchema.optional()
|
1766
|
+
});
|
1767
|
+
var toolCallPartSchema = import_zod5.z.object({
|
1768
|
+
type: import_zod5.z.literal("tool-call"),
|
1769
|
+
toolCallId: import_zod5.z.string(),
|
1770
|
+
toolName: import_zod5.z.string(),
|
1771
|
+
args: import_zod5.z.unknown()
|
1772
|
+
});
|
1773
|
+
var toolResultPartSchema = import_zod5.z.object({
|
1774
|
+
type: import_zod5.z.literal("tool-result"),
|
1775
|
+
toolCallId: import_zod5.z.string(),
|
1776
|
+
toolName: import_zod5.z.string(),
|
1777
|
+
result: import_zod5.z.unknown(),
|
1778
|
+
content: toolResultContentSchema.optional(),
|
1779
|
+
isError: import_zod5.z.boolean().optional(),
|
1780
|
+
experimental_providerMetadata: providerMetadataSchema.optional()
|
1781
|
+
});
|
1782
|
+
|
1783
|
+
// core/prompt/message.ts
|
1784
|
+
var coreSystemMessageSchema = import_zod6.z.object({
|
1785
|
+
role: import_zod6.z.literal("system"),
|
1786
|
+
content: import_zod6.z.string(),
|
1787
|
+
experimental_providerMetadata: providerMetadataSchema.optional()
|
1788
|
+
});
|
1789
|
+
var coreUserMessageSchema = import_zod6.z.object({
|
1790
|
+
role: import_zod6.z.literal("user"),
|
1791
|
+
content: import_zod6.z.union([
|
1792
|
+
import_zod6.z.string(),
|
1793
|
+
import_zod6.z.array(import_zod6.z.union([textPartSchema, imagePartSchema, filePartSchema]))
|
1794
|
+
]),
|
1795
|
+
experimental_providerMetadata: providerMetadataSchema.optional()
|
1796
|
+
});
|
1797
|
+
var coreAssistantMessageSchema = import_zod6.z.object({
|
1798
|
+
role: import_zod6.z.literal("assistant"),
|
1799
|
+
content: import_zod6.z.union([
|
1800
|
+
import_zod6.z.string(),
|
1801
|
+
import_zod6.z.array(import_zod6.z.union([textPartSchema, toolCallPartSchema]))
|
1802
|
+
]),
|
1803
|
+
experimental_providerMetadata: providerMetadataSchema.optional()
|
1804
|
+
});
|
1805
|
+
var coreToolMessageSchema = import_zod6.z.object({
|
1806
|
+
role: import_zod6.z.literal("tool"),
|
1807
|
+
content: import_zod6.z.array(toolResultPartSchema),
|
1808
|
+
experimental_providerMetadata: providerMetadataSchema.optional()
|
1809
|
+
});
|
1810
|
+
var coreMessageSchema = import_zod6.z.union([
|
1811
|
+
coreSystemMessageSchema,
|
1812
|
+
coreUserMessageSchema,
|
1813
|
+
coreAssistantMessageSchema,
|
1814
|
+
coreToolMessageSchema
|
1815
|
+
]);
|
1816
|
+
|
1816
1817
|
// core/prompt/standardize-prompt.ts
|
1817
1818
|
function standardizePrompt({
|
1818
1819
|
prompt,
|
@@ -5597,40 +5598,6 @@ var DefaultStreamTextResult = class {
|
|
5597
5598
|
}
|
5598
5599
|
};
|
5599
5600
|
|
5600
|
-
// core/middleware/wrap-language-model.ts
|
5601
|
-
var experimental_wrapLanguageModel = ({
|
5602
|
-
model,
|
5603
|
-
middleware: { transformParams, wrapGenerate, wrapStream },
|
5604
|
-
modelId,
|
5605
|
-
providerId
|
5606
|
-
}) => {
|
5607
|
-
async function doTransform({
|
5608
|
-
params,
|
5609
|
-
type
|
5610
|
-
}) {
|
5611
|
-
return transformParams ? await transformParams({ params, type }) : params;
|
5612
|
-
}
|
5613
|
-
return {
|
5614
|
-
specificationVersion: "v1",
|
5615
|
-
provider: providerId != null ? providerId : model.provider,
|
5616
|
-
modelId: modelId != null ? modelId : model.modelId,
|
5617
|
-
defaultObjectGenerationMode: model.defaultObjectGenerationMode,
|
5618
|
-
supportsImageUrls: model.supportsImageUrls,
|
5619
|
-
supportsUrl: model.supportsUrl,
|
5620
|
-
supportsStructuredOutputs: model.supportsStructuredOutputs,
|
5621
|
-
async doGenerate(params) {
|
5622
|
-
const transformedParams = await doTransform({ params, type: "generate" });
|
5623
|
-
const doGenerate = async () => model.doGenerate(transformedParams);
|
5624
|
-
return wrapGenerate ? wrapGenerate({ doGenerate, params: transformedParams, model }) : doGenerate();
|
5625
|
-
},
|
5626
|
-
async doStream(params) {
|
5627
|
-
const transformedParams = await doTransform({ params, type: "stream" });
|
5628
|
-
const doStream = async () => model.doStream(transformedParams);
|
5629
|
-
return wrapStream ? wrapStream({ doStream, params: transformedParams, model }) : doStream();
|
5630
|
-
}
|
5631
|
-
};
|
5632
|
-
};
|
5633
|
-
|
5634
5601
|
// core/util/get-potential-start-index.ts
|
5635
5602
|
function getPotentialStartIndex(text2, searchedText) {
|
5636
5603
|
if (searchedText.length === 0) {
|
@@ -5657,6 +5624,7 @@ function extractReasoningMiddleware({
|
|
5657
5624
|
const openingTag = `<${tagName}>`;
|
5658
5625
|
const closingTag = `</${tagName}>`;
|
5659
5626
|
return {
|
5627
|
+
middlewareVersion: "v1",
|
5660
5628
|
wrapGenerate: async ({ doGenerate }) => {
|
5661
5629
|
const { text: text2, ...rest } = await doGenerate();
|
5662
5630
|
if (text2 == null) {
|
@@ -5738,6 +5706,41 @@ function extractReasoningMiddleware({
|
|
5738
5706
|
};
|
5739
5707
|
}
|
5740
5708
|
|
5709
|
+
// core/middleware/wrap-language-model.ts
|
5710
|
+
var wrapLanguageModel = ({
|
5711
|
+
model,
|
5712
|
+
middleware: { transformParams, wrapGenerate, wrapStream },
|
5713
|
+
modelId,
|
5714
|
+
providerId
|
5715
|
+
}) => {
|
5716
|
+
async function doTransform({
|
5717
|
+
params,
|
5718
|
+
type
|
5719
|
+
}) {
|
5720
|
+
return transformParams ? await transformParams({ params, type }) : params;
|
5721
|
+
}
|
5722
|
+
return {
|
5723
|
+
specificationVersion: "v1",
|
5724
|
+
provider: providerId != null ? providerId : model.provider,
|
5725
|
+
modelId: modelId != null ? modelId : model.modelId,
|
5726
|
+
defaultObjectGenerationMode: model.defaultObjectGenerationMode,
|
5727
|
+
supportsImageUrls: model.supportsImageUrls,
|
5728
|
+
supportsUrl: model.supportsUrl,
|
5729
|
+
supportsStructuredOutputs: model.supportsStructuredOutputs,
|
5730
|
+
async doGenerate(params) {
|
5731
|
+
const transformedParams = await doTransform({ params, type: "generate" });
|
5732
|
+
const doGenerate = async () => model.doGenerate(transformedParams);
|
5733
|
+
return wrapGenerate ? wrapGenerate({ doGenerate, params: transformedParams, model }) : doGenerate();
|
5734
|
+
},
|
5735
|
+
async doStream(params) {
|
5736
|
+
const transformedParams = await doTransform({ params, type: "stream" });
|
5737
|
+
const doStream = async () => model.doStream(transformedParams);
|
5738
|
+
return wrapStream ? wrapStream({ doStream, params: transformedParams, model }) : doStream();
|
5739
|
+
}
|
5740
|
+
};
|
5741
|
+
};
|
5742
|
+
var experimental_wrapLanguageModel = wrapLanguageModel;
|
5743
|
+
|
5741
5744
|
// core/prompt/append-client-message.ts
|
5742
5745
|
function appendClientMessage({
|
5743
5746
|
messages,
|
@@ -6388,6 +6391,7 @@ var StreamData = class {
|
|
6388
6391
|
smoothStream,
|
6389
6392
|
streamObject,
|
6390
6393
|
streamText,
|
6391
|
-
tool
|
6394
|
+
tool,
|
6395
|
+
wrapLanguageModel
|
6392
6396
|
});
|
6393
6397
|
//# sourceMappingURL=index.js.map
|