{"version":3,"sources":["../../src/mantle/index.ts","../../src/mantle/bedrock-mantle-provider.ts","../../src/amazon-bedrock-sigv4-fetch.ts","../../src/version.ts"],"sourcesContent":["export { bedrockMantle, createBedrockMantle } from './bedrock-mantle-provider';\nexport type {\n  BedrockMantleProvider,\n  BedrockMantleProviderSettings,\n} from './bedrock-mantle-provider';\nexport type { BedrockMantleModelId } from './bedrock-mantle-options';\n","import {\n  OpenAIChatLanguageModel,\n  OpenAIResponsesLanguageModel,\n} from '@ai-sdk/openai/internal';\nimport {\n  NoSuchModelError,\n  type LanguageModelV4,\n  type ProviderV4,\n} from '@ai-sdk/provider';\nimport {\n  loadOptionalSetting,\n  loadSetting,\n  withoutTrailingSlash,\n  withUserAgentSuffix,\n  type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport {\n  createApiKeyFetchFunction,\n  createSigV4FetchFunction,\n  type AmazonBedrockCredentials,\n} from '../amazon-bedrock-sigv4-fetch';\nimport type {\n  BedrockMantleChatModelId,\n  BedrockMantleResponsesModelId,\n} from './bedrock-mantle-options';\nimport { VERSION } from '../version';\n\nexport interface BedrockMantleProvider extends ProviderV4 {\n  /**\n   * Creates a model for text generation using the Chat Completions API.\n   * Chat Completions has the broadest model support on Mantle.\n   */\n  (modelId: BedrockMantleChatModelId): LanguageModelV4;\n\n  /**\n   * Creates a model for text generation using the Chat Completions API.\n   */\n  languageModel(modelId: BedrockMantleChatModelId): LanguageModelV4;\n\n  /**\n   * Creates a model for text generation using the Chat Completions API.\n   */\n  chat(modelId: BedrockMantleChatModelId): LanguageModelV4;\n\n  /**\n   * Creates a model for text generation using the Responses API.\n   * Not all Mantle models support this API. Notably, gpt-oss-safeguard models\n   * are Chat-only.\n   */\n  responses(modelId: BedrockMantleResponsesModelId): LanguageModelV4;\n\n  /**\n   * @deprecated Mantle does not support embedding models.\n   */\n  textEmbeddingModel(modelId: string): never;\n}\n\nexport interface BedrockMantleProviderSettings {\n  /**\n   * The AWS region to use for the Bedrock Mantle endpoint. Defaults to the value of the\n   * `AWS_REGION` environment variable.\n   */\n  region?: string;\n\n  /**\n   * API key for authenticating requests using Bearer token authentication.\n   * When provided, this will be used instead of AWS SigV4 authentication.\n   * Defaults to the value of the `AWS_BEARER_TOKEN_BEDROCK` environment variable.\n   */\n  apiKey?: string;\n\n  /**\n   * The AWS access key ID to use for SigV4 authentication. Defaults to the value of the\n   * `AWS_ACCESS_KEY_ID` environment variable.\n   */\n  accessKeyId?: string;\n\n  /**\n   * The AWS secret access key to use for SigV4 authentication. Defaults to the value of the\n   * `AWS_SECRET_ACCESS_KEY` environment variable.\n   */\n  secretAccessKey?: string;\n\n  /**\n   * The AWS session token to use for SigV4 authentication. Defaults to the value of the\n   * `AWS_SESSION_TOKEN` environment variable.\n   */\n  sessionToken?: string;\n\n  /**\n   * Base URL for the Bedrock Mantle API calls.\n   */\n  baseURL?: string;\n\n  /**\n   * Custom headers to include in the requests.\n   */\n  headers?: Record<string, string | undefined>;\n\n  /**\n   * Custom fetch implementation. You can use it as a middleware to intercept requests,\n   * or to provide a custom fetch implementation for e.g. testing.\n   */\n  fetch?: FetchFunction;\n\n  /**\n   * The AWS credential provider to use for SigV4 authentication to get dynamic\n   * credentials similar to the AWS SDK. Setting a provider here will cause its\n   * credential values to be used instead of the `accessKeyId`, `secretAccessKey`,\n   * and `sessionToken` settings.\n   */\n  credentialProvider?: () => PromiseLike<\n    Omit<AmazonBedrockCredentials, 'region'>\n  >;\n}\n\n/**\n * Create an Amazon Bedrock Mantle provider instance.\n * This provider uses the OpenAI-compatible Mantle API for models that are\n * only available through the Mantle endpoint (e.g. openai.gpt-oss-20b).\n */\nexport function createBedrockMantle(\n  options: BedrockMantleProviderSettings = {},\n): BedrockMantleProvider {\n  // Check for API key authentication first\n  const rawApiKey = loadOptionalSetting({\n    settingValue: options.apiKey,\n    environmentVariableName: 'AWS_BEARER_TOKEN_BEDROCK',\n  });\n\n  // Only use API key if it's a non-empty, non-whitespace string\n  const apiKey =\n    rawApiKey && rawApiKey.trim().length > 0 ? rawApiKey.trim() : undefined;\n\n  // Use API key authentication if available, otherwise fall back to SigV4\n  const fetchFunction = apiKey\n    ? createApiKeyFetchFunction(apiKey, options.fetch)\n    : createSigV4FetchFunction(\n        async () => {\n          const region = loadSetting({\n            settingValue: options.region,\n            settingName: 'region',\n            environmentVariableName: 'AWS_REGION',\n            description: 'AWS region',\n          });\n\n          // If a credential provider is provided, use it to get the credentials.\n          if (options.credentialProvider) {\n            try {\n              return {\n                ...(await options.credentialProvider()),\n                region,\n              };\n            } catch (error) {\n              const errorMessage =\n                error instanceof Error ? error.message : String(error);\n              throw new Error(\n                `AWS credential provider failed: ${errorMessage}. ` +\n                  'Please ensure your credential provider returns valid AWS credentials ' +\n                  'with accessKeyId and secretAccessKey properties.',\n              );\n            }\n          }\n\n          try {\n            return {\n              region,\n              accessKeyId: loadSetting({\n                settingValue: options.accessKeyId,\n                settingName: 'accessKeyId',\n                environmentVariableName: 'AWS_ACCESS_KEY_ID',\n                description: 'AWS access key ID',\n              }),\n              secretAccessKey: loadSetting({\n                settingValue: options.secretAccessKey,\n                settingName: 'secretAccessKey',\n                environmentVariableName: 'AWS_SECRET_ACCESS_KEY',\n                description: 'AWS secret access key',\n              }),\n              sessionToken: loadOptionalSetting({\n                settingValue: options.sessionToken,\n                environmentVariableName: 'AWS_SESSION_TOKEN',\n              }),\n            };\n          } catch (error) {\n            const errorMessage =\n              error instanceof Error ? error.message : String(error);\n            if (\n              errorMessage.includes('AWS_ACCESS_KEY_ID') ||\n              errorMessage.includes('accessKeyId')\n            ) {\n              throw new Error(\n                'AWS SigV4 authentication requires AWS credentials. Please provide either:\\n' +\n                  '1. Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables\\n' +\n                  '2. Provide accessKeyId and secretAccessKey in options\\n' +\n                  '3. Use a credentialProvider function\\n' +\n                  '4. Use API key authentication with AWS_BEARER_TOKEN_BEDROCK or apiKey option\\n' +\n                  `Original error: ${errorMessage}`,\n              );\n            }\n            if (\n              errorMessage.includes('AWS_SECRET_ACCESS_KEY') ||\n              errorMessage.includes('secretAccessKey')\n            ) {\n              throw new Error(\n                'AWS SigV4 authentication requires both AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. ' +\n                  'Please ensure both credentials are provided.\\n' +\n                  `Original error: ${errorMessage}`,\n              );\n            }\n            throw error;\n          }\n        },\n        options.fetch,\n        'bedrock-mantle',\n      );\n\n  const getBaseURL = (): string =>\n    withoutTrailingSlash(\n      options.baseURL ??\n        `https://bedrock-mantle.${loadSetting({\n          settingValue: options.region,\n          settingName: 'region',\n          environmentVariableName: 'AWS_REGION',\n          description: 'AWS region',\n        })}.api.aws/v1`,\n    ) ?? 'https://bedrock-mantle.us-east-1.api.aws/v1';\n\n  const getHeaders = (): Record<string, string | undefined> =>\n    withUserAgentSuffix(\n      options.headers ?? {},\n      `ai-sdk/amazon-bedrock/${VERSION}`,\n    );\n\n  const url = ({ path }: { path: string; modelId: string }): string =>\n    `${getBaseURL()}${path}`;\n\n  const createChatModel = (modelId: BedrockMantleChatModelId) =>\n    new OpenAIChatLanguageModel(modelId, {\n      provider: 'bedrock-mantle.chat',\n      url,\n      headers: getHeaders,\n      fetch: fetchFunction,\n    });\n\n  const createResponsesModel = (modelId: BedrockMantleResponsesModelId) =>\n    new OpenAIResponsesLanguageModel(modelId, {\n      provider: 'bedrock-mantle.responses',\n      url,\n      headers: getHeaders,\n      fetch: fetchFunction,\n    });\n\n  const provider = function (modelId: BedrockMantleChatModelId) {\n    if (new.target) {\n      throw new Error(\n        'The Bedrock Mantle model function cannot be called with the new keyword.',\n      );\n    }\n\n    return createChatModel(modelId);\n  };\n\n  provider.specificationVersion = 'v4' as const;\n  provider.languageModel = createChatModel;\n  provider.chat = createChatModel;\n  provider.responses = createResponsesModel;\n\n  provider.embeddingModel = (modelId: string) => {\n    throw new NoSuchModelError({ modelId, modelType: 'embeddingModel' });\n  };\n  provider.textEmbeddingModel = provider.embeddingModel;\n  provider.imageModel = (modelId: string) => {\n    throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n  };\n\n  return provider as BedrockMantleProvider;\n}\n\n/**\n * Default Bedrock Mantle provider instance.\n */\nexport const bedrockMantle = createBedrockMantle();\n","import {\n  combineHeaders,\n  normalizeHeaders,\n  withUserAgentSuffix,\n  getRuntimeEnvironmentUserAgent,\n  type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { AwsV4Signer } from 'aws4fetch';\nimport { VERSION } from './version';\n\nexport interface AmazonBedrockCredentials {\n  region: string;\n  accessKeyId: string;\n  secretAccessKey: string;\n  sessionToken?: string;\n}\n\n/**\n * Creates a fetch function that applies AWS Signature Version 4 signing.\n *\n * @param getCredentials - Function that returns the AWS credentials to use when signing.\n * @param fetch - Optional original fetch implementation to wrap. Defaults to global fetch.\n * @param service - The AWS service name to use for SigV4 signing scope. Defaults to 'bedrock'.\n * @returns A FetchFunction that signs requests before passing them to the underlying fetch.\n */\nexport function createSigV4FetchFunction(\n  getCredentials: () =>\n    | AmazonBedrockCredentials\n    | PromiseLike<AmazonBedrockCredentials>,\n  fetch?: FetchFunction,\n  service: string = 'bedrock',\n): FetchFunction {\n  return async (\n    input: RequestInfo | URL,\n    init?: RequestInit,\n  ): Promise<Response> => {\n    // avoid caching globalThis.fetch in case it is patched by other libraries\n    const effectiveFetch = fetch ?? globalThis.fetch;\n    const request = input instanceof Request ? input : undefined;\n    const originalHeaders = combineHeaders(\n      normalizeHeaders(request?.headers),\n      normalizeHeaders(init?.headers),\n    );\n    const headersWithUserAgent = withUserAgentSuffix(\n      originalHeaders,\n      `ai-sdk/amazon-bedrock/${VERSION}`,\n      getRuntimeEnvironmentUserAgent(),\n    );\n\n    let effectiveBody: BodyInit | undefined = init?.body ?? undefined;\n    if (effectiveBody === undefined && request && request.body !== null) {\n      try {\n        effectiveBody = await request.clone().text();\n      } catch {}\n    }\n\n    const effectiveMethod = init?.method ?? request?.method;\n\n    if (effectiveMethod?.toUpperCase() !== 'POST' || !effectiveBody) {\n      return effectiveFetch(input, {\n        ...init,\n        headers: headersWithUserAgent as HeadersInit,\n      });\n    }\n\n    const url =\n      typeof input === 'string'\n        ? input\n        : input instanceof URL\n          ? input.href\n          : input.url;\n\n    const body = prepareBodyString(effectiveBody);\n    const credentials = await getCredentials();\n    const signer = new AwsV4Signer({\n      url,\n      method: 'POST',\n      headers: Object.entries(headersWithUserAgent),\n      body,\n      region: credentials.region,\n      accessKeyId: credentials.accessKeyId,\n      secretAccessKey: credentials.secretAccessKey,\n      sessionToken: credentials.sessionToken,\n      service,\n    });\n\n    const signingResult = await signer.sign();\n    const signedHeaders = normalizeHeaders(signingResult.headers);\n\n    // Use the combined headers directly as HeadersInit\n    const combinedHeaders = combineHeaders(headersWithUserAgent, signedHeaders);\n\n    return effectiveFetch(input, {\n      ...init,\n      body,\n      headers: combinedHeaders as HeadersInit,\n    });\n  };\n}\n\nfunction prepareBodyString(body: BodyInit | undefined): string {\n  if (typeof body === 'string') {\n    return body;\n  } else if (body instanceof Uint8Array) {\n    return new TextDecoder().decode(body);\n  } else if (body instanceof ArrayBuffer) {\n    return new TextDecoder().decode(new Uint8Array(body));\n  } else {\n    return JSON.stringify(body);\n  }\n}\n\n/**\n * Creates a fetch function that applies Bearer token authentication.\n *\n * @param apiKey - The API key to use for Bearer token authentication.\n * @param fetch - Optional original fetch implementation to wrap. Defaults to global fetch.\n * @returns A FetchFunction that adds Authorization header with Bearer token to requests.\n */\nexport function createApiKeyFetchFunction(\n  apiKey: string,\n  fetch?: FetchFunction,\n): FetchFunction {\n  return async (\n    input: RequestInfo | URL,\n    init?: RequestInit,\n  ): Promise<Response> => {\n    // avoid caching globalThis.fetch in case it is patched by other libraries\n    const effectiveFetch = fetch ?? globalThis.fetch;\n    const originalHeaders = normalizeHeaders(init?.headers);\n    const headersWithUserAgent = withUserAgentSuffix(\n      originalHeaders,\n      `ai-sdk/amazon-bedrock/${VERSION}`,\n      getRuntimeEnvironmentUserAgent(),\n    );\n\n    const finalHeaders = combineHeaders(headersWithUserAgent, {\n      Authorization: `Bearer ${apiKey}`,\n    });\n\n    return effectiveFetch(input, {\n      ...init,\n      headers: finalHeaders as HeadersInit,\n    });\n  };\n}\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n  typeof __PACKAGE_VERSION__ !== 'undefined'\n    ? __PACKAGE_VERSION__\n    : '0.0.0-test';\n"],"mappings":"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","names":["import_provider_utils"]}