@ai-sdk/openai 2.0.90 → 2.0.92

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.
@@ -1767,19 +1767,52 @@ var OpenAIImageModel = class {
1767
1767
  },
1768
1768
  providerMetadata: {
1769
1769
  openai: {
1770
- images: response.data.map((item) => ({
1770
+ images: response.data.map((item, index) => ({
1771
1771
  ...item.revised_prompt ? { revisedPrompt: item.revised_prompt } : {},
1772
1772
  ...response.created != null ? { created: response.created } : {},
1773
1773
  ...response.size != null ? { size: response.size } : {},
1774
1774
  ...response.quality != null ? { quality: response.quality } : {},
1775
1775
  ...response.background != null ? { background: response.background } : {},
1776
- ...response.output_format != null ? { outputFormat: response.output_format } : {}
1776
+ ...response.output_format != null ? { outputFormat: response.output_format } : {},
1777
+ ...distributeTokenDetails(
1778
+ response.usage,
1779
+ index,
1780
+ response.data.length
1781
+ )
1777
1782
  }))
1778
1783
  }
1779
1784
  }
1780
1785
  };
1781
1786
  }
1782
1787
  };
1788
+ function distributeTokenDetails(usage, index, total) {
1789
+ if (usage == null) {
1790
+ return {};
1791
+ }
1792
+ const result = {};
1793
+ const details = usage.input_tokens_details;
1794
+ if ((details == null ? void 0 : details.image_tokens) != null) {
1795
+ const base = Math.floor(details.image_tokens / total);
1796
+ const remainder = details.image_tokens - base * (total - 1);
1797
+ result.imageTokens = index === total - 1 ? remainder : base;
1798
+ }
1799
+ if ((details == null ? void 0 : details.text_tokens) != null) {
1800
+ const base = Math.floor(details.text_tokens / total);
1801
+ const remainder = details.text_tokens - base * (total - 1);
1802
+ result.textTokens = index === total - 1 ? remainder : base;
1803
+ }
1804
+ if (usage.input_tokens != null) {
1805
+ const base = Math.floor(usage.input_tokens / total);
1806
+ const remainder = usage.input_tokens - base * (total - 1);
1807
+ result.inputTokens = index === total - 1 ? remainder : base;
1808
+ }
1809
+ if (usage.output_tokens != null) {
1810
+ const base = Math.floor(usage.output_tokens / total);
1811
+ const remainder = usage.output_tokens - base * (total - 1);
1812
+ result.outputTokens = index === total - 1 ? remainder : base;
1813
+ }
1814
+ return result;
1815
+ }
1783
1816
 
1784
1817
  // src/transcription/openai-transcription-model.ts
1785
1818
  var import_provider_utils16 = require("@ai-sdk/provider-utils");