@ai-sdk/provider 3.0.0-beta.28 → 3.0.0-beta.30

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ai-sdk/provider
2
2
 
3
+ ## 3.0.0-beta.30
4
+
5
+ ### Patch Changes
6
+
7
+ - cbf52cd: feat: expose raw finish reason
8
+
9
+ ## 3.0.0-beta.29
10
+
11
+ ### Patch Changes
12
+
13
+ - 9549c9e: chore(specification): extract types
14
+
3
15
  ## 3.0.0-beta.28
4
16
 
5
17
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -1621,18 +1621,31 @@ type LanguageModelV3ToolResult = {
1621
1621
  type LanguageModelV3Content = LanguageModelV3Text | LanguageModelV3Reasoning | LanguageModelV3File | LanguageModelV3Source | LanguageModelV3ToolCall | LanguageModelV3ToolResult;
1622
1622
 
1623
1623
  /**
1624
- Reason why a language model finished generating a response.
1625
-
1626
- Can be one of the following:
1627
- - `stop`: model generated stop sequence
1628
- - `length`: model generated maximum number of tokens
1629
- - `content-filter`: content filter violation stopped the model
1630
- - `tool-calls`: model triggered tool calls
1631
- - `error`: model stopped because of an error
1632
- - `other`: model stopped for other reasons
1633
- - `unknown`: the model has not transmitted a finish reason
1624
+ * Reason why a language model finished generating a response.
1625
+ *
1626
+ * Contains both a unified finish reason and a raw finish reason from the provider.
1627
+ * The unified finish reason is used to provide a consistent finish reason across different providers.
1628
+ * The raw finish reason is used to provide the original finish reason from the provider.
1634
1629
  */
1635
- type LanguageModelV3FinishReason = 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other' | 'unknown';
1630
+ type LanguageModelV3FinishReason = {
1631
+ /**
1632
+ * Unified finish reason. This enables using the same finish reason across different providers.
1633
+ *
1634
+ * Can be one of the following:
1635
+ * - `stop`: model generated stop sequence
1636
+ * - `length`: model generated maximum number of tokens
1637
+ * - `content-filter`: content filter violation stopped the model
1638
+ * - `tool-calls`: model triggered tool calls
1639
+ * - `error`: model stopped because of an error
1640
+ * - `other`: model stopped for other reasons
1641
+ */
1642
+ unified: 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other';
1643
+ /**
1644
+ * Raw finish reason from the provider.
1645
+ * This is the original finish reason from the provider.
1646
+ */
1647
+ raw: string | undefined;
1648
+ };
1636
1649
 
1637
1650
  interface LanguageModelV3ResponseMetadata {
1638
1651
  /**
@@ -1700,6 +1713,56 @@ type LanguageModelV3Usage = {
1700
1713
  raw?: JSONObject;
1701
1714
  };
1702
1715
 
1716
+ /**
1717
+ * The result of a language model doGenerate call.
1718
+ */
1719
+ type LanguageModelV3GenerateResult = {
1720
+ /**
1721
+ * Ordered content that the model has generated.
1722
+ */
1723
+ content: Array<LanguageModelV3Content>;
1724
+ /**
1725
+ * The finish reason.
1726
+ */
1727
+ finishReason: LanguageModelV3FinishReason;
1728
+ /**
1729
+ * The usage information.
1730
+ */
1731
+ usage: LanguageModelV3Usage;
1732
+ /**
1733
+ * Additional provider-specific metadata. They are passed through
1734
+ * from the provider to the AI SDK and enable provider-specific
1735
+ * results that can be fully encapsulated in the provider.
1736
+ */
1737
+ providerMetadata?: SharedV3ProviderMetadata;
1738
+ /**
1739
+ * Optional request information for telemetry and debugging purposes.
1740
+ */
1741
+ request?: {
1742
+ /**
1743
+ * Request HTTP body that was sent to the provider API.
1744
+ */
1745
+ body?: unknown;
1746
+ };
1747
+ /**
1748
+ * Optional response information for telemetry and debugging purposes.
1749
+ */
1750
+ response?: LanguageModelV3ResponseMetadata & {
1751
+ /**
1752
+ * Response headers.
1753
+ */
1754
+ headers?: SharedV3Headers;
1755
+ /**
1756
+ * Response HTTP body.
1757
+ */
1758
+ body?: unknown;
1759
+ };
1760
+ /**
1761
+ * Warnings for the call, e.g. unsupported settings.
1762
+ */
1763
+ warnings: Array<SharedV3Warning>;
1764
+ };
1765
+
1703
1766
  type LanguageModelV3StreamPart = {
1704
1767
  type: 'text-start';
1705
1768
  providerMetadata?: SharedV3ProviderMetadata;
@@ -1762,115 +1825,78 @@ type LanguageModelV3StreamPart = {
1762
1825
  };
1763
1826
 
1764
1827
  /**
1765
- Specification for a language model that implements the language model interface version 3.
1828
+ * The result of a language model doStream call.
1829
+ */
1830
+ type LanguageModelV3StreamResult = {
1831
+ /**
1832
+ * The stream.
1833
+ */
1834
+ stream: ReadableStream<LanguageModelV3StreamPart>;
1835
+ /**
1836
+ * Optional request information for telemetry and debugging purposes.
1837
+ */
1838
+ request?: {
1839
+ /**
1840
+ * Request HTTP body that was sent to the provider API.
1841
+ */
1842
+ body?: unknown;
1843
+ };
1844
+ /**
1845
+ * Optional response data.
1846
+ */
1847
+ response?: {
1848
+ /**
1849
+ * Response headers.
1850
+ */
1851
+ headers?: SharedV3Headers;
1852
+ };
1853
+ };
1854
+
1855
+ /**
1856
+ * Specification for a language model that implements the language model interface version 3.
1766
1857
  */
1767
1858
  type LanguageModelV3 = {
1768
1859
  /**
1769
- The language model must specify which language model interface version it implements.
1860
+ * The language model must specify which language model interface version it implements.
1770
1861
  */
1771
1862
  readonly specificationVersion: 'v3';
1772
1863
  /**
1773
- Provider ID.
1864
+ * Provider ID.
1774
1865
  */
1775
1866
  readonly provider: string;
1776
1867
  /**
1777
- Provider-specific model ID.
1868
+ * Provider-specific model ID.
1778
1869
  */
1779
1870
  readonly modelId: string;
1780
1871
  /**
1781
- Supported URL patterns by media type for the provider.
1782
-
1783
- The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
1784
- and the values are arrays of regular expressions that match the URL paths.
1785
-
1786
- The matching should be against lower-case URLs.
1787
-
1788
- Matched URLs are supported natively by the model and are not downloaded.
1789
-
1790
- @returns A map of supported URL patterns by media type (as a promise or a plain object).
1872
+ * Supported URL patterns by media type for the provider.
1873
+ *
1874
+ * The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
1875
+ * and the values are arrays of regular expressions that match the URL paths.
1876
+ *
1877
+ * The matching should be against lower-case URLs.
1878
+ *
1879
+ * Matched URLs are supported natively by the model and are not downloaded.
1880
+ *
1881
+ * @returns A map of supported URL patterns by media type (as a promise or a plain object).
1791
1882
  */
1792
1883
  supportedUrls: PromiseLike<Record<string, RegExp[]>> | Record<string, RegExp[]>;
1793
1884
  /**
1794
- Generates a language model output (non-streaming).
1885
+ * Generates a language model output (non-streaming).
1795
1886
 
1796
- Naming: "do" prefix to prevent accidental direct usage of the method
1797
- by the user.
1887
+ * Naming: "do" prefix to prevent accidental direct usage of the method
1888
+ * by the user.
1798
1889
  */
1799
- doGenerate(options: LanguageModelV3CallOptions): PromiseLike<{
1800
- /**
1801
- Ordered content that the model has generated.
1802
- */
1803
- content: Array<LanguageModelV3Content>;
1804
- /**
1805
- Finish reason.
1806
- */
1807
- finishReason: LanguageModelV3FinishReason;
1808
- /**
1809
- Usage information.
1810
- */
1811
- usage: LanguageModelV3Usage;
1812
- /**
1813
- Additional provider-specific metadata. They are passed through
1814
- from the provider to the AI SDK and enable provider-specific
1815
- results that can be fully encapsulated in the provider.
1816
- */
1817
- providerMetadata?: SharedV3ProviderMetadata;
1818
- /**
1819
- Optional request information for telemetry and debugging purposes.
1820
- */
1821
- request?: {
1822
- /**
1823
- Request HTTP body that was sent to the provider API.
1824
- */
1825
- body?: unknown;
1826
- };
1827
- /**
1828
- Optional response information for telemetry and debugging purposes.
1829
- */
1830
- response?: LanguageModelV3ResponseMetadata & {
1831
- /**
1832
- Response headers.
1833
- */
1834
- headers?: SharedV3Headers;
1835
- /**
1836
- Response HTTP body.
1837
- */
1838
- body?: unknown;
1839
- };
1840
- /**
1841
- Warnings for the call, e.g. unsupported settings.
1842
- */
1843
- warnings: Array<SharedV3Warning>;
1844
- }>;
1890
+ doGenerate(options: LanguageModelV3CallOptions): PromiseLike<LanguageModelV3GenerateResult>;
1845
1891
  /**
1846
- Generates a language model output (streaming).
1847
-
1848
- Naming: "do" prefix to prevent accidental direct usage of the method
1849
- by the user.
1892
+ * Generates a language model output (streaming).
1850
1893
  *
1851
- @return A stream of higher-level language model output parts.
1894
+ * Naming: "do" prefix to prevent accidental direct usage of the method
1895
+ * by the user.
1896
+ *
1897
+ * @return A stream of higher-level language model output parts.
1852
1898
  */
1853
- doStream(options: LanguageModelV3CallOptions): PromiseLike<{
1854
- stream: ReadableStream<LanguageModelV3StreamPart>;
1855
- /**
1856
- Optional request information for telemetry and debugging purposes.
1857
- */
1858
- request?: {
1859
- /**
1860
- Request HTTP body that was sent to the provider API.
1861
- */
1862
- body?: unknown;
1863
- };
1864
- /**
1865
- Optional response data.
1866
- */
1867
- response?: {
1868
- /**
1869
- Response headers.
1870
- */
1871
- headers?: SharedV3Headers;
1872
- };
1873
- }>;
1899
+ doStream(options: LanguageModelV3CallOptions): PromiseLike<LanguageModelV3StreamResult>;
1874
1900
  };
1875
1901
 
1876
1902
  /**
@@ -1927,11 +1953,11 @@ type LanguageModelV3Middleware = {
1927
1953
  * @returns A promise that resolves to the result of the generate operation.
1928
1954
  */
1929
1955
  wrapGenerate?: (options: {
1930
- doGenerate: () => ReturnType<LanguageModelV3['doGenerate']>;
1931
- doStream: () => ReturnType<LanguageModelV3['doStream']>;
1956
+ doGenerate: () => PromiseLike<LanguageModelV3GenerateResult>;
1957
+ doStream: () => PromiseLike<LanguageModelV3StreamResult>;
1932
1958
  params: LanguageModelV3CallOptions;
1933
1959
  model: LanguageModelV3;
1934
- }) => Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
1960
+ }) => PromiseLike<LanguageModelV3GenerateResult>;
1935
1961
  /**
1936
1962
  * Wraps the stream operation of the language model.
1937
1963
  *
@@ -1944,11 +1970,11 @@ type LanguageModelV3Middleware = {
1944
1970
  * @returns A promise that resolves to the result of the stream operation.
1945
1971
  */
1946
1972
  wrapStream?: (options: {
1947
- doGenerate: () => ReturnType<LanguageModelV3['doGenerate']>;
1948
- doStream: () => ReturnType<LanguageModelV3['doStream']>;
1973
+ doGenerate: () => PromiseLike<LanguageModelV3GenerateResult>;
1974
+ doStream: () => PromiseLike<LanguageModelV3StreamResult>;
1949
1975
  params: LanguageModelV3CallOptions;
1950
1976
  model: LanguageModelV3;
1951
- }) => PromiseLike<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
1977
+ }) => PromiseLike<LanguageModelV3StreamResult>;
1952
1978
  };
1953
1979
 
1954
1980
  /**
@@ -3656,4 +3682,4 @@ interface ProviderV2 {
3656
3682
  speechModel?(modelId: string): SpeechModelV2;
3657
3683
  }
3658
3684
 
3659
- export { AISDKError, APICallError, type EmbeddingModelCallOptions, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3Embedding, type EmbeddingModelV3Middleware, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3File, type ImageModelV3ProviderMetadata, type ImageModelV3Usage, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV2, type ProviderV3, type RerankingModelV3, type RerankingModelV3CallOptions, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SharedV3Warning, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
3685
+ export { AISDKError, APICallError, type EmbeddingModelCallOptions, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3Embedding, type EmbeddingModelV3Middleware, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3File, type ImageModelV3ProviderMetadata, type ImageModelV3Usage, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3GenerateResult, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3StreamResult, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV2, type ProviderV3, type RerankingModelV3, type RerankingModelV3CallOptions, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SharedV3Warning, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
package/dist/index.d.ts CHANGED
@@ -1621,18 +1621,31 @@ type LanguageModelV3ToolResult = {
1621
1621
  type LanguageModelV3Content = LanguageModelV3Text | LanguageModelV3Reasoning | LanguageModelV3File | LanguageModelV3Source | LanguageModelV3ToolCall | LanguageModelV3ToolResult;
1622
1622
 
1623
1623
  /**
1624
- Reason why a language model finished generating a response.
1625
-
1626
- Can be one of the following:
1627
- - `stop`: model generated stop sequence
1628
- - `length`: model generated maximum number of tokens
1629
- - `content-filter`: content filter violation stopped the model
1630
- - `tool-calls`: model triggered tool calls
1631
- - `error`: model stopped because of an error
1632
- - `other`: model stopped for other reasons
1633
- - `unknown`: the model has not transmitted a finish reason
1624
+ * Reason why a language model finished generating a response.
1625
+ *
1626
+ * Contains both a unified finish reason and a raw finish reason from the provider.
1627
+ * The unified finish reason is used to provide a consistent finish reason across different providers.
1628
+ * The raw finish reason is used to provide the original finish reason from the provider.
1634
1629
  */
1635
- type LanguageModelV3FinishReason = 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other' | 'unknown';
1630
+ type LanguageModelV3FinishReason = {
1631
+ /**
1632
+ * Unified finish reason. This enables using the same finish reason across different providers.
1633
+ *
1634
+ * Can be one of the following:
1635
+ * - `stop`: model generated stop sequence
1636
+ * - `length`: model generated maximum number of tokens
1637
+ * - `content-filter`: content filter violation stopped the model
1638
+ * - `tool-calls`: model triggered tool calls
1639
+ * - `error`: model stopped because of an error
1640
+ * - `other`: model stopped for other reasons
1641
+ */
1642
+ unified: 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other';
1643
+ /**
1644
+ * Raw finish reason from the provider.
1645
+ * This is the original finish reason from the provider.
1646
+ */
1647
+ raw: string | undefined;
1648
+ };
1636
1649
 
1637
1650
  interface LanguageModelV3ResponseMetadata {
1638
1651
  /**
@@ -1700,6 +1713,56 @@ type LanguageModelV3Usage = {
1700
1713
  raw?: JSONObject;
1701
1714
  };
1702
1715
 
1716
+ /**
1717
+ * The result of a language model doGenerate call.
1718
+ */
1719
+ type LanguageModelV3GenerateResult = {
1720
+ /**
1721
+ * Ordered content that the model has generated.
1722
+ */
1723
+ content: Array<LanguageModelV3Content>;
1724
+ /**
1725
+ * The finish reason.
1726
+ */
1727
+ finishReason: LanguageModelV3FinishReason;
1728
+ /**
1729
+ * The usage information.
1730
+ */
1731
+ usage: LanguageModelV3Usage;
1732
+ /**
1733
+ * Additional provider-specific metadata. They are passed through
1734
+ * from the provider to the AI SDK and enable provider-specific
1735
+ * results that can be fully encapsulated in the provider.
1736
+ */
1737
+ providerMetadata?: SharedV3ProviderMetadata;
1738
+ /**
1739
+ * Optional request information for telemetry and debugging purposes.
1740
+ */
1741
+ request?: {
1742
+ /**
1743
+ * Request HTTP body that was sent to the provider API.
1744
+ */
1745
+ body?: unknown;
1746
+ };
1747
+ /**
1748
+ * Optional response information for telemetry and debugging purposes.
1749
+ */
1750
+ response?: LanguageModelV3ResponseMetadata & {
1751
+ /**
1752
+ * Response headers.
1753
+ */
1754
+ headers?: SharedV3Headers;
1755
+ /**
1756
+ * Response HTTP body.
1757
+ */
1758
+ body?: unknown;
1759
+ };
1760
+ /**
1761
+ * Warnings for the call, e.g. unsupported settings.
1762
+ */
1763
+ warnings: Array<SharedV3Warning>;
1764
+ };
1765
+
1703
1766
  type LanguageModelV3StreamPart = {
1704
1767
  type: 'text-start';
1705
1768
  providerMetadata?: SharedV3ProviderMetadata;
@@ -1762,115 +1825,78 @@ type LanguageModelV3StreamPart = {
1762
1825
  };
1763
1826
 
1764
1827
  /**
1765
- Specification for a language model that implements the language model interface version 3.
1828
+ * The result of a language model doStream call.
1829
+ */
1830
+ type LanguageModelV3StreamResult = {
1831
+ /**
1832
+ * The stream.
1833
+ */
1834
+ stream: ReadableStream<LanguageModelV3StreamPart>;
1835
+ /**
1836
+ * Optional request information for telemetry and debugging purposes.
1837
+ */
1838
+ request?: {
1839
+ /**
1840
+ * Request HTTP body that was sent to the provider API.
1841
+ */
1842
+ body?: unknown;
1843
+ };
1844
+ /**
1845
+ * Optional response data.
1846
+ */
1847
+ response?: {
1848
+ /**
1849
+ * Response headers.
1850
+ */
1851
+ headers?: SharedV3Headers;
1852
+ };
1853
+ };
1854
+
1855
+ /**
1856
+ * Specification for a language model that implements the language model interface version 3.
1766
1857
  */
1767
1858
  type LanguageModelV3 = {
1768
1859
  /**
1769
- The language model must specify which language model interface version it implements.
1860
+ * The language model must specify which language model interface version it implements.
1770
1861
  */
1771
1862
  readonly specificationVersion: 'v3';
1772
1863
  /**
1773
- Provider ID.
1864
+ * Provider ID.
1774
1865
  */
1775
1866
  readonly provider: string;
1776
1867
  /**
1777
- Provider-specific model ID.
1868
+ * Provider-specific model ID.
1778
1869
  */
1779
1870
  readonly modelId: string;
1780
1871
  /**
1781
- Supported URL patterns by media type for the provider.
1782
-
1783
- The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
1784
- and the values are arrays of regular expressions that match the URL paths.
1785
-
1786
- The matching should be against lower-case URLs.
1787
-
1788
- Matched URLs are supported natively by the model and are not downloaded.
1789
-
1790
- @returns A map of supported URL patterns by media type (as a promise or a plain object).
1872
+ * Supported URL patterns by media type for the provider.
1873
+ *
1874
+ * The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
1875
+ * and the values are arrays of regular expressions that match the URL paths.
1876
+ *
1877
+ * The matching should be against lower-case URLs.
1878
+ *
1879
+ * Matched URLs are supported natively by the model and are not downloaded.
1880
+ *
1881
+ * @returns A map of supported URL patterns by media type (as a promise or a plain object).
1791
1882
  */
1792
1883
  supportedUrls: PromiseLike<Record<string, RegExp[]>> | Record<string, RegExp[]>;
1793
1884
  /**
1794
- Generates a language model output (non-streaming).
1885
+ * Generates a language model output (non-streaming).
1795
1886
 
1796
- Naming: "do" prefix to prevent accidental direct usage of the method
1797
- by the user.
1887
+ * Naming: "do" prefix to prevent accidental direct usage of the method
1888
+ * by the user.
1798
1889
  */
1799
- doGenerate(options: LanguageModelV3CallOptions): PromiseLike<{
1800
- /**
1801
- Ordered content that the model has generated.
1802
- */
1803
- content: Array<LanguageModelV3Content>;
1804
- /**
1805
- Finish reason.
1806
- */
1807
- finishReason: LanguageModelV3FinishReason;
1808
- /**
1809
- Usage information.
1810
- */
1811
- usage: LanguageModelV3Usage;
1812
- /**
1813
- Additional provider-specific metadata. They are passed through
1814
- from the provider to the AI SDK and enable provider-specific
1815
- results that can be fully encapsulated in the provider.
1816
- */
1817
- providerMetadata?: SharedV3ProviderMetadata;
1818
- /**
1819
- Optional request information for telemetry and debugging purposes.
1820
- */
1821
- request?: {
1822
- /**
1823
- Request HTTP body that was sent to the provider API.
1824
- */
1825
- body?: unknown;
1826
- };
1827
- /**
1828
- Optional response information for telemetry and debugging purposes.
1829
- */
1830
- response?: LanguageModelV3ResponseMetadata & {
1831
- /**
1832
- Response headers.
1833
- */
1834
- headers?: SharedV3Headers;
1835
- /**
1836
- Response HTTP body.
1837
- */
1838
- body?: unknown;
1839
- };
1840
- /**
1841
- Warnings for the call, e.g. unsupported settings.
1842
- */
1843
- warnings: Array<SharedV3Warning>;
1844
- }>;
1890
+ doGenerate(options: LanguageModelV3CallOptions): PromiseLike<LanguageModelV3GenerateResult>;
1845
1891
  /**
1846
- Generates a language model output (streaming).
1847
-
1848
- Naming: "do" prefix to prevent accidental direct usage of the method
1849
- by the user.
1892
+ * Generates a language model output (streaming).
1850
1893
  *
1851
- @return A stream of higher-level language model output parts.
1894
+ * Naming: "do" prefix to prevent accidental direct usage of the method
1895
+ * by the user.
1896
+ *
1897
+ * @return A stream of higher-level language model output parts.
1852
1898
  */
1853
- doStream(options: LanguageModelV3CallOptions): PromiseLike<{
1854
- stream: ReadableStream<LanguageModelV3StreamPart>;
1855
- /**
1856
- Optional request information for telemetry and debugging purposes.
1857
- */
1858
- request?: {
1859
- /**
1860
- Request HTTP body that was sent to the provider API.
1861
- */
1862
- body?: unknown;
1863
- };
1864
- /**
1865
- Optional response data.
1866
- */
1867
- response?: {
1868
- /**
1869
- Response headers.
1870
- */
1871
- headers?: SharedV3Headers;
1872
- };
1873
- }>;
1899
+ doStream(options: LanguageModelV3CallOptions): PromiseLike<LanguageModelV3StreamResult>;
1874
1900
  };
1875
1901
 
1876
1902
  /**
@@ -1927,11 +1953,11 @@ type LanguageModelV3Middleware = {
1927
1953
  * @returns A promise that resolves to the result of the generate operation.
1928
1954
  */
1929
1955
  wrapGenerate?: (options: {
1930
- doGenerate: () => ReturnType<LanguageModelV3['doGenerate']>;
1931
- doStream: () => ReturnType<LanguageModelV3['doStream']>;
1956
+ doGenerate: () => PromiseLike<LanguageModelV3GenerateResult>;
1957
+ doStream: () => PromiseLike<LanguageModelV3StreamResult>;
1932
1958
  params: LanguageModelV3CallOptions;
1933
1959
  model: LanguageModelV3;
1934
- }) => Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
1960
+ }) => PromiseLike<LanguageModelV3GenerateResult>;
1935
1961
  /**
1936
1962
  * Wraps the stream operation of the language model.
1937
1963
  *
@@ -1944,11 +1970,11 @@ type LanguageModelV3Middleware = {
1944
1970
  * @returns A promise that resolves to the result of the stream operation.
1945
1971
  */
1946
1972
  wrapStream?: (options: {
1947
- doGenerate: () => ReturnType<LanguageModelV3['doGenerate']>;
1948
- doStream: () => ReturnType<LanguageModelV3['doStream']>;
1973
+ doGenerate: () => PromiseLike<LanguageModelV3GenerateResult>;
1974
+ doStream: () => PromiseLike<LanguageModelV3StreamResult>;
1949
1975
  params: LanguageModelV3CallOptions;
1950
1976
  model: LanguageModelV3;
1951
- }) => PromiseLike<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
1977
+ }) => PromiseLike<LanguageModelV3StreamResult>;
1952
1978
  };
1953
1979
 
1954
1980
  /**
@@ -3656,4 +3682,4 @@ interface ProviderV2 {
3656
3682
  speechModel?(modelId: string): SpeechModelV2;
3657
3683
  }
3658
3684
 
3659
- export { AISDKError, APICallError, type EmbeddingModelCallOptions, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3Embedding, type EmbeddingModelV3Middleware, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3File, type ImageModelV3ProviderMetadata, type ImageModelV3Usage, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV2, type ProviderV3, type RerankingModelV3, type RerankingModelV3CallOptions, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SharedV3Warning, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
3685
+ export { AISDKError, APICallError, type EmbeddingModelCallOptions, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3Embedding, type EmbeddingModelV3Middleware, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3File, type ImageModelV3ProviderMetadata, type ImageModelV3Usage, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3GenerateResult, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3StreamResult, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV2, type ProviderV3, type RerankingModelV3, type RerankingModelV3CallOptions, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SharedV3Warning, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/provider",
3
- "version": "3.0.0-beta.28",
3
+ "version": "3.0.0-beta.30",
4
4
  "license": "Apache-2.0",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",