@eko-ai/eko 2.0.3 → 2.0.4

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.
Files changed (59) hide show
  1. package/dist/agent/base.d.ts +9 -10
  2. package/dist/agent/base.d.ts.map +1 -1
  3. package/dist/agent/browser/browser_base.d.ts +3 -1
  4. package/dist/agent/browser/browser_base.d.ts.map +1 -1
  5. package/dist/agent/browser/browser_labels.d.ts +3 -2
  6. package/dist/agent/browser/browser_labels.d.ts.map +1 -1
  7. package/dist/agent/browser/browser_screen.d.ts +3 -2
  8. package/dist/agent/browser/browser_screen.d.ts.map +1 -1
  9. package/dist/agent/browser/index.d.ts +2 -3
  10. package/dist/agent/browser/index.d.ts.map +1 -1
  11. package/dist/agent/chat.d.ts +1 -0
  12. package/dist/agent/chat.d.ts.map +1 -1
  13. package/dist/agent/computer.d.ts +2 -1
  14. package/dist/agent/computer.d.ts.map +1 -1
  15. package/dist/agent/file.d.ts +1 -0
  16. package/dist/agent/file.d.ts.map +1 -1
  17. package/dist/agent/shell.d.ts +1 -0
  18. package/dist/agent/shell.d.ts.map +1 -1
  19. package/dist/agent/timer.d.ts +1 -0
  20. package/dist/agent/timer.d.ts.map +1 -1
  21. package/dist/common/utils.d.ts +1 -1
  22. package/dist/common/utils.d.ts.map +1 -1
  23. package/dist/config/index.d.ts +3 -0
  24. package/dist/config/index.d.ts.map +1 -1
  25. package/dist/index.cjs.js +2814 -695
  26. package/dist/index.cjs.js.map +1 -0
  27. package/dist/index.esm.js +2814 -695
  28. package/dist/index.esm.js.map +1 -0
  29. package/dist/llm/index.d.ts.map +1 -1
  30. package/dist/mcp/index.d.ts.map +1 -1
  31. package/dist/memory/index.d.ts +9 -0
  32. package/dist/memory/index.d.ts.map +1 -0
  33. package/dist/memory/snapshot.d.ts +13 -0
  34. package/dist/memory/snapshot.d.ts.map +1 -0
  35. package/dist/prompt/agent.d.ts.map +1 -1
  36. package/dist/tools/foreach_task.d.ts +1 -0
  37. package/dist/tools/foreach_task.d.ts.map +1 -1
  38. package/dist/tools/human_interact.d.ts +1 -0
  39. package/dist/tools/human_interact.d.ts.map +1 -1
  40. package/dist/tools/index.d.ts +2 -1
  41. package/dist/tools/index.d.ts.map +1 -1
  42. package/dist/tools/task_node_status.d.ts +1 -0
  43. package/dist/tools/task_node_status.d.ts.map +1 -1
  44. package/dist/tools/variable_storage.d.ts +1 -0
  45. package/dist/tools/variable_storage.d.ts.map +1 -1
  46. package/dist/tools/watch_trigger.d.ts +1 -0
  47. package/dist/tools/watch_trigger.d.ts.map +1 -1
  48. package/dist/tools/wrapper.d.ts +2 -2
  49. package/dist/tools/wrapper.d.ts.map +1 -1
  50. package/dist/types/core.types.d.ts +1 -1
  51. package/dist/types/core.types.d.ts.map +1 -1
  52. package/dist/types/llm.types.d.ts +1 -1
  53. package/dist/types/llm.types.d.ts.map +1 -1
  54. package/dist/types/tools.types.d.ts +2 -1
  55. package/dist/types/tools.types.d.ts.map +1 -1
  56. package/package.json +9 -8
  57. package/README.md +0 -159
  58. package/dist/mcp/client.d.ts +0 -28
  59. package/dist/mcp/client.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/config/index.ts","../src/common/log.ts","../src/core/context.ts","../../../node_modules/.pnpm/@ai-sdk+provider@1.1.3/node_modules/@ai-sdk/provider/dist/index.mjs","../../../node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/non-secure/index.js","../../../node_modules/.pnpm/secure-json-parse@2.7.0/node_modules/secure-json-parse/index.js","../../../node_modules/.pnpm/@ai-sdk+provider-utils@2.2.8_zod@3.24.4/node_modules/@ai-sdk/provider-utils/dist/index.mjs","../../../node_modules/.pnpm/zod@3.24.4/node_modules/zod/lib/index.mjs","../../../node_modules/.pnpm/@ai-sdk+openai@1.3.22_zod@3.24.4/node_modules/@ai-sdk/openai/dist/index.mjs","../src/common/utils.ts","../../../node_modules/.pnpm/@ai-sdk+anthropic@1.2.11_zod@3.24.4/node_modules/@ai-sdk/anthropic/dist/index.mjs","../../../node_modules/.pnpm/@ai-sdk+google@1.2.18_zod@3.24.4/node_modules/@ai-sdk/google/dist/index.mjs","../../../node_modules/.pnpm/@rollup+plugin-typescript@12.1.2_rollup@4.41.0_tslib@2.8.1_typescript@5.8.3/node_modules/tslib/tslib.es6.js","../../../node_modules/.pnpm/@smithy+util-buffer-from@2.2.0/node_modules/@smithy/util-buffer-from/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-utf8@2.3.0/node_modules/@smithy/util-utf8/dist-es/fromUtf8.js","../../../node_modules/.pnpm/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/module/convertToBuffer.js","../../../node_modules/.pnpm/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/module/uint32ArrayFrom.js","../../../node_modules/.pnpm/@aws-crypto+crc32@5.2.0/node_modules/@aws-crypto/crc32/build/module/index.js","../../../node_modules/.pnpm/@smithy+util-hex-encoding@4.0.0/node_modules/@smithy/util-hex-encoding/dist-es/index.js","../../../node_modules/.pnpm/@smithy+eventstream-codec@4.0.2/node_modules/@smithy/eventstream-codec/dist-es/Int64.js","../../../node_modules/.pnpm/@smithy+eventstream-codec@4.0.2/node_modules/@smithy/eventstream-codec/dist-es/HeaderMarshaller.js","../../../node_modules/.pnpm/@smithy+eventstream-codec@4.0.2/node_modules/@smithy/eventstream-codec/dist-es/splitMessage.js","../../../node_modules/.pnpm/@smithy+eventstream-codec@4.0.2/node_modules/@smithy/eventstream-codec/dist-es/EventStreamCodec.js","../../../node_modules/.pnpm/@smithy+is-array-buffer@4.0.0/node_modules/@smithy/is-array-buffer/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-buffer-from@4.0.0/node_modules/@smithy/util-buffer-from/dist-es/index.js","../../../node_modules/.pnpm/@smithy+util-utf8@4.0.0/node_modules/@smithy/util-utf8/dist-es/fromUtf8.js","../../../node_modules/.pnpm/@smithy+util-utf8@4.0.0/node_modules/@smithy/util-utf8/dist-es/toUtf8.js","../../../node_modules/.pnpm/aws4fetch@1.0.20/node_modules/aws4fetch/dist/aws4fetch.esm.mjs","../../../node_modules/.pnpm/@ai-sdk+amazon-bedrock@2.2.9_zod@3.24.4/node_modules/@ai-sdk/amazon-bedrock/dist/index.mjs","../../../node_modules/.pnpm/@ai-sdk+provider@1.0.9/node_modules/@ai-sdk/provider/dist/index.mjs","../../../node_modules/.pnpm/eventsource-parser@3.0.2/node_modules/eventsource-parser/dist/index.js","../../../node_modules/.pnpm/eventsource-parser@3.0.2/node_modules/eventsource-parser/dist/stream.js","../../../node_modules/.pnpm/@ai-sdk+provider-utils@2.1.10_zod@3.24.4/node_modules/@ai-sdk/provider-utils/dist/index.mjs","../../../node_modules/.pnpm/@openrouter+ai-sdk-provider@0.4.6_zod@3.24.4/node_modules/@openrouter/ai-sdk-provider/dist/index.mjs","../src/llm/index.ts","../../../node_modules/.pnpm/xmldom@0.6.0/node_modules/xmldom/lib/entities.js","../../../node_modules/.pnpm/xmldom@0.6.0/node_modules/xmldom/lib/sax.js","../../../node_modules/.pnpm/xmldom@0.6.0/node_modules/xmldom/lib/dom.js","../../../node_modules/.pnpm/xmldom@0.6.0/node_modules/xmldom/lib/dom-parser.js","../src/common/xml.ts","../src/memory/snapshot.ts","../src/memory/index.ts","../src/tools/wrapper.ts","../src/core/chain.ts","../src/tools/foreach_task.ts","../src/tools/human_interact.ts","../src/tools/task_node_status.ts","../src/tools/variable_storage.ts","../src/tools/watch_trigger.ts","../src/tools/index.ts","../src/prompt/agent.ts","../src/agent/base.ts","../src/agent/chat.ts","../src/prompt/plan.ts","../src/core/plan.ts","../src/core/index.ts","../src/mcp/index.ts","../src/agent/file.ts","../src/agent/shell.ts","../src/agent/timer.ts","../src/agent/computer.ts","../src/agent/browser/browser_base.ts","../src/agent/browser/build_dom_tree.ts","../src/agent/browser/browser_labels.ts","../src/agent/browser/browser_screen.ts"],"sourcesContent":[null,null,null,"// src/errors/ai-sdk-error.ts\nvar marker = \"vercel.ai.error\";\nvar symbol = Symbol.for(marker);\nvar _a;\nvar _AISDKError = class _AISDKError extends Error {\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name: name14,\n message,\n cause\n }) {\n super(message);\n this[_a] = true;\n this.name = name14;\n this.cause = cause;\n }\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error) {\n return _AISDKError.hasMarker(error, marker);\n }\n static hasMarker(error, marker15) {\n const markerSymbol = Symbol.for(marker15);\n return error != null && typeof error === \"object\" && markerSymbol in error && typeof error[markerSymbol] === \"boolean\" && error[markerSymbol] === true;\n }\n};\n_a = symbol;\nvar AISDKError = _AISDKError;\n\n// src/errors/api-call-error.ts\nvar name = \"AI_APICallError\";\nvar marker2 = `vercel.ai.error.${name}`;\nvar symbol2 = Symbol.for(marker2);\nvar _a2;\nvar APICallError = class extends AISDKError {\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null && (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500),\n // server error\n data\n }) {\n super({ name, message, cause });\n this[_a2] = true;\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker2);\n }\n};\n_a2 = symbol2;\n\n// src/errors/empty-response-body-error.ts\nvar name2 = \"AI_EmptyResponseBodyError\";\nvar marker3 = `vercel.ai.error.${name2}`;\nvar symbol3 = Symbol.for(marker3);\nvar _a3;\nvar EmptyResponseBodyError = class extends AISDKError {\n // used in isInstance\n constructor({ message = \"Empty response body\" } = {}) {\n super({ name: name2, message });\n this[_a3] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker3);\n }\n};\n_a3 = symbol3;\n\n// src/errors/get-error-message.ts\nfunction getErrorMessage(error) {\n if (error == null) {\n return \"unknown error\";\n }\n if (typeof error === \"string\") {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return JSON.stringify(error);\n}\n\n// src/errors/invalid-argument-error.ts\nvar name3 = \"AI_InvalidArgumentError\";\nvar marker4 = `vercel.ai.error.${name3}`;\nvar symbol4 = Symbol.for(marker4);\nvar _a4;\nvar InvalidArgumentError = class extends AISDKError {\n constructor({\n message,\n cause,\n argument\n }) {\n super({ name: name3, message, cause });\n this[_a4] = true;\n this.argument = argument;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker4);\n }\n};\n_a4 = symbol4;\n\n// src/errors/invalid-prompt-error.ts\nvar name4 = \"AI_InvalidPromptError\";\nvar marker5 = `vercel.ai.error.${name4}`;\nvar symbol5 = Symbol.for(marker5);\nvar _a5;\nvar InvalidPromptError = class extends AISDKError {\n constructor({\n prompt,\n message,\n cause\n }) {\n super({ name: name4, message: `Invalid prompt: ${message}`, cause });\n this[_a5] = true;\n this.prompt = prompt;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker5);\n }\n};\n_a5 = symbol5;\n\n// src/errors/invalid-response-data-error.ts\nvar name5 = \"AI_InvalidResponseDataError\";\nvar marker6 = `vercel.ai.error.${name5}`;\nvar symbol6 = Symbol.for(marker6);\nvar _a6;\nvar InvalidResponseDataError = class extends AISDKError {\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`\n }) {\n super({ name: name5, message });\n this[_a6] = true;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker6);\n }\n};\n_a6 = symbol6;\n\n// src/errors/json-parse-error.ts\nvar name6 = \"AI_JSONParseError\";\nvar marker7 = `vercel.ai.error.${name6}`;\nvar symbol7 = Symbol.for(marker7);\nvar _a7;\nvar JSONParseError = class extends AISDKError {\n constructor({ text, cause }) {\n super({\n name: name6,\n message: `JSON parsing failed: Text: ${text}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a7] = true;\n this.text = text;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker7);\n }\n};\n_a7 = symbol7;\n\n// src/errors/load-api-key-error.ts\nvar name7 = \"AI_LoadAPIKeyError\";\nvar marker8 = `vercel.ai.error.${name7}`;\nvar symbol8 = Symbol.for(marker8);\nvar _a8;\nvar LoadAPIKeyError = class extends AISDKError {\n // used in isInstance\n constructor({ message }) {\n super({ name: name7, message });\n this[_a8] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker8);\n }\n};\n_a8 = symbol8;\n\n// src/errors/load-setting-error.ts\nvar name8 = \"AI_LoadSettingError\";\nvar marker9 = `vercel.ai.error.${name8}`;\nvar symbol9 = Symbol.for(marker9);\nvar _a9;\nvar LoadSettingError = class extends AISDKError {\n // used in isInstance\n constructor({ message }) {\n super({ name: name8, message });\n this[_a9] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker9);\n }\n};\n_a9 = symbol9;\n\n// src/errors/no-content-generated-error.ts\nvar name9 = \"AI_NoContentGeneratedError\";\nvar marker10 = `vercel.ai.error.${name9}`;\nvar symbol10 = Symbol.for(marker10);\nvar _a10;\nvar NoContentGeneratedError = class extends AISDKError {\n // used in isInstance\n constructor({\n message = \"No content generated.\"\n } = {}) {\n super({ name: name9, message });\n this[_a10] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker10);\n }\n};\n_a10 = symbol10;\n\n// src/errors/no-such-model-error.ts\nvar name10 = \"AI_NoSuchModelError\";\nvar marker11 = `vercel.ai.error.${name10}`;\nvar symbol11 = Symbol.for(marker11);\nvar _a11;\nvar NoSuchModelError = class extends AISDKError {\n constructor({\n errorName = name10,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`\n }) {\n super({ name: errorName, message });\n this[_a11] = true;\n this.modelId = modelId;\n this.modelType = modelType;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker11);\n }\n};\n_a11 = symbol11;\n\n// src/errors/too-many-embedding-values-for-call-error.ts\nvar name11 = \"AI_TooManyEmbeddingValuesForCallError\";\nvar marker12 = `vercel.ai.error.${name11}`;\nvar symbol12 = Symbol.for(marker12);\nvar _a12;\nvar TooManyEmbeddingValuesForCallError = class extends AISDKError {\n constructor(options) {\n super({\n name: name11,\n message: `Too many values for a single embedding call. The ${options.provider} model \"${options.modelId}\" can only embed up to ${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`\n });\n this[_a12] = true;\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker12);\n }\n};\n_a12 = symbol12;\n\n// src/errors/type-validation-error.ts\nvar name12 = \"AI_TypeValidationError\";\nvar marker13 = `vercel.ai.error.${name12}`;\nvar symbol13 = Symbol.for(marker13);\nvar _a13;\nvar _TypeValidationError = class _TypeValidationError extends AISDKError {\n constructor({ value, cause }) {\n super({\n name: name12,\n message: `Type validation failed: Value: ${JSON.stringify(value)}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a13] = true;\n this.value = value;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker13);\n }\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause\n }) {\n return _TypeValidationError.isInstance(cause) && cause.value === value ? cause : new _TypeValidationError({ value, cause });\n }\n};\n_a13 = symbol13;\nvar TypeValidationError = _TypeValidationError;\n\n// src/errors/unsupported-functionality-error.ts\nvar name13 = \"AI_UnsupportedFunctionalityError\";\nvar marker14 = `vercel.ai.error.${name13}`;\nvar symbol14 = Symbol.for(marker14);\nvar _a14;\nvar UnsupportedFunctionalityError = class extends AISDKError {\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`\n }) {\n super({ name: name13, message });\n this[_a14] = true;\n this.functionality = functionality;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker14);\n }\n};\n_a14 = symbol14;\n\n// src/json-value/is-json.ts\nfunction isJSONValue(value) {\n if (value === null || typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n return true;\n }\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n if (typeof value === \"object\") {\n return Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && isJSONValue(val)\n );\n }\n return false;\n}\nfunction isJSONArray(value) {\n return Array.isArray(value) && value.every(isJSONValue);\n}\nfunction isJSONObject(value) {\n return value != null && typeof value === \"object\" && Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && isJSONValue(val)\n );\n}\nexport {\n AISDKError,\n APICallError,\n EmptyResponseBodyError,\n InvalidArgumentError,\n InvalidPromptError,\n InvalidResponseDataError,\n JSONParseError,\n LoadAPIKeyError,\n LoadSettingError,\n NoContentGeneratedError,\n NoSuchModelError,\n TooManyEmbeddingValuesForCallError,\n TypeValidationError,\n UnsupportedFunctionalityError,\n getErrorMessage,\n isJSONArray,\n isJSONObject,\n isJSONValue\n};\n//# sourceMappingURL=index.mjs.map","let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size | 0\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nlet nanoid = (size = 21) => {\n let id = ''\n let i = size | 0\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\nexport { nanoid, customAlphabet }\n","'use strict'\n\nconst hasBuffer = typeof Buffer !== 'undefined'\nconst suspectProtoRx = /\"(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])(?:p|\\\\u0070)(?:r|\\\\u0072)(?:o|\\\\u006[Ff])(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])\"\\s*:/\nconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/\n\nfunction _parse (text, reviver, options) {\n // Normalize arguments\n if (options == null) {\n if (reviver !== null && typeof reviver === 'object') {\n options = reviver\n reviver = undefined\n }\n }\n\n if (hasBuffer && Buffer.isBuffer(text)) {\n text = text.toString()\n }\n\n // BOM checker\n if (text && text.charCodeAt(0) === 0xFEFF) {\n text = text.slice(1)\n }\n\n // Parse normally, allowing exceptions\n const obj = JSON.parse(text, reviver)\n\n // Ignore null and non-objects\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n const protoAction = (options && options.protoAction) || 'error'\n const constructorAction = (options && options.constructorAction) || 'error'\n\n // options: 'error' (default) / 'remove' / 'ignore'\n if (protoAction === 'ignore' && constructorAction === 'ignore') {\n return obj\n }\n\n if (protoAction !== 'ignore' && constructorAction !== 'ignore') {\n if (suspectProtoRx.test(text) === false && suspectConstructorRx.test(text) === false) {\n return obj\n }\n } else if (protoAction !== 'ignore' && constructorAction === 'ignore') {\n if (suspectProtoRx.test(text) === false) {\n return obj\n }\n } else {\n if (suspectConstructorRx.test(text) === false) {\n return obj\n }\n }\n\n // Scan result for proto keys\n return filter(obj, { protoAction, constructorAction, safe: options && options.safe })\n}\n\nfunction filter (obj, { protoAction = 'error', constructorAction = 'error', safe } = {}) {\n let next = [obj]\n\n while (next.length) {\n const nodes = next\n next = []\n\n for (const node of nodes) {\n if (protoAction !== 'ignore' && Object.prototype.hasOwnProperty.call(node, '__proto__')) { // Avoid calling node.hasOwnProperty directly\n if (safe === true) {\n return null\n } else if (protoAction === 'error') {\n throw new SyntaxError('Object contains forbidden prototype property')\n }\n\n delete node.__proto__ // eslint-disable-line no-proto\n }\n\n if (constructorAction !== 'ignore' &&\n Object.prototype.hasOwnProperty.call(node, 'constructor') &&\n Object.prototype.hasOwnProperty.call(node.constructor, 'prototype')) { // Avoid calling node.hasOwnProperty directly\n if (safe === true) {\n return null\n } else if (constructorAction === 'error') {\n throw new SyntaxError('Object contains forbidden prototype property')\n }\n\n delete node.constructor\n }\n\n for (const key in node) {\n const value = node[key]\n if (value && typeof value === 'object') {\n next.push(value)\n }\n }\n }\n }\n return obj\n}\n\nfunction parse (text, reviver, options) {\n const stackTraceLimit = Error.stackTraceLimit\n Error.stackTraceLimit = 0\n try {\n return _parse(text, reviver, options)\n } finally {\n Error.stackTraceLimit = stackTraceLimit\n }\n}\n\nfunction safeParse (text, reviver) {\n const stackTraceLimit = Error.stackTraceLimit\n Error.stackTraceLimit = 0\n try {\n return _parse(text, reviver, { safe: true })\n } catch (_e) {\n return null\n } finally {\n Error.stackTraceLimit = stackTraceLimit\n }\n}\n\nmodule.exports = parse\nmodule.exports.default = parse\nmodule.exports.parse = parse\nmodule.exports.safeParse = safeParse\nmodule.exports.scan = filter\n","// src/combine-headers.ts\nfunction combineHeaders(...headers) {\n return headers.reduce(\n (combinedHeaders, currentHeaders) => ({\n ...combinedHeaders,\n ...currentHeaders != null ? currentHeaders : {}\n }),\n {}\n );\n}\n\n// src/convert-async-iterator-to-readable-stream.ts\nfunction convertAsyncIteratorToReadableStream(iterator) {\n return new ReadableStream({\n /**\n * Called when the consumer wants to pull more data from the stream.\n *\n * @param {ReadableStreamDefaultController<T>} controller - The controller to enqueue data into the stream.\n * @returns {Promise<void>}\n */\n async pull(controller) {\n try {\n const { value, done } = await iterator.next();\n if (done) {\n controller.close();\n } else {\n controller.enqueue(value);\n }\n } catch (error) {\n controller.error(error);\n }\n },\n /**\n * Called when the consumer cancels the stream.\n */\n cancel() {\n }\n });\n}\n\n// src/delay.ts\nasync function delay(delayInMs) {\n return delayInMs == null ? Promise.resolve() : new Promise((resolve2) => setTimeout(resolve2, delayInMs));\n}\n\n// src/event-source-parser-stream.ts\nfunction createEventSourceParserStream() {\n let buffer = \"\";\n let event = void 0;\n let data = [];\n let lastEventId = void 0;\n let retry = void 0;\n function parseLine(line, controller) {\n if (line === \"\") {\n dispatchEvent(controller);\n return;\n }\n if (line.startsWith(\":\")) {\n return;\n }\n const colonIndex = line.indexOf(\":\");\n if (colonIndex === -1) {\n handleField(line, \"\");\n return;\n }\n const field = line.slice(0, colonIndex);\n const valueStart = colonIndex + 1;\n const value = valueStart < line.length && line[valueStart] === \" \" ? line.slice(valueStart + 1) : line.slice(valueStart);\n handleField(field, value);\n }\n function dispatchEvent(controller) {\n if (data.length > 0) {\n controller.enqueue({\n event,\n data: data.join(\"\\n\"),\n id: lastEventId,\n retry\n });\n data = [];\n event = void 0;\n retry = void 0;\n }\n }\n function handleField(field, value) {\n switch (field) {\n case \"event\":\n event = value;\n break;\n case \"data\":\n data.push(value);\n break;\n case \"id\":\n lastEventId = value;\n break;\n case \"retry\":\n const parsedRetry = parseInt(value, 10);\n if (!isNaN(parsedRetry)) {\n retry = parsedRetry;\n }\n break;\n }\n }\n return new TransformStream({\n transform(chunk, controller) {\n const { lines, incompleteLine } = splitLines(buffer, chunk);\n buffer = incompleteLine;\n for (let i = 0; i < lines.length; i++) {\n parseLine(lines[i], controller);\n }\n },\n flush(controller) {\n parseLine(buffer, controller);\n dispatchEvent(controller);\n }\n });\n}\nfunction splitLines(buffer, chunk) {\n const lines = [];\n let currentLine = buffer;\n for (let i = 0; i < chunk.length; ) {\n const char = chunk[i++];\n if (char === \"\\n\") {\n lines.push(currentLine);\n currentLine = \"\";\n } else if (char === \"\\r\") {\n lines.push(currentLine);\n currentLine = \"\";\n if (chunk[i] === \"\\n\") {\n i++;\n }\n } else {\n currentLine += char;\n }\n }\n return { lines, incompleteLine: currentLine };\n}\n\n// src/extract-response-headers.ts\nfunction extractResponseHeaders(response) {\n const headers = {};\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n return headers;\n}\n\n// src/generate-id.ts\nimport { InvalidArgumentError } from \"@ai-sdk/provider\";\nimport { customAlphabet } from \"nanoid/non-secure\";\nvar createIdGenerator = ({\n prefix,\n size: defaultSize = 16,\n alphabet = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\",\n separator = \"-\"\n} = {}) => {\n const generator = customAlphabet(alphabet, defaultSize);\n if (prefix == null) {\n return generator;\n }\n if (alphabet.includes(separator)) {\n throw new InvalidArgumentError({\n argument: \"separator\",\n message: `The separator \"${separator}\" must not be part of the alphabet \"${alphabet}\".`\n });\n }\n return (size) => `${prefix}${separator}${generator(size)}`;\n};\nvar generateId = createIdGenerator();\n\n// src/get-error-message.ts\nfunction getErrorMessage(error) {\n if (error == null) {\n return \"unknown error\";\n }\n if (typeof error === \"string\") {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return JSON.stringify(error);\n}\n\n// src/get-from-api.ts\nimport { APICallError } from \"@ai-sdk/provider\";\n\n// src/remove-undefined-entries.ts\nfunction removeUndefinedEntries(record) {\n return Object.fromEntries(\n Object.entries(record).filter(([_key, value]) => value != null)\n );\n}\n\n// src/is-abort-error.ts\nfunction isAbortError(error) {\n return error instanceof Error && (error.name === \"AbortError\" || error.name === \"TimeoutError\");\n}\n\n// src/get-from-api.ts\nvar getOriginalFetch = () => globalThis.fetch;\nvar getFromApi = async ({\n url,\n headers = {},\n successfulResponseHandler,\n failedResponseHandler,\n abortSignal,\n fetch = getOriginalFetch()\n}) => {\n try {\n const response = await fetch(url, {\n method: \"GET\",\n headers: removeUndefinedEntries(headers),\n signal: abortSignal\n });\n const responseHeaders = extractResponseHeaders(response);\n if (!response.ok) {\n let errorInformation;\n try {\n errorInformation = await failedResponseHandler({\n response,\n url,\n requestBodyValues: {}\n });\n } catch (error) {\n if (isAbortError(error) || APICallError.isInstance(error)) {\n throw error;\n }\n throw new APICallError({\n message: \"Failed to process error response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: {}\n });\n }\n throw errorInformation.value;\n }\n try {\n return await successfulResponseHandler({\n response,\n url,\n requestBodyValues: {}\n });\n } catch (error) {\n if (error instanceof Error) {\n if (isAbortError(error) || APICallError.isInstance(error)) {\n throw error;\n }\n }\n throw new APICallError({\n message: \"Failed to process successful response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: {}\n });\n }\n } catch (error) {\n if (isAbortError(error)) {\n throw error;\n }\n if (error instanceof TypeError && error.message === \"fetch failed\") {\n const cause = error.cause;\n if (cause != null) {\n throw new APICallError({\n message: `Cannot connect to API: ${cause.message}`,\n cause,\n url,\n isRetryable: true,\n requestBodyValues: {}\n });\n }\n }\n throw error;\n }\n};\n\n// src/load-api-key.ts\nimport { LoadAPIKeyError } from \"@ai-sdk/provider\";\nfunction loadApiKey({\n apiKey,\n environmentVariableName,\n apiKeyParameterName = \"apiKey\",\n description\n}) {\n if (typeof apiKey === \"string\") {\n return apiKey;\n }\n if (apiKey != null) {\n throw new LoadAPIKeyError({\n message: `${description} API key must be a string.`\n });\n }\n if (typeof process === \"undefined\") {\n throw new LoadAPIKeyError({\n message: `${description} API key is missing. Pass it using the '${apiKeyParameterName}' parameter. Environment variables is not supported in this environment.`\n });\n }\n apiKey = process.env[environmentVariableName];\n if (apiKey == null) {\n throw new LoadAPIKeyError({\n message: `${description} API key is missing. Pass it using the '${apiKeyParameterName}' parameter or the ${environmentVariableName} environment variable.`\n });\n }\n if (typeof apiKey !== \"string\") {\n throw new LoadAPIKeyError({\n message: `${description} API key must be a string. The value of the ${environmentVariableName} environment variable is not a string.`\n });\n }\n return apiKey;\n}\n\n// src/load-optional-setting.ts\nfunction loadOptionalSetting({\n settingValue,\n environmentVariableName\n}) {\n if (typeof settingValue === \"string\") {\n return settingValue;\n }\n if (settingValue != null || typeof process === \"undefined\") {\n return void 0;\n }\n settingValue = process.env[environmentVariableName];\n if (settingValue == null || typeof settingValue !== \"string\") {\n return void 0;\n }\n return settingValue;\n}\n\n// src/load-setting.ts\nimport { LoadSettingError } from \"@ai-sdk/provider\";\nfunction loadSetting({\n settingValue,\n environmentVariableName,\n settingName,\n description\n}) {\n if (typeof settingValue === \"string\") {\n return settingValue;\n }\n if (settingValue != null) {\n throw new LoadSettingError({\n message: `${description} setting must be a string.`\n });\n }\n if (typeof process === \"undefined\") {\n throw new LoadSettingError({\n message: `${description} setting is missing. Pass it using the '${settingName}' parameter. Environment variables is not supported in this environment.`\n });\n }\n settingValue = process.env[environmentVariableName];\n if (settingValue == null) {\n throw new LoadSettingError({\n message: `${description} setting is missing. Pass it using the '${settingName}' parameter or the ${environmentVariableName} environment variable.`\n });\n }\n if (typeof settingValue !== \"string\") {\n throw new LoadSettingError({\n message: `${description} setting must be a string. The value of the ${environmentVariableName} environment variable is not a string.`\n });\n }\n return settingValue;\n}\n\n// src/parse-json.ts\nimport {\n JSONParseError,\n TypeValidationError as TypeValidationError2\n} from \"@ai-sdk/provider\";\nimport SecureJSON from \"secure-json-parse\";\n\n// src/validate-types.ts\nimport { TypeValidationError } from \"@ai-sdk/provider\";\n\n// src/validator.ts\nvar validatorSymbol = Symbol.for(\"vercel.ai.validator\");\nfunction validator(validate) {\n return { [validatorSymbol]: true, validate };\n}\nfunction isValidator(value) {\n return typeof value === \"object\" && value !== null && validatorSymbol in value && value[validatorSymbol] === true && \"validate\" in value;\n}\nfunction asValidator(value) {\n return isValidator(value) ? value : zodValidator(value);\n}\nfunction zodValidator(zodSchema) {\n return validator((value) => {\n const result = zodSchema.safeParse(value);\n return result.success ? { success: true, value: result.data } : { success: false, error: result.error };\n });\n}\n\n// src/validate-types.ts\nfunction validateTypes({\n value,\n schema: inputSchema\n}) {\n const result = safeValidateTypes({ value, schema: inputSchema });\n if (!result.success) {\n throw TypeValidationError.wrap({ value, cause: result.error });\n }\n return result.value;\n}\nfunction safeValidateTypes({\n value,\n schema\n}) {\n const validator2 = asValidator(schema);\n try {\n if (validator2.validate == null) {\n return { success: true, value };\n }\n const result = validator2.validate(value);\n if (result.success) {\n return result;\n }\n return {\n success: false,\n error: TypeValidationError.wrap({ value, cause: result.error })\n };\n } catch (error) {\n return {\n success: false,\n error: TypeValidationError.wrap({ value, cause: error })\n };\n }\n}\n\n// src/parse-json.ts\nfunction parseJSON({\n text,\n schema\n}) {\n try {\n const value = SecureJSON.parse(text);\n if (schema == null) {\n return value;\n }\n return validateTypes({ value, schema });\n } catch (error) {\n if (JSONParseError.isInstance(error) || TypeValidationError2.isInstance(error)) {\n throw error;\n }\n throw new JSONParseError({ text, cause: error });\n }\n}\nfunction safeParseJSON({\n text,\n schema\n}) {\n try {\n const value = SecureJSON.parse(text);\n if (schema == null) {\n return { success: true, value, rawValue: value };\n }\n const validationResult = safeValidateTypes({ value, schema });\n return validationResult.success ? { ...validationResult, rawValue: value } : validationResult;\n } catch (error) {\n return {\n success: false,\n error: JSONParseError.isInstance(error) ? error : new JSONParseError({ text, cause: error })\n };\n }\n}\nfunction isParsableJson(input) {\n try {\n SecureJSON.parse(input);\n return true;\n } catch (e) {\n return false;\n }\n}\n\n// src/parse-provider-options.ts\nimport { InvalidArgumentError as InvalidArgumentError2 } from \"@ai-sdk/provider\";\nfunction parseProviderOptions({\n provider,\n providerOptions,\n schema\n}) {\n if ((providerOptions == null ? void 0 : providerOptions[provider]) == null) {\n return void 0;\n }\n const parsedProviderOptions = safeValidateTypes({\n value: providerOptions[provider],\n schema\n });\n if (!parsedProviderOptions.success) {\n throw new InvalidArgumentError2({\n argument: \"providerOptions\",\n message: `invalid ${provider} provider options`,\n cause: parsedProviderOptions.error\n });\n }\n return parsedProviderOptions.value;\n}\n\n// src/post-to-api.ts\nimport { APICallError as APICallError2 } from \"@ai-sdk/provider\";\nvar getOriginalFetch2 = () => globalThis.fetch;\nvar postJsonToApi = async ({\n url,\n headers,\n body,\n failedResponseHandler,\n successfulResponseHandler,\n abortSignal,\n fetch\n}) => postToApi({\n url,\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers\n },\n body: {\n content: JSON.stringify(body),\n values: body\n },\n failedResponseHandler,\n successfulResponseHandler,\n abortSignal,\n fetch\n});\nvar postFormDataToApi = async ({\n url,\n headers,\n formData,\n failedResponseHandler,\n successfulResponseHandler,\n abortSignal,\n fetch\n}) => postToApi({\n url,\n headers,\n body: {\n content: formData,\n values: Object.fromEntries(formData.entries())\n },\n failedResponseHandler,\n successfulResponseHandler,\n abortSignal,\n fetch\n});\nvar postToApi = async ({\n url,\n headers = {},\n body,\n successfulResponseHandler,\n failedResponseHandler,\n abortSignal,\n fetch = getOriginalFetch2()\n}) => {\n try {\n const response = await fetch(url, {\n method: \"POST\",\n headers: removeUndefinedEntries(headers),\n body: body.content,\n signal: abortSignal\n });\n const responseHeaders = extractResponseHeaders(response);\n if (!response.ok) {\n let errorInformation;\n try {\n errorInformation = await failedResponseHandler({\n response,\n url,\n requestBodyValues: body.values\n });\n } catch (error) {\n if (isAbortError(error) || APICallError2.isInstance(error)) {\n throw error;\n }\n throw new APICallError2({\n message: \"Failed to process error response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: body.values\n });\n }\n throw errorInformation.value;\n }\n try {\n return await successfulResponseHandler({\n response,\n url,\n requestBodyValues: body.values\n });\n } catch (error) {\n if (error instanceof Error) {\n if (isAbortError(error) || APICallError2.isInstance(error)) {\n throw error;\n }\n }\n throw new APICallError2({\n message: \"Failed to process successful response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: body.values\n });\n }\n } catch (error) {\n if (isAbortError(error)) {\n throw error;\n }\n if (error instanceof TypeError && error.message === \"fetch failed\") {\n const cause = error.cause;\n if (cause != null) {\n throw new APICallError2({\n message: `Cannot connect to API: ${cause.message}`,\n cause,\n url,\n requestBodyValues: body.values,\n isRetryable: true\n // retry when network error\n });\n }\n }\n throw error;\n }\n};\n\n// src/resolve.ts\nasync function resolve(value) {\n if (typeof value === \"function\") {\n value = value();\n }\n return Promise.resolve(value);\n}\n\n// src/response-handler.ts\nimport { APICallError as APICallError3, EmptyResponseBodyError } from \"@ai-sdk/provider\";\nvar createJsonErrorResponseHandler = ({\n errorSchema,\n errorToMessage,\n isRetryable\n}) => async ({ response, url, requestBodyValues }) => {\n const responseBody = await response.text();\n const responseHeaders = extractResponseHeaders(response);\n if (responseBody.trim() === \"\") {\n return {\n responseHeaders,\n value: new APICallError3({\n message: response.statusText,\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n isRetryable: isRetryable == null ? void 0 : isRetryable(response)\n })\n };\n }\n try {\n const parsedError = parseJSON({\n text: responseBody,\n schema: errorSchema\n });\n return {\n responseHeaders,\n value: new APICallError3({\n message: errorToMessage(parsedError),\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n data: parsedError,\n isRetryable: isRetryable == null ? void 0 : isRetryable(response, parsedError)\n })\n };\n } catch (parseError) {\n return {\n responseHeaders,\n value: new APICallError3({\n message: response.statusText,\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n isRetryable: isRetryable == null ? void 0 : isRetryable(response)\n })\n };\n }\n};\nvar createEventSourceResponseHandler = (chunkSchema) => async ({ response }) => {\n const responseHeaders = extractResponseHeaders(response);\n if (response.body == null) {\n throw new EmptyResponseBodyError({});\n }\n return {\n responseHeaders,\n value: response.body.pipeThrough(new TextDecoderStream()).pipeThrough(createEventSourceParserStream()).pipeThrough(\n new TransformStream({\n transform({ data }, controller) {\n if (data === \"[DONE]\") {\n return;\n }\n controller.enqueue(\n safeParseJSON({\n text: data,\n schema: chunkSchema\n })\n );\n }\n })\n )\n };\n};\nvar createJsonStreamResponseHandler = (chunkSchema) => async ({ response }) => {\n const responseHeaders = extractResponseHeaders(response);\n if (response.body == null) {\n throw new EmptyResponseBodyError({});\n }\n let buffer = \"\";\n return {\n responseHeaders,\n value: response.body.pipeThrough(new TextDecoderStream()).pipeThrough(\n new TransformStream({\n transform(chunkText, controller) {\n if (chunkText.endsWith(\"\\n\")) {\n controller.enqueue(\n safeParseJSON({\n text: buffer + chunkText,\n schema: chunkSchema\n })\n );\n buffer = \"\";\n } else {\n buffer += chunkText;\n }\n }\n })\n )\n };\n};\nvar createJsonResponseHandler = (responseSchema) => async ({ response, url, requestBodyValues }) => {\n const responseBody = await response.text();\n const parsedResult = safeParseJSON({\n text: responseBody,\n schema: responseSchema\n });\n const responseHeaders = extractResponseHeaders(response);\n if (!parsedResult.success) {\n throw new APICallError3({\n message: \"Invalid JSON response\",\n cause: parsedResult.error,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n url,\n requestBodyValues\n });\n }\n return {\n responseHeaders,\n value: parsedResult.value,\n rawValue: parsedResult.rawValue\n };\n};\nvar createBinaryResponseHandler = () => async ({ response, url, requestBodyValues }) => {\n const responseHeaders = extractResponseHeaders(response);\n if (!response.body) {\n throw new APICallError3({\n message: \"Response body is empty\",\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody: void 0\n });\n }\n try {\n const buffer = await response.arrayBuffer();\n return {\n responseHeaders,\n value: new Uint8Array(buffer)\n };\n } catch (error) {\n throw new APICallError3({\n message: \"Failed to read response as array buffer\",\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody: void 0,\n cause: error\n });\n }\n};\nvar createStatusCodeErrorResponseHandler = () => async ({ response, url, requestBodyValues }) => {\n const responseHeaders = extractResponseHeaders(response);\n const responseBody = await response.text();\n return {\n responseHeaders,\n value: new APICallError3({\n message: response.statusText,\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody\n })\n };\n};\n\n// src/uint8-utils.ts\nvar { btoa, atob } = globalThis;\nfunction convertBase64ToUint8Array(base64String) {\n const base64Url = base64String.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const latin1string = atob(base64Url);\n return Uint8Array.from(latin1string, (byte) => byte.codePointAt(0));\n}\nfunction convertUint8ArrayToBase64(array) {\n let latin1string = \"\";\n for (let i = 0; i < array.length; i++) {\n latin1string += String.fromCodePoint(array[i]);\n }\n return btoa(latin1string);\n}\n\n// src/without-trailing-slash.ts\nfunction withoutTrailingSlash(url) {\n return url == null ? void 0 : url.replace(/\\/$/, \"\");\n}\nexport {\n asValidator,\n combineHeaders,\n convertAsyncIteratorToReadableStream,\n convertBase64ToUint8Array,\n convertUint8ArrayToBase64,\n createBinaryResponseHandler,\n createEventSourceParserStream,\n createEventSourceResponseHandler,\n createIdGenerator,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n createJsonStreamResponseHandler,\n createStatusCodeErrorResponseHandler,\n delay,\n extractResponseHeaders,\n generateId,\n getErrorMessage,\n getFromApi,\n isAbortError,\n isParsableJson,\n isValidator,\n loadApiKey,\n loadOptionalSetting,\n loadSetting,\n parseJSON,\n parseProviderOptions,\n postFormDataToApi,\n postJsonToApi,\n postToApi,\n removeUndefinedEntries,\n resolve,\n safeParseJSON,\n safeValidateTypes,\n validateTypes,\n validator,\n validatorSymbol,\n withoutTrailingSlash,\n zodValidator\n};\n//# sourceMappingURL=index.mjs.map","var util;\n(function (util) {\n util.assertEqual = (val) => val;\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nconst ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n\nconst ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nclass ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `smaller than or equal to`\n : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\n\nlet overrideErrorMap = errorMap;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message,\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage,\n };\n};\nconst EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const overrideMap = getErrorMap();\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap, // contextual error map is first priority\n ctx.schemaErrorMap, // then schema-bound map if available\n overrideMap, // then global override map\n overrideMap === errorMap ? undefined : errorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" &&\n (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nconst INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nconst OK = (value) => ({ status: \"valid\", value });\nconst isAborted = (x) => x.status === \"aborted\";\nconst isDirty = (x) => x.status === \"dirty\";\nconst isValid = (x) => x.status === \"valid\";\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil || (errorUtil = {}));\n\nvar _ZodEnum_cache, _ZodNativeEnum_cache;\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (this._key instanceof Array) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n var _a, _b;\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message !== null && message !== void 0 ? message : ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: (_a = message !== null && message !== void 0 ? message : required_error) !== null && _a !== void 0 ? _a : ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: (_b = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b !== void 0 ? _b : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n var _a, _b;\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if ((_b = (_a = err === null || err === void 0 ? void 0 : err.message) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult)\n ? maybeAsyncResult\n : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\"\n ? refinementData(val, ctx)\n : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n let secondsRegexSource = `[0-5]\\\\d`;\n if (args.precision) {\n secondsRegexSource = `${secondsRegexSource}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n secondsRegexSource = `${secondsRegexSource}(\\\\.\\\\d+)?`;\n }\n const secondsQuantifier = args.precision ? \"+\" : \"?\"; // require seconds if precision is nonzero\n return `([01]\\\\d|2[0-3]):[0-5]\\\\d(:${secondsRegexSource})${secondsQuantifier}`;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nfunction datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (!decoded.typ || !decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"emoji\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"nanoid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ulid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"duration\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ip\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"jwt\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cidr\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...errorUtil.errToObj(message) });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ...errorUtil.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n var _a, _b;\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n local: (_b = options === null || options === void 0 ? void 0 : options.local) !== null && _b !== void 0 ? _b : false,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options === null || options === void 0 ? void 0 : options.position,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(1, errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch) => ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch) => ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch) => ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch) => ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch) => ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch) => ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch) => ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n var _a;\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" ||\n (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null, min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" ||\n ch.kind === \"int\" ||\n ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch (_a) {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params) => {\n var _a;\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever &&\n this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") ;\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util.objectKeys(mask).forEach((key) => {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return util.objectValues(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else if (type instanceof ZodOptional) {\n return [undefined, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodNullable) {\n return [null, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n }\n else {\n return [];\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util\n .objectKeys(a)\n .filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date &&\n bType === ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n constructor() {\n super(...arguments);\n _ZodEnum_cache.set(this, void 0);\n }\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!__classPrivateFieldGet(this, _ZodEnum_cache, \"f\")) {\n __classPrivateFieldSet(this, _ZodEnum_cache, new Set(this._def.values), \"f\");\n }\n if (!__classPrivateFieldGet(this, _ZodEnum_cache, \"f\").has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef,\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {\n ...this._def,\n ...newDef,\n });\n }\n}\n_ZodEnum_cache = new WeakMap();\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n constructor() {\n super(...arguments);\n _ZodNativeEnum_cache.set(this, void 0);\n }\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string &&\n ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, \"f\")) {\n __classPrivateFieldSet(this, _ZodNativeEnum_cache, new Set(util.getValidEnumValues(this._def.values)), \"f\");\n }\n if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, \"f\").has(input.data)) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\n_ZodNativeEnum_cache = new WeakMap();\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise &&\n ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed) => {\n if (status.value === \"aborted\")\n return INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!isValid(base))\n return base;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!isValid(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\"\n ? params.default\n : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if (isAsync(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nconst BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return DIRTY(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if (isValid(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return isAsync(result)\n ? result.then((data) => freeze(data))\n : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\n////////////////////////////////////////\n////////////////////////////////////////\n////////// //////////\n////////// z.custom //////////\n////////// //////////\n////////////////////////////////////////\n////////////////////////////////////////\nfunction cleanParams(params, data) {\n const p = typeof params === \"function\"\n ? params(data)\n : typeof params === \"string\"\n ? { message: params }\n : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n return p2;\n}\nfunction custom(check, _params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n var _a, _b;\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n var _a, _b;\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = (_b = (_a = params.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = (_b = (_a = params.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nconst late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nconst coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nconst NEVER = INVALID;\n\nvar z = /*#__PURE__*/Object.freeze({\n __proto__: null,\n defaultErrorMap: errorMap,\n setErrorMap: setErrorMap,\n getErrorMap: getErrorMap,\n makeIssue: makeIssue,\n EMPTY_PATH: EMPTY_PATH,\n addIssueToContext: addIssueToContext,\n ParseStatus: ParseStatus,\n INVALID: INVALID,\n DIRTY: DIRTY,\n OK: OK,\n isAborted: isAborted,\n isDirty: isDirty,\n isValid: isValid,\n isAsync: isAsync,\n get util () { return util; },\n get objectUtil () { return objectUtil; },\n ZodParsedType: ZodParsedType,\n getParsedType: getParsedType,\n ZodType: ZodType,\n datetimeRegex: datetimeRegex,\n ZodString: ZodString,\n ZodNumber: ZodNumber,\n ZodBigInt: ZodBigInt,\n ZodBoolean: ZodBoolean,\n ZodDate: ZodDate,\n ZodSymbol: ZodSymbol,\n ZodUndefined: ZodUndefined,\n ZodNull: ZodNull,\n ZodAny: ZodAny,\n ZodUnknown: ZodUnknown,\n ZodNever: ZodNever,\n ZodVoid: ZodVoid,\n ZodArray: ZodArray,\n ZodObject: ZodObject,\n ZodUnion: ZodUnion,\n ZodDiscriminatedUnion: ZodDiscriminatedUnion,\n ZodIntersection: ZodIntersection,\n ZodTuple: ZodTuple,\n ZodRecord: ZodRecord,\n ZodMap: ZodMap,\n ZodSet: ZodSet,\n ZodFunction: ZodFunction,\n ZodLazy: ZodLazy,\n ZodLiteral: ZodLiteral,\n ZodEnum: ZodEnum,\n ZodNativeEnum: ZodNativeEnum,\n ZodPromise: ZodPromise,\n ZodEffects: ZodEffects,\n ZodTransformer: ZodEffects,\n ZodOptional: ZodOptional,\n ZodNullable: ZodNullable,\n ZodDefault: ZodDefault,\n ZodCatch: ZodCatch,\n ZodNaN: ZodNaN,\n BRAND: BRAND,\n ZodBranded: ZodBranded,\n ZodPipeline: ZodPipeline,\n ZodReadonly: ZodReadonly,\n custom: custom,\n Schema: ZodType,\n ZodSchema: ZodType,\n late: late,\n get ZodFirstPartyTypeKind () { return ZodFirstPartyTypeKind; },\n coerce: coerce,\n any: anyType,\n array: arrayType,\n bigint: bigIntType,\n boolean: booleanType,\n date: dateType,\n discriminatedUnion: discriminatedUnionType,\n effect: effectsType,\n 'enum': enumType,\n 'function': functionType,\n 'instanceof': instanceOfType,\n intersection: intersectionType,\n lazy: lazyType,\n literal: literalType,\n map: mapType,\n nan: nanType,\n nativeEnum: nativeEnumType,\n never: neverType,\n 'null': nullType,\n nullable: nullableType,\n number: numberType,\n object: objectType,\n oboolean: oboolean,\n onumber: onumber,\n optional: optionalType,\n ostring: ostring,\n pipeline: pipelineType,\n preprocess: preprocessType,\n promise: promiseType,\n record: recordType,\n set: setType,\n strictObject: strictObjectType,\n string: stringType,\n symbol: symbolType,\n transformer: effectsType,\n tuple: tupleType,\n 'undefined': undefinedType,\n union: unionType,\n unknown: unknownType,\n 'void': voidType,\n NEVER: NEVER,\n ZodIssueCode: ZodIssueCode,\n quotelessJson: quotelessJson,\n ZodError: ZodError\n});\n\nexport { BRAND, DIRTY, EMPTY_PATH, INVALID, NEVER, OK, ParseStatus, ZodType as Schema, ZodAny, ZodArray, ZodBigInt, ZodBoolean, ZodBranded, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodError, ZodFirstPartyTypeKind, ZodFunction, ZodIntersection, ZodIssueCode, ZodLazy, ZodLiteral, ZodMap, ZodNaN, ZodNativeEnum, ZodNever, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodParsedType, ZodPipeline, ZodPromise, ZodReadonly, ZodRecord, ZodType as ZodSchema, ZodSet, ZodString, ZodSymbol, ZodEffects as ZodTransformer, ZodTuple, ZodType, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, addIssueToContext, anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, coerce, custom, dateType as date, datetimeRegex, z as default, errorMap as defaultErrorMap, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, getErrorMap, getParsedType, instanceOfType as instanceof, intersectionType as intersection, isAborted, isAsync, isDirty, isValid, late, lazyType as lazy, literalType as literal, makeIssue, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, objectUtil, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, quotelessJson, recordType as record, setType as set, setErrorMap, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, util, voidType as void, z };\n","// src/openai-provider.ts\nimport {\n loadApiKey,\n withoutTrailingSlash\n} from \"@ai-sdk/provider-utils\";\n\n// src/openai-chat-language-model.ts\nimport {\n InvalidResponseDataError,\n UnsupportedFunctionalityError as UnsupportedFunctionalityError3\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n isParsableJson,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod\";\n\n// src/convert-to-openai-chat-messages.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport { convertUint8ArrayToBase64 } from \"@ai-sdk/provider-utils\";\nfunction convertToOpenAIChatMessages({\n prompt,\n useLegacyFunctionCalling = false,\n systemMessageMode = \"system\"\n}) {\n const messages = [];\n const warnings = [];\n for (const { role, content } of prompt) {\n switch (role) {\n case \"system\": {\n switch (systemMessageMode) {\n case \"system\": {\n messages.push({ role: \"system\", content });\n break;\n }\n case \"developer\": {\n messages.push({ role: \"developer\", content });\n break;\n }\n case \"remove\": {\n warnings.push({\n type: \"other\",\n message: \"system messages are removed for this model\"\n });\n break;\n }\n default: {\n const _exhaustiveCheck = systemMessageMode;\n throw new Error(\n `Unsupported system message mode: ${_exhaustiveCheck}`\n );\n }\n }\n break;\n }\n case \"user\": {\n if (content.length === 1 && content[0].type === \"text\") {\n messages.push({ role: \"user\", content: content[0].text });\n break;\n }\n messages.push({\n role: \"user\",\n content: content.map((part, index) => {\n var _a, _b, _c, _d;\n switch (part.type) {\n case \"text\": {\n return { type: \"text\", text: part.text };\n }\n case \"image\": {\n return {\n type: \"image_url\",\n image_url: {\n url: part.image instanceof URL ? part.image.toString() : `data:${(_a = part.mimeType) != null ? _a : \"image/jpeg\"};base64,${convertUint8ArrayToBase64(part.image)}`,\n // OpenAI specific extension: image detail\n detail: (_c = (_b = part.providerMetadata) == null ? void 0 : _b.openai) == null ? void 0 : _c.imageDetail\n }\n };\n }\n case \"file\": {\n if (part.data instanceof URL) {\n throw new UnsupportedFunctionalityError({\n functionality: \"'File content parts with URL data' functionality not supported.\"\n });\n }\n switch (part.mimeType) {\n case \"audio/wav\": {\n return {\n type: \"input_audio\",\n input_audio: { data: part.data, format: \"wav\" }\n };\n }\n case \"audio/mp3\":\n case \"audio/mpeg\": {\n return {\n type: \"input_audio\",\n input_audio: { data: part.data, format: \"mp3\" }\n };\n }\n case \"application/pdf\": {\n return {\n type: \"file\",\n file: {\n filename: (_d = part.filename) != null ? _d : `part-${index}.pdf`,\n file_data: `data:application/pdf;base64,${part.data}`\n }\n };\n }\n default: {\n throw new UnsupportedFunctionalityError({\n functionality: `File content part type ${part.mimeType} in user messages`\n });\n }\n }\n }\n }\n })\n });\n break;\n }\n case \"assistant\": {\n let text = \"\";\n const toolCalls = [];\n for (const part of content) {\n switch (part.type) {\n case \"text\": {\n text += part.text;\n break;\n }\n case \"tool-call\": {\n toolCalls.push({\n id: part.toolCallId,\n type: \"function\",\n function: {\n name: part.toolName,\n arguments: JSON.stringify(part.args)\n }\n });\n break;\n }\n }\n }\n if (useLegacyFunctionCalling) {\n if (toolCalls.length > 1) {\n throw new UnsupportedFunctionalityError({\n functionality: \"useLegacyFunctionCalling with multiple tool calls in one message\"\n });\n }\n messages.push({\n role: \"assistant\",\n content: text,\n function_call: toolCalls.length > 0 ? toolCalls[0].function : void 0\n });\n } else {\n messages.push({\n role: \"assistant\",\n content: text,\n tool_calls: toolCalls.length > 0 ? toolCalls : void 0\n });\n }\n break;\n }\n case \"tool\": {\n for (const toolResponse of content) {\n if (useLegacyFunctionCalling) {\n messages.push({\n role: \"function\",\n name: toolResponse.toolName,\n content: JSON.stringify(toolResponse.result)\n });\n } else {\n messages.push({\n role: \"tool\",\n tool_call_id: toolResponse.toolCallId,\n content: JSON.stringify(toolResponse.result)\n });\n }\n }\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return { messages, warnings };\n}\n\n// src/map-openai-chat-logprobs.ts\nfunction mapOpenAIChatLogProbsOutput(logprobs) {\n var _a, _b;\n return (_b = (_a = logprobs == null ? void 0 : logprobs.content) == null ? void 0 : _a.map(({ token, logprob, top_logprobs }) => ({\n token,\n logprob,\n topLogprobs: top_logprobs ? top_logprobs.map(({ token: token2, logprob: logprob2 }) => ({\n token: token2,\n logprob: logprob2\n })) : []\n }))) != null ? _b : void 0;\n}\n\n// src/map-openai-finish-reason.ts\nfunction mapOpenAIFinishReason(finishReason) {\n switch (finishReason) {\n case \"stop\":\n return \"stop\";\n case \"length\":\n return \"length\";\n case \"content_filter\":\n return \"content-filter\";\n case \"function_call\":\n case \"tool_calls\":\n return \"tool-calls\";\n default:\n return \"unknown\";\n }\n}\n\n// src/openai-error.ts\nimport { z } from \"zod\";\nimport { createJsonErrorResponseHandler } from \"@ai-sdk/provider-utils\";\nvar openaiErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n // The additional information below is handled loosely to support\n // OpenAI-compatible providers that have slightly different error\n // responses:\n type: z.string().nullish(),\n param: z.any().nullish(),\n code: z.union([z.string(), z.number()]).nullish()\n })\n});\nvar openaiFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: openaiErrorDataSchema,\n errorToMessage: (data) => data.error.message\n});\n\n// src/get-response-metadata.ts\nfunction getResponseMetadata({\n id,\n model,\n created\n}) {\n return {\n id: id != null ? id : void 0,\n modelId: model != null ? model : void 0,\n timestamp: created != null ? new Date(created * 1e3) : void 0\n };\n}\n\n// src/openai-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nfunction prepareTools({\n mode,\n useLegacyFunctionCalling = false,\n structuredOutputs\n}) {\n var _a;\n const tools = ((_a = mode.tools) == null ? void 0 : _a.length) ? mode.tools : void 0;\n const toolWarnings = [];\n if (tools == null) {\n return { tools: void 0, tool_choice: void 0, toolWarnings };\n }\n const toolChoice = mode.toolChoice;\n if (useLegacyFunctionCalling) {\n const openaiFunctions = [];\n for (const tool of tools) {\n if (tool.type === \"provider-defined\") {\n toolWarnings.push({ type: \"unsupported-tool\", tool });\n } else {\n openaiFunctions.push({\n name: tool.name,\n description: tool.description,\n parameters: tool.parameters\n });\n }\n }\n if (toolChoice == null) {\n return {\n functions: openaiFunctions,\n function_call: void 0,\n toolWarnings\n };\n }\n const type2 = toolChoice.type;\n switch (type2) {\n case \"auto\":\n case \"none\":\n case void 0:\n return {\n functions: openaiFunctions,\n function_call: void 0,\n toolWarnings\n };\n case \"required\":\n throw new UnsupportedFunctionalityError2({\n functionality: \"useLegacyFunctionCalling and toolChoice: required\"\n });\n default:\n return {\n functions: openaiFunctions,\n function_call: { name: toolChoice.toolName },\n toolWarnings\n };\n }\n }\n const openaiTools2 = [];\n for (const tool of tools) {\n if (tool.type === \"provider-defined\") {\n toolWarnings.push({ type: \"unsupported-tool\", tool });\n } else {\n openaiTools2.push({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.parameters,\n strict: structuredOutputs ? true : void 0\n }\n });\n }\n }\n if (toolChoice == null) {\n return { tools: openaiTools2, tool_choice: void 0, toolWarnings };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n case \"none\":\n case \"required\":\n return { tools: openaiTools2, tool_choice: type, toolWarnings };\n case \"tool\":\n return {\n tools: openaiTools2,\n tool_choice: {\n type: \"function\",\n function: {\n name: toolChoice.toolName\n }\n },\n toolWarnings\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError2({\n functionality: `Unsupported tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/openai-chat-language-model.ts\nvar OpenAIChatLanguageModel = class {\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n }\n get supportsStructuredOutputs() {\n var _a;\n return (_a = this.settings.structuredOutputs) != null ? _a : isReasoningModel(this.modelId);\n }\n get defaultObjectGenerationMode() {\n if (isAudioModel(this.modelId)) {\n return \"tool\";\n }\n return this.supportsStructuredOutputs ? \"json\" : \"tool\";\n }\n get provider() {\n return this.config.provider;\n }\n get supportsImageUrls() {\n return !this.settings.downloadImages;\n }\n getArgs({\n mode,\n prompt,\n maxTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n providerMetadata\n }) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const type = mode.type;\n const warnings = [];\n if (topK != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"topK\"\n });\n }\n if ((responseFormat == null ? void 0 : responseFormat.type) === \"json\" && responseFormat.schema != null && !this.supportsStructuredOutputs) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"responseFormat\",\n details: \"JSON response format schema is only supported with structuredOutputs\"\n });\n }\n const useLegacyFunctionCalling = this.settings.useLegacyFunctionCalling;\n if (useLegacyFunctionCalling && this.settings.parallelToolCalls === true) {\n throw new UnsupportedFunctionalityError3({\n functionality: \"useLegacyFunctionCalling with parallelToolCalls\"\n });\n }\n if (useLegacyFunctionCalling && this.supportsStructuredOutputs) {\n throw new UnsupportedFunctionalityError3({\n functionality: \"structuredOutputs with useLegacyFunctionCalling\"\n });\n }\n const { messages, warnings: messageWarnings } = convertToOpenAIChatMessages(\n {\n prompt,\n useLegacyFunctionCalling,\n systemMessageMode: getSystemMessageMode(this.modelId)\n }\n );\n warnings.push(...messageWarnings);\n const baseArgs = {\n // model id:\n model: this.modelId,\n // model specific settings:\n logit_bias: this.settings.logitBias,\n logprobs: this.settings.logprobs === true || typeof this.settings.logprobs === \"number\" ? true : void 0,\n top_logprobs: typeof this.settings.logprobs === \"number\" ? this.settings.logprobs : typeof this.settings.logprobs === \"boolean\" ? this.settings.logprobs ? 0 : void 0 : void 0,\n user: this.settings.user,\n parallel_tool_calls: this.settings.parallelToolCalls,\n // standardized settings:\n max_tokens: maxTokens,\n temperature,\n top_p: topP,\n frequency_penalty: frequencyPenalty,\n presence_penalty: presencePenalty,\n response_format: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? this.supportsStructuredOutputs && responseFormat.schema != null ? {\n type: \"json_schema\",\n json_schema: {\n schema: responseFormat.schema,\n strict: true,\n name: (_a = responseFormat.name) != null ? _a : \"response\",\n description: responseFormat.description\n }\n } : { type: \"json_object\" } : void 0,\n stop: stopSequences,\n seed,\n // openai specific settings:\n // TODO remove in next major version; we auto-map maxTokens now\n max_completion_tokens: (_b = providerMetadata == null ? void 0 : providerMetadata.openai) == null ? void 0 : _b.maxCompletionTokens,\n store: (_c = providerMetadata == null ? void 0 : providerMetadata.openai) == null ? void 0 : _c.store,\n metadata: (_d = providerMetadata == null ? void 0 : providerMetadata.openai) == null ? void 0 : _d.metadata,\n prediction: (_e = providerMetadata == null ? void 0 : providerMetadata.openai) == null ? void 0 : _e.prediction,\n reasoning_effort: (_g = (_f = providerMetadata == null ? void 0 : providerMetadata.openai) == null ? void 0 : _f.reasoningEffort) != null ? _g : this.settings.reasoningEffort,\n // messages:\n messages\n };\n if (isReasoningModel(this.modelId)) {\n if (baseArgs.temperature != null) {\n baseArgs.temperature = void 0;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"temperature\",\n details: \"temperature is not supported for reasoning models\"\n });\n }\n if (baseArgs.top_p != null) {\n baseArgs.top_p = void 0;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"topP\",\n details: \"topP is not supported for reasoning models\"\n });\n }\n if (baseArgs.frequency_penalty != null) {\n baseArgs.frequency_penalty = void 0;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"frequencyPenalty\",\n details: \"frequencyPenalty is not supported for reasoning models\"\n });\n }\n if (baseArgs.presence_penalty != null) {\n baseArgs.presence_penalty = void 0;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"presencePenalty\",\n details: \"presencePenalty is not supported for reasoning models\"\n });\n }\n if (baseArgs.logit_bias != null) {\n baseArgs.logit_bias = void 0;\n warnings.push({\n type: \"other\",\n message: \"logitBias is not supported for reasoning models\"\n });\n }\n if (baseArgs.logprobs != null) {\n baseArgs.logprobs = void 0;\n warnings.push({\n type: \"other\",\n message: \"logprobs is not supported for reasoning models\"\n });\n }\n if (baseArgs.top_logprobs != null) {\n baseArgs.top_logprobs = void 0;\n warnings.push({\n type: \"other\",\n message: \"topLogprobs is not supported for reasoning models\"\n });\n }\n if (baseArgs.max_tokens != null) {\n if (baseArgs.max_completion_tokens == null) {\n baseArgs.max_completion_tokens = baseArgs.max_tokens;\n }\n baseArgs.max_tokens = void 0;\n }\n } else if (this.modelId.startsWith(\"gpt-4o-search-preview\") || this.modelId.startsWith(\"gpt-4o-mini-search-preview\")) {\n if (baseArgs.temperature != null) {\n baseArgs.temperature = void 0;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"temperature\",\n details: \"temperature is not supported for the search preview models and has been removed.\"\n });\n }\n }\n switch (type) {\n case \"regular\": {\n const { tools, tool_choice, functions, function_call, toolWarnings } = prepareTools({\n mode,\n useLegacyFunctionCalling,\n structuredOutputs: this.supportsStructuredOutputs\n });\n return {\n args: {\n ...baseArgs,\n tools,\n tool_choice,\n functions,\n function_call\n },\n warnings: [...warnings, ...toolWarnings]\n };\n }\n case \"object-json\": {\n return {\n args: {\n ...baseArgs,\n response_format: this.supportsStructuredOutputs && mode.schema != null ? {\n type: \"json_schema\",\n json_schema: {\n schema: mode.schema,\n strict: true,\n name: (_h = mode.name) != null ? _h : \"response\",\n description: mode.description\n }\n } : { type: \"json_object\" }\n },\n warnings\n };\n }\n case \"object-tool\": {\n return {\n args: useLegacyFunctionCalling ? {\n ...baseArgs,\n function_call: {\n name: mode.tool.name\n },\n functions: [\n {\n name: mode.tool.name,\n description: mode.tool.description,\n parameters: mode.tool.parameters\n }\n ]\n } : {\n ...baseArgs,\n tool_choice: {\n type: \"function\",\n function: { name: mode.tool.name }\n },\n tools: [\n {\n type: \"function\",\n function: {\n name: mode.tool.name,\n description: mode.tool.description,\n parameters: mode.tool.parameters,\n strict: this.supportsStructuredOutputs ? true : void 0\n }\n }\n ]\n },\n warnings\n };\n }\n default: {\n const _exhaustiveCheck = type;\n throw new Error(`Unsupported type: ${_exhaustiveCheck}`);\n }\n }\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const { args: body, warnings } = this.getArgs(options);\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi({\n url: this.config.url({\n path: \"/chat/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: openaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n openaiChatResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { messages: rawPrompt, ...rawSettings } = body;\n const choice = response.choices[0];\n const completionTokenDetails = (_a = response.usage) == null ? void 0 : _a.completion_tokens_details;\n const promptTokenDetails = (_b = response.usage) == null ? void 0 : _b.prompt_tokens_details;\n const providerMetadata = { openai: {} };\n if ((completionTokenDetails == null ? void 0 : completionTokenDetails.reasoning_tokens) != null) {\n providerMetadata.openai.reasoningTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.reasoning_tokens;\n }\n if ((completionTokenDetails == null ? void 0 : completionTokenDetails.accepted_prediction_tokens) != null) {\n providerMetadata.openai.acceptedPredictionTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.accepted_prediction_tokens;\n }\n if ((completionTokenDetails == null ? void 0 : completionTokenDetails.rejected_prediction_tokens) != null) {\n providerMetadata.openai.rejectedPredictionTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.rejected_prediction_tokens;\n }\n if ((promptTokenDetails == null ? void 0 : promptTokenDetails.cached_tokens) != null) {\n providerMetadata.openai.cachedPromptTokens = promptTokenDetails == null ? void 0 : promptTokenDetails.cached_tokens;\n }\n return {\n text: (_c = choice.message.content) != null ? _c : void 0,\n toolCalls: this.settings.useLegacyFunctionCalling && choice.message.function_call ? [\n {\n toolCallType: \"function\",\n toolCallId: generateId(),\n toolName: choice.message.function_call.name,\n args: choice.message.function_call.arguments\n }\n ] : (_d = choice.message.tool_calls) == null ? void 0 : _d.map((toolCall) => {\n var _a2;\n return {\n toolCallType: \"function\",\n toolCallId: (_a2 = toolCall.id) != null ? _a2 : generateId(),\n toolName: toolCall.function.name,\n args: toolCall.function.arguments\n };\n }),\n finishReason: mapOpenAIFinishReason(choice.finish_reason),\n usage: {\n promptTokens: (_f = (_e = response.usage) == null ? void 0 : _e.prompt_tokens) != null ? _f : NaN,\n completionTokens: (_h = (_g = response.usage) == null ? void 0 : _g.completion_tokens) != null ? _h : NaN\n },\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders, body: rawResponse },\n request: { body: JSON.stringify(body) },\n response: getResponseMetadata(response),\n warnings,\n logprobs: mapOpenAIChatLogProbsOutput(choice.logprobs),\n providerMetadata\n };\n }\n async doStream(options) {\n if (this.settings.simulateStreaming) {\n const result = await this.doGenerate(options);\n const simulatedStream = new ReadableStream({\n start(controller) {\n controller.enqueue({ type: \"response-metadata\", ...result.response });\n if (result.text) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: result.text\n });\n }\n if (result.toolCalls) {\n for (const toolCall of result.toolCalls) {\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallType: \"function\",\n toolCallId: toolCall.toolCallId,\n toolName: toolCall.toolName,\n argsTextDelta: toolCall.args\n });\n controller.enqueue({\n type: \"tool-call\",\n ...toolCall\n });\n }\n }\n controller.enqueue({\n type: \"finish\",\n finishReason: result.finishReason,\n usage: result.usage,\n logprobs: result.logprobs,\n providerMetadata: result.providerMetadata\n });\n controller.close();\n }\n });\n return {\n stream: simulatedStream,\n rawCall: result.rawCall,\n rawResponse: result.rawResponse,\n warnings: result.warnings\n };\n }\n const { args, warnings } = this.getArgs(options);\n const body = {\n ...args,\n stream: true,\n // only include stream_options when in strict compatibility mode:\n stream_options: this.config.compatibility === \"strict\" ? { include_usage: true } : void 0\n };\n const { responseHeaders, value: response } = await postJsonToApi({\n url: this.config.url({\n path: \"/chat/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: openaiFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n openaiChatChunkSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { messages: rawPrompt, ...rawSettings } = args;\n const toolCalls = [];\n let finishReason = \"unknown\";\n let usage = {\n promptTokens: void 0,\n completionTokens: void 0\n };\n let logprobs;\n let isFirstChunk = true;\n const { useLegacyFunctionCalling } = this.settings;\n const providerMetadata = { openai: {} };\n return {\n stream: response.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;\n if (!chunk.success) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n if (\"error\" in value) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: value.error });\n return;\n }\n if (isFirstChunk) {\n isFirstChunk = false;\n controller.enqueue({\n type: \"response-metadata\",\n ...getResponseMetadata(value)\n });\n }\n if (value.usage != null) {\n const {\n prompt_tokens,\n completion_tokens,\n prompt_tokens_details,\n completion_tokens_details\n } = value.usage;\n usage = {\n promptTokens: prompt_tokens != null ? prompt_tokens : void 0,\n completionTokens: completion_tokens != null ? completion_tokens : void 0\n };\n if ((completion_tokens_details == null ? void 0 : completion_tokens_details.reasoning_tokens) != null) {\n providerMetadata.openai.reasoningTokens = completion_tokens_details == null ? void 0 : completion_tokens_details.reasoning_tokens;\n }\n if ((completion_tokens_details == null ? void 0 : completion_tokens_details.accepted_prediction_tokens) != null) {\n providerMetadata.openai.acceptedPredictionTokens = completion_tokens_details == null ? void 0 : completion_tokens_details.accepted_prediction_tokens;\n }\n if ((completion_tokens_details == null ? void 0 : completion_tokens_details.rejected_prediction_tokens) != null) {\n providerMetadata.openai.rejectedPredictionTokens = completion_tokens_details == null ? void 0 : completion_tokens_details.rejected_prediction_tokens;\n }\n if ((prompt_tokens_details == null ? void 0 : prompt_tokens_details.cached_tokens) != null) {\n providerMetadata.openai.cachedPromptTokens = prompt_tokens_details == null ? void 0 : prompt_tokens_details.cached_tokens;\n }\n }\n const choice = value.choices[0];\n if ((choice == null ? void 0 : choice.finish_reason) != null) {\n finishReason = mapOpenAIFinishReason(choice.finish_reason);\n }\n if ((choice == null ? void 0 : choice.delta) == null) {\n return;\n }\n const delta = choice.delta;\n if (delta.content != null) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: delta.content\n });\n }\n const mappedLogprobs = mapOpenAIChatLogProbsOutput(\n choice == null ? void 0 : choice.logprobs\n );\n if (mappedLogprobs == null ? void 0 : mappedLogprobs.length) {\n if (logprobs === void 0) logprobs = [];\n logprobs.push(...mappedLogprobs);\n }\n const mappedToolCalls = useLegacyFunctionCalling && delta.function_call != null ? [\n {\n type: \"function\",\n id: generateId(),\n function: delta.function_call,\n index: 0\n }\n ] : delta.tool_calls;\n if (mappedToolCalls != null) {\n for (const toolCallDelta of mappedToolCalls) {\n const index = toolCallDelta.index;\n if (toolCalls[index] == null) {\n if (toolCallDelta.type !== \"function\") {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'function' type.`\n });\n }\n if (toolCallDelta.id == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'id' to be a string.`\n });\n }\n if (((_a = toolCallDelta.function) == null ? void 0 : _a.name) == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'function.name' to be a string.`\n });\n }\n toolCalls[index] = {\n id: toolCallDelta.id,\n type: \"function\",\n function: {\n name: toolCallDelta.function.name,\n arguments: (_b = toolCallDelta.function.arguments) != null ? _b : \"\"\n },\n hasFinished: false\n };\n const toolCall2 = toolCalls[index];\n if (((_c = toolCall2.function) == null ? void 0 : _c.name) != null && ((_d = toolCall2.function) == null ? void 0 : _d.arguments) != null) {\n if (toolCall2.function.arguments.length > 0) {\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallType: \"function\",\n toolCallId: toolCall2.id,\n toolName: toolCall2.function.name,\n argsTextDelta: toolCall2.function.arguments\n });\n }\n if (isParsableJson(toolCall2.function.arguments)) {\n controller.enqueue({\n type: \"tool-call\",\n toolCallType: \"function\",\n toolCallId: (_e = toolCall2.id) != null ? _e : generateId(),\n toolName: toolCall2.function.name,\n args: toolCall2.function.arguments\n });\n toolCall2.hasFinished = true;\n }\n }\n continue;\n }\n const toolCall = toolCalls[index];\n if (toolCall.hasFinished) {\n continue;\n }\n if (((_f = toolCallDelta.function) == null ? void 0 : _f.arguments) != null) {\n toolCall.function.arguments += (_h = (_g = toolCallDelta.function) == null ? void 0 : _g.arguments) != null ? _h : \"\";\n }\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallType: \"function\",\n toolCallId: toolCall.id,\n toolName: toolCall.function.name,\n argsTextDelta: (_i = toolCallDelta.function.arguments) != null ? _i : \"\"\n });\n if (((_j = toolCall.function) == null ? void 0 : _j.name) != null && ((_k = toolCall.function) == null ? void 0 : _k.arguments) != null && isParsableJson(toolCall.function.arguments)) {\n controller.enqueue({\n type: \"tool-call\",\n toolCallType: \"function\",\n toolCallId: (_l = toolCall.id) != null ? _l : generateId(),\n toolName: toolCall.function.name,\n args: toolCall.function.arguments\n });\n toolCall.hasFinished = true;\n }\n }\n }\n },\n flush(controller) {\n var _a, _b;\n controller.enqueue({\n type: \"finish\",\n finishReason,\n logprobs,\n usage: {\n promptTokens: (_a = usage.promptTokens) != null ? _a : NaN,\n completionTokens: (_b = usage.completionTokens) != null ? _b : NaN\n },\n ...providerMetadata != null ? { providerMetadata } : {}\n });\n }\n })\n ),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n request: { body: JSON.stringify(body) },\n warnings\n };\n }\n};\nvar openaiTokenUsageSchema = z2.object({\n prompt_tokens: z2.number().nullish(),\n completion_tokens: z2.number().nullish(),\n prompt_tokens_details: z2.object({\n cached_tokens: z2.number().nullish()\n }).nullish(),\n completion_tokens_details: z2.object({\n reasoning_tokens: z2.number().nullish(),\n accepted_prediction_tokens: z2.number().nullish(),\n rejected_prediction_tokens: z2.number().nullish()\n }).nullish()\n}).nullish();\nvar openaiChatResponseSchema = z2.object({\n id: z2.string().nullish(),\n created: z2.number().nullish(),\n model: z2.string().nullish(),\n choices: z2.array(\n z2.object({\n message: z2.object({\n role: z2.literal(\"assistant\").nullish(),\n content: z2.string().nullish(),\n function_call: z2.object({\n arguments: z2.string(),\n name: z2.string()\n }).nullish(),\n tool_calls: z2.array(\n z2.object({\n id: z2.string().nullish(),\n type: z2.literal(\"function\"),\n function: z2.object({\n name: z2.string(),\n arguments: z2.string()\n })\n })\n ).nullish()\n }),\n index: z2.number(),\n logprobs: z2.object({\n content: z2.array(\n z2.object({\n token: z2.string(),\n logprob: z2.number(),\n top_logprobs: z2.array(\n z2.object({\n token: z2.string(),\n logprob: z2.number()\n })\n )\n })\n ).nullable()\n }).nullish(),\n finish_reason: z2.string().nullish()\n })\n ),\n usage: openaiTokenUsageSchema\n});\nvar openaiChatChunkSchema = z2.union([\n z2.object({\n id: z2.string().nullish(),\n created: z2.number().nullish(),\n model: z2.string().nullish(),\n choices: z2.array(\n z2.object({\n delta: z2.object({\n role: z2.enum([\"assistant\"]).nullish(),\n content: z2.string().nullish(),\n function_call: z2.object({\n name: z2.string().optional(),\n arguments: z2.string().optional()\n }).nullish(),\n tool_calls: z2.array(\n z2.object({\n index: z2.number(),\n id: z2.string().nullish(),\n type: z2.literal(\"function\").nullish(),\n function: z2.object({\n name: z2.string().nullish(),\n arguments: z2.string().nullish()\n })\n })\n ).nullish()\n }).nullish(),\n logprobs: z2.object({\n content: z2.array(\n z2.object({\n token: z2.string(),\n logprob: z2.number(),\n top_logprobs: z2.array(\n z2.object({\n token: z2.string(),\n logprob: z2.number()\n })\n )\n })\n ).nullable()\n }).nullish(),\n finish_reason: z2.string().nullish(),\n index: z2.number()\n })\n ),\n usage: openaiTokenUsageSchema\n }),\n openaiErrorDataSchema\n]);\nfunction isReasoningModel(modelId) {\n return modelId.startsWith(\"o\");\n}\nfunction isAudioModel(modelId) {\n return modelId.startsWith(\"gpt-4o-audio-preview\");\n}\nfunction getSystemMessageMode(modelId) {\n var _a, _b;\n if (!isReasoningModel(modelId)) {\n return \"system\";\n }\n return (_b = (_a = reasoningModels[modelId]) == null ? void 0 : _a.systemMessageMode) != null ? _b : \"developer\";\n}\nvar reasoningModels = {\n \"o1-mini\": {\n systemMessageMode: \"remove\"\n },\n \"o1-mini-2024-09-12\": {\n systemMessageMode: \"remove\"\n },\n \"o1-preview\": {\n systemMessageMode: \"remove\"\n },\n \"o1-preview-2024-09-12\": {\n systemMessageMode: \"remove\"\n },\n o3: {\n systemMessageMode: \"developer\"\n },\n \"o3-2025-04-16\": {\n systemMessageMode: \"developer\"\n },\n \"o3-mini\": {\n systemMessageMode: \"developer\"\n },\n \"o3-mini-2025-01-31\": {\n systemMessageMode: \"developer\"\n },\n \"o4-mini\": {\n systemMessageMode: \"developer\"\n },\n \"o4-mini-2025-04-16\": {\n systemMessageMode: \"developer\"\n }\n};\n\n// src/openai-completion-language-model.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError5\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders2,\n createEventSourceResponseHandler as createEventSourceResponseHandler2,\n createJsonResponseHandler as createJsonResponseHandler2,\n postJsonToApi as postJsonToApi2\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod\";\n\n// src/convert-to-openai-completion-prompt.ts\nimport {\n InvalidPromptError,\n UnsupportedFunctionalityError as UnsupportedFunctionalityError4\n} from \"@ai-sdk/provider\";\nfunction convertToOpenAICompletionPrompt({\n prompt,\n inputFormat,\n user = \"user\",\n assistant = \"assistant\"\n}) {\n if (inputFormat === \"prompt\" && prompt.length === 1 && prompt[0].role === \"user\" && prompt[0].content.length === 1 && prompt[0].content[0].type === \"text\") {\n return { prompt: prompt[0].content[0].text };\n }\n let text = \"\";\n if (prompt[0].role === \"system\") {\n text += `${prompt[0].content}\n\n`;\n prompt = prompt.slice(1);\n }\n for (const { role, content } of prompt) {\n switch (role) {\n case \"system\": {\n throw new InvalidPromptError({\n message: \"Unexpected system message in prompt: ${content}\",\n prompt\n });\n }\n case \"user\": {\n const userMessage = content.map((part) => {\n switch (part.type) {\n case \"text\": {\n return part.text;\n }\n case \"image\": {\n throw new UnsupportedFunctionalityError4({\n functionality: \"images\"\n });\n }\n }\n }).join(\"\");\n text += `${user}:\n${userMessage}\n\n`;\n break;\n }\n case \"assistant\": {\n const assistantMessage = content.map((part) => {\n switch (part.type) {\n case \"text\": {\n return part.text;\n }\n case \"tool-call\": {\n throw new UnsupportedFunctionalityError4({\n functionality: \"tool-call messages\"\n });\n }\n }\n }).join(\"\");\n text += `${assistant}:\n${assistantMessage}\n\n`;\n break;\n }\n case \"tool\": {\n throw new UnsupportedFunctionalityError4({\n functionality: \"tool messages\"\n });\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n text += `${assistant}:\n`;\n return {\n prompt: text,\n stopSequences: [`\n${user}:`]\n };\n}\n\n// src/map-openai-completion-logprobs.ts\nfunction mapOpenAICompletionLogProbs(logprobs) {\n return logprobs == null ? void 0 : logprobs.tokens.map((token, index) => ({\n token,\n logprob: logprobs.token_logprobs[index],\n topLogprobs: logprobs.top_logprobs ? Object.entries(logprobs.top_logprobs[index]).map(\n ([token2, logprob]) => ({\n token: token2,\n logprob\n })\n ) : []\n }));\n}\n\n// src/openai-completion-language-model.ts\nvar OpenAICompletionLanguageModel = class {\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n this.defaultObjectGenerationMode = void 0;\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n getArgs({\n mode,\n inputFormat,\n prompt,\n maxTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences: userStopSequences,\n responseFormat,\n seed\n }) {\n var _a;\n const type = mode.type;\n const warnings = [];\n if (topK != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"topK\"\n });\n }\n if (responseFormat != null && responseFormat.type !== \"text\") {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"responseFormat\",\n details: \"JSON response format is not supported.\"\n });\n }\n const { prompt: completionPrompt, stopSequences } = convertToOpenAICompletionPrompt({ prompt, inputFormat });\n const stop = [...stopSequences != null ? stopSequences : [], ...userStopSequences != null ? userStopSequences : []];\n const baseArgs = {\n // model id:\n model: this.modelId,\n // model specific settings:\n echo: this.settings.echo,\n logit_bias: this.settings.logitBias,\n logprobs: typeof this.settings.logprobs === \"number\" ? this.settings.logprobs : typeof this.settings.logprobs === \"boolean\" ? this.settings.logprobs ? 0 : void 0 : void 0,\n suffix: this.settings.suffix,\n user: this.settings.user,\n // standardized settings:\n max_tokens: maxTokens,\n temperature,\n top_p: topP,\n frequency_penalty: frequencyPenalty,\n presence_penalty: presencePenalty,\n seed,\n // prompt:\n prompt: completionPrompt,\n // stop sequences:\n stop: stop.length > 0 ? stop : void 0\n };\n switch (type) {\n case \"regular\": {\n if ((_a = mode.tools) == null ? void 0 : _a.length) {\n throw new UnsupportedFunctionalityError5({\n functionality: \"tools\"\n });\n }\n if (mode.toolChoice) {\n throw new UnsupportedFunctionalityError5({\n functionality: \"toolChoice\"\n });\n }\n return { args: baseArgs, warnings };\n }\n case \"object-json\": {\n throw new UnsupportedFunctionalityError5({\n functionality: \"object-json mode\"\n });\n }\n case \"object-tool\": {\n throw new UnsupportedFunctionalityError5({\n functionality: \"object-tool mode\"\n });\n }\n default: {\n const _exhaustiveCheck = type;\n throw new Error(`Unsupported type: ${_exhaustiveCheck}`);\n }\n }\n }\n async doGenerate(options) {\n const { args, warnings } = this.getArgs(options);\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi2({\n url: this.config.url({\n path: \"/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders2(this.config.headers(), options.headers),\n body: args,\n failedResponseHandler: openaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n openaiCompletionResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { prompt: rawPrompt, ...rawSettings } = args;\n const choice = response.choices[0];\n return {\n text: choice.text,\n usage: {\n promptTokens: response.usage.prompt_tokens,\n completionTokens: response.usage.completion_tokens\n },\n finishReason: mapOpenAIFinishReason(choice.finish_reason),\n logprobs: mapOpenAICompletionLogProbs(choice.logprobs),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders, body: rawResponse },\n response: getResponseMetadata(response),\n warnings,\n request: { body: JSON.stringify(args) }\n };\n }\n async doStream(options) {\n const { args, warnings } = this.getArgs(options);\n const body = {\n ...args,\n stream: true,\n // only include stream_options when in strict compatibility mode:\n stream_options: this.config.compatibility === \"strict\" ? { include_usage: true } : void 0\n };\n const { responseHeaders, value: response } = await postJsonToApi2({\n url: this.config.url({\n path: \"/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders2(this.config.headers(), options.headers),\n body,\n failedResponseHandler: openaiFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler2(\n openaiCompletionChunkSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { prompt: rawPrompt, ...rawSettings } = args;\n let finishReason = \"unknown\";\n let usage = {\n promptTokens: Number.NaN,\n completionTokens: Number.NaN\n };\n let logprobs;\n let isFirstChunk = true;\n return {\n stream: response.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n if (!chunk.success) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n if (\"error\" in value) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: value.error });\n return;\n }\n if (isFirstChunk) {\n isFirstChunk = false;\n controller.enqueue({\n type: \"response-metadata\",\n ...getResponseMetadata(value)\n });\n }\n if (value.usage != null) {\n usage = {\n promptTokens: value.usage.prompt_tokens,\n completionTokens: value.usage.completion_tokens\n };\n }\n const choice = value.choices[0];\n if ((choice == null ? void 0 : choice.finish_reason) != null) {\n finishReason = mapOpenAIFinishReason(choice.finish_reason);\n }\n if ((choice == null ? void 0 : choice.text) != null) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: choice.text\n });\n }\n const mappedLogprobs = mapOpenAICompletionLogProbs(\n choice == null ? void 0 : choice.logprobs\n );\n if (mappedLogprobs == null ? void 0 : mappedLogprobs.length) {\n if (logprobs === void 0) logprobs = [];\n logprobs.push(...mappedLogprobs);\n }\n },\n flush(controller) {\n controller.enqueue({\n type: \"finish\",\n finishReason,\n logprobs,\n usage\n });\n }\n })\n ),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings,\n request: { body: JSON.stringify(body) }\n };\n }\n};\nvar openaiCompletionResponseSchema = z3.object({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n text: z3.string(),\n finish_reason: z3.string(),\n logprobs: z3.object({\n tokens: z3.array(z3.string()),\n token_logprobs: z3.array(z3.number()),\n top_logprobs: z3.array(z3.record(z3.string(), z3.number())).nullable()\n }).nullish()\n })\n ),\n usage: z3.object({\n prompt_tokens: z3.number(),\n completion_tokens: z3.number()\n })\n});\nvar openaiCompletionChunkSchema = z3.union([\n z3.object({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n text: z3.string(),\n finish_reason: z3.string().nullish(),\n index: z3.number(),\n logprobs: z3.object({\n tokens: z3.array(z3.string()),\n token_logprobs: z3.array(z3.number()),\n top_logprobs: z3.array(z3.record(z3.string(), z3.number())).nullable()\n }).nullish()\n })\n ),\n usage: z3.object({\n prompt_tokens: z3.number(),\n completion_tokens: z3.number()\n }).nullish()\n }),\n openaiErrorDataSchema\n]);\n\n// src/openai-embedding-model.ts\nimport {\n TooManyEmbeddingValuesForCallError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders3,\n createJsonResponseHandler as createJsonResponseHandler3,\n postJsonToApi as postJsonToApi3\n} from \"@ai-sdk/provider-utils\";\nimport { z as z4 } from \"zod\";\nvar OpenAIEmbeddingModel = class {\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n get maxEmbeddingsPerCall() {\n var _a;\n return (_a = this.settings.maxEmbeddingsPerCall) != null ? _a : 2048;\n }\n get supportsParallelCalls() {\n var _a;\n return (_a = this.settings.supportsParallelCalls) != null ? _a : true;\n }\n async doEmbed({\n values,\n headers,\n abortSignal\n }) {\n if (values.length > this.maxEmbeddingsPerCall) {\n throw new TooManyEmbeddingValuesForCallError({\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values\n });\n }\n const { responseHeaders, value: response } = await postJsonToApi3({\n url: this.config.url({\n path: \"/embeddings\",\n modelId: this.modelId\n }),\n headers: combineHeaders3(this.config.headers(), headers),\n body: {\n model: this.modelId,\n input: values,\n encoding_format: \"float\",\n dimensions: this.settings.dimensions,\n user: this.settings.user\n },\n failedResponseHandler: openaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler3(\n openaiTextEmbeddingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n embeddings: response.data.map((item) => item.embedding),\n usage: response.usage ? { tokens: response.usage.prompt_tokens } : void 0,\n rawResponse: { headers: responseHeaders }\n };\n }\n};\nvar openaiTextEmbeddingResponseSchema = z4.object({\n data: z4.array(z4.object({ embedding: z4.array(z4.number()) })),\n usage: z4.object({ prompt_tokens: z4.number() }).nullish()\n});\n\n// src/openai-image-model.ts\nimport {\n combineHeaders as combineHeaders4,\n createJsonResponseHandler as createJsonResponseHandler4,\n postJsonToApi as postJsonToApi4\n} from \"@ai-sdk/provider-utils\";\nimport { z as z5 } from \"zod\";\n\n// src/openai-image-settings.ts\nvar modelMaxImagesPerCall = {\n \"dall-e-3\": 1,\n \"dall-e-2\": 10,\n \"gpt-image-1\": 10\n};\nvar hasDefaultResponseFormat = /* @__PURE__ */ new Set([\"gpt-image-1\"]);\n\n// src/openai-image-model.ts\nvar OpenAIImageModel = class {\n constructor(modelId, settings, config) {\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n this.specificationVersion = \"v1\";\n }\n get maxImagesPerCall() {\n var _a, _b;\n return (_b = (_a = this.settings.maxImagesPerCall) != null ? _a : modelMaxImagesPerCall[this.modelId]) != null ? _b : 1;\n }\n get provider() {\n return this.config.provider;\n }\n async doGenerate({\n prompt,\n n,\n size,\n aspectRatio,\n seed,\n providerOptions,\n headers,\n abortSignal\n }) {\n var _a, _b, _c, _d;\n const warnings = [];\n if (aspectRatio != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"aspectRatio\",\n details: \"This model does not support aspect ratio. Use `size` instead.\"\n });\n }\n if (seed != null) {\n warnings.push({ type: \"unsupported-setting\", setting: \"seed\" });\n }\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n const { value: response, responseHeaders } = await postJsonToApi4({\n url: this.config.url({\n path: \"/images/generations\",\n modelId: this.modelId\n }),\n headers: combineHeaders4(this.config.headers(), headers),\n body: {\n model: this.modelId,\n prompt,\n n,\n size,\n ...(_d = providerOptions.openai) != null ? _d : {},\n ...!hasDefaultResponseFormat.has(this.modelId) ? { response_format: \"b64_json\" } : {}\n },\n failedResponseHandler: openaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler4(\n openaiImageResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n images: response.data.map((item) => item.b64_json),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders\n }\n };\n }\n};\nvar openaiImageResponseSchema = z5.object({\n data: z5.array(z5.object({ b64_json: z5.string() }))\n});\n\n// src/openai-transcription-model.ts\nimport {\n combineHeaders as combineHeaders5,\n convertBase64ToUint8Array,\n createJsonResponseHandler as createJsonResponseHandler5,\n parseProviderOptions,\n postFormDataToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z6 } from \"zod\";\nvar openAIProviderOptionsSchema = z6.object({\n include: z6.array(z6.string()).nullish(),\n language: z6.string().nullish(),\n prompt: z6.string().nullish(),\n temperature: z6.number().min(0).max(1).nullish().default(0),\n timestampGranularities: z6.array(z6.enum([\"word\", \"segment\"])).nullish().default([\"segment\"])\n});\nvar languageMap = {\n afrikaans: \"af\",\n arabic: \"ar\",\n armenian: \"hy\",\n azerbaijani: \"az\",\n belarusian: \"be\",\n bosnian: \"bs\",\n bulgarian: \"bg\",\n catalan: \"ca\",\n chinese: \"zh\",\n croatian: \"hr\",\n czech: \"cs\",\n danish: \"da\",\n dutch: \"nl\",\n english: \"en\",\n estonian: \"et\",\n finnish: \"fi\",\n french: \"fr\",\n galician: \"gl\",\n german: \"de\",\n greek: \"el\",\n hebrew: \"he\",\n hindi: \"hi\",\n hungarian: \"hu\",\n icelandic: \"is\",\n indonesian: \"id\",\n italian: \"it\",\n japanese: \"ja\",\n kannada: \"kn\",\n kazakh: \"kk\",\n korean: \"ko\",\n latvian: \"lv\",\n lithuanian: \"lt\",\n macedonian: \"mk\",\n malay: \"ms\",\n marathi: \"mr\",\n maori: \"mi\",\n nepali: \"ne\",\n norwegian: \"no\",\n persian: \"fa\",\n polish: \"pl\",\n portuguese: \"pt\",\n romanian: \"ro\",\n russian: \"ru\",\n serbian: \"sr\",\n slovak: \"sk\",\n slovenian: \"sl\",\n spanish: \"es\",\n swahili: \"sw\",\n swedish: \"sv\",\n tagalog: \"tl\",\n tamil: \"ta\",\n thai: \"th\",\n turkish: \"tr\",\n ukrainian: \"uk\",\n urdu: \"ur\",\n vietnamese: \"vi\",\n welsh: \"cy\"\n};\nvar OpenAITranscriptionModel = class {\n constructor(modelId, config) {\n this.modelId = modelId;\n this.config = config;\n this.specificationVersion = \"v1\";\n }\n get provider() {\n return this.config.provider;\n }\n getArgs({\n audio,\n mediaType,\n providerOptions\n }) {\n var _a, _b, _c, _d, _e;\n const warnings = [];\n const openAIOptions = parseProviderOptions({\n provider: \"openai\",\n providerOptions,\n schema: openAIProviderOptionsSchema\n });\n const formData = new FormData();\n const blob = audio instanceof Uint8Array ? new Blob([audio]) : new Blob([convertBase64ToUint8Array(audio)]);\n formData.append(\"model\", this.modelId);\n formData.append(\"file\", new File([blob], \"audio\", { type: mediaType }));\n if (openAIOptions) {\n const transcriptionModelOptions = {\n include: (_a = openAIOptions.include) != null ? _a : void 0,\n language: (_b = openAIOptions.language) != null ? _b : void 0,\n prompt: (_c = openAIOptions.prompt) != null ? _c : void 0,\n temperature: (_d = openAIOptions.temperature) != null ? _d : void 0,\n timestamp_granularities: (_e = openAIOptions.timestampGranularities) != null ? _e : void 0\n };\n for (const key in transcriptionModelOptions) {\n const value = transcriptionModelOptions[key];\n if (value !== void 0) {\n formData.append(key, String(value));\n }\n }\n }\n return {\n formData,\n warnings\n };\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f;\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n const { formData, warnings } = this.getArgs(options);\n const {\n value: response,\n responseHeaders,\n rawValue: rawResponse\n } = await postFormDataToApi({\n url: this.config.url({\n path: \"/audio/transcriptions\",\n modelId: this.modelId\n }),\n headers: combineHeaders5(this.config.headers(), options.headers),\n formData,\n failedResponseHandler: openaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler5(\n openaiTranscriptionResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const language = response.language != null && response.language in languageMap ? languageMap[response.language] : void 0;\n return {\n text: response.text,\n segments: (_e = (_d = response.words) == null ? void 0 : _d.map((word) => ({\n text: word.word,\n startSecond: word.start,\n endSecond: word.end\n }))) != null ? _e : [],\n language,\n durationInSeconds: (_f = response.duration) != null ? _f : void 0,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n body: rawResponse\n }\n };\n }\n};\nvar openaiTranscriptionResponseSchema = z6.object({\n text: z6.string(),\n language: z6.string().nullish(),\n duration: z6.number().nullish(),\n words: z6.array(\n z6.object({\n word: z6.string(),\n start: z6.number(),\n end: z6.number()\n })\n ).nullish()\n});\n\n// src/responses/openai-responses-language-model.ts\nimport {\n combineHeaders as combineHeaders6,\n createEventSourceResponseHandler as createEventSourceResponseHandler3,\n createJsonResponseHandler as createJsonResponseHandler6,\n generateId as generateId2,\n parseProviderOptions as parseProviderOptions2,\n postJsonToApi as postJsonToApi5\n} from \"@ai-sdk/provider-utils\";\nimport { z as z7 } from \"zod\";\n\n// src/responses/convert-to-openai-responses-messages.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError6\n} from \"@ai-sdk/provider\";\nimport { convertUint8ArrayToBase64 as convertUint8ArrayToBase642 } from \"@ai-sdk/provider-utils\";\nfunction convertToOpenAIResponsesMessages({\n prompt,\n systemMessageMode\n}) {\n const messages = [];\n const warnings = [];\n for (const { role, content } of prompt) {\n switch (role) {\n case \"system\": {\n switch (systemMessageMode) {\n case \"system\": {\n messages.push({ role: \"system\", content });\n break;\n }\n case \"developer\": {\n messages.push({ role: \"developer\", content });\n break;\n }\n case \"remove\": {\n warnings.push({\n type: \"other\",\n message: \"system messages are removed for this model\"\n });\n break;\n }\n default: {\n const _exhaustiveCheck = systemMessageMode;\n throw new Error(\n `Unsupported system message mode: ${_exhaustiveCheck}`\n );\n }\n }\n break;\n }\n case \"user\": {\n messages.push({\n role: \"user\",\n content: content.map((part, index) => {\n var _a, _b, _c, _d;\n switch (part.type) {\n case \"text\": {\n return { type: \"input_text\", text: part.text };\n }\n case \"image\": {\n return {\n type: \"input_image\",\n image_url: part.image instanceof URL ? part.image.toString() : `data:${(_a = part.mimeType) != null ? _a : \"image/jpeg\"};base64,${convertUint8ArrayToBase642(part.image)}`,\n // OpenAI specific extension: image detail\n detail: (_c = (_b = part.providerMetadata) == null ? void 0 : _b.openai) == null ? void 0 : _c.imageDetail\n };\n }\n case \"file\": {\n if (part.data instanceof URL) {\n throw new UnsupportedFunctionalityError6({\n functionality: \"File URLs in user messages\"\n });\n }\n switch (part.mimeType) {\n case \"application/pdf\": {\n return {\n type: \"input_file\",\n filename: (_d = part.filename) != null ? _d : `part-${index}.pdf`,\n file_data: `data:application/pdf;base64,${part.data}`\n };\n }\n default: {\n throw new UnsupportedFunctionalityError6({\n functionality: \"Only PDF files are supported in user messages\"\n });\n }\n }\n }\n }\n })\n });\n break;\n }\n case \"assistant\": {\n for (const part of content) {\n switch (part.type) {\n case \"text\": {\n messages.push({\n role: \"assistant\",\n content: [{ type: \"output_text\", text: part.text }]\n });\n break;\n }\n case \"tool-call\": {\n messages.push({\n type: \"function_call\",\n call_id: part.toolCallId,\n name: part.toolName,\n arguments: JSON.stringify(part.args)\n });\n break;\n }\n }\n }\n break;\n }\n case \"tool\": {\n for (const part of content) {\n messages.push({\n type: \"function_call_output\",\n call_id: part.toolCallId,\n output: JSON.stringify(part.result)\n });\n }\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return { messages, warnings };\n}\n\n// src/responses/map-openai-responses-finish-reason.ts\nfunction mapOpenAIResponseFinishReason({\n finishReason,\n hasToolCalls\n}) {\n switch (finishReason) {\n case void 0:\n case null:\n return hasToolCalls ? \"tool-calls\" : \"stop\";\n case \"max_output_tokens\":\n return \"length\";\n case \"content_filter\":\n return \"content-filter\";\n default:\n return hasToolCalls ? \"tool-calls\" : \"unknown\";\n }\n}\n\n// src/responses/openai-responses-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError7\n} from \"@ai-sdk/provider\";\nfunction prepareResponsesTools({\n mode,\n strict\n}) {\n var _a;\n const tools = ((_a = mode.tools) == null ? void 0 : _a.length) ? mode.tools : void 0;\n const toolWarnings = [];\n if (tools == null) {\n return { tools: void 0, tool_choice: void 0, toolWarnings };\n }\n const toolChoice = mode.toolChoice;\n const openaiTools2 = [];\n for (const tool of tools) {\n switch (tool.type) {\n case \"function\":\n openaiTools2.push({\n type: \"function\",\n name: tool.name,\n description: tool.description,\n parameters: tool.parameters,\n strict: strict ? true : void 0\n });\n break;\n case \"provider-defined\":\n switch (tool.id) {\n case \"openai.web_search_preview\":\n openaiTools2.push({\n type: \"web_search_preview\",\n search_context_size: tool.args.searchContextSize,\n user_location: tool.args.userLocation\n });\n break;\n default:\n toolWarnings.push({ type: \"unsupported-tool\", tool });\n break;\n }\n break;\n default:\n toolWarnings.push({ type: \"unsupported-tool\", tool });\n break;\n }\n }\n if (toolChoice == null) {\n return { tools: openaiTools2, tool_choice: void 0, toolWarnings };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n case \"none\":\n case \"required\":\n return { tools: openaiTools2, tool_choice: type, toolWarnings };\n case \"tool\": {\n if (toolChoice.toolName === \"web_search_preview\") {\n return {\n tools: openaiTools2,\n tool_choice: {\n type: \"web_search_preview\"\n },\n toolWarnings\n };\n }\n return {\n tools: openaiTools2,\n tool_choice: {\n type: \"function\",\n name: toolChoice.toolName\n },\n toolWarnings\n };\n }\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError7({\n functionality: `Unsupported tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/responses/openai-responses-language-model.ts\nvar OpenAIResponsesLanguageModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v1\";\n this.defaultObjectGenerationMode = \"json\";\n this.supportsStructuredOutputs = true;\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n getArgs({\n mode,\n maxTokens,\n temperature,\n stopSequences,\n topP,\n topK,\n presencePenalty,\n frequencyPenalty,\n seed,\n prompt,\n providerMetadata,\n responseFormat\n }) {\n var _a, _b, _c;\n const warnings = [];\n const modelConfig = getResponsesModelConfig(this.modelId);\n const type = mode.type;\n if (topK != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"topK\"\n });\n }\n if (seed != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"seed\"\n });\n }\n if (presencePenalty != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"presencePenalty\"\n });\n }\n if (frequencyPenalty != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"frequencyPenalty\"\n });\n }\n if (stopSequences != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"stopSequences\"\n });\n }\n const { messages, warnings: messageWarnings } = convertToOpenAIResponsesMessages({\n prompt,\n systemMessageMode: modelConfig.systemMessageMode\n });\n warnings.push(...messageWarnings);\n const openaiOptions = parseProviderOptions2({\n provider: \"openai\",\n providerOptions: providerMetadata,\n schema: openaiResponsesProviderOptionsSchema\n });\n const isStrict = (_a = openaiOptions == null ? void 0 : openaiOptions.strictSchemas) != null ? _a : true;\n const baseArgs = {\n model: this.modelId,\n input: messages,\n temperature,\n top_p: topP,\n max_output_tokens: maxTokens,\n ...(responseFormat == null ? void 0 : responseFormat.type) === \"json\" && {\n text: {\n format: responseFormat.schema != null ? {\n type: \"json_schema\",\n strict: isStrict,\n name: (_b = responseFormat.name) != null ? _b : \"response\",\n description: responseFormat.description,\n schema: responseFormat.schema\n } : { type: \"json_object\" }\n }\n },\n // provider options:\n metadata: openaiOptions == null ? void 0 : openaiOptions.metadata,\n parallel_tool_calls: openaiOptions == null ? void 0 : openaiOptions.parallelToolCalls,\n previous_response_id: openaiOptions == null ? void 0 : openaiOptions.previousResponseId,\n store: openaiOptions == null ? void 0 : openaiOptions.store,\n user: openaiOptions == null ? void 0 : openaiOptions.user,\n instructions: openaiOptions == null ? void 0 : openaiOptions.instructions,\n // model-specific settings:\n ...modelConfig.isReasoningModel && ((openaiOptions == null ? void 0 : openaiOptions.reasoningEffort) != null || (openaiOptions == null ? void 0 : openaiOptions.reasoningSummary) != null) && {\n reasoning: {\n ...(openaiOptions == null ? void 0 : openaiOptions.reasoningEffort) != null && {\n effort: openaiOptions.reasoningEffort\n },\n ...(openaiOptions == null ? void 0 : openaiOptions.reasoningSummary) != null && {\n summary: openaiOptions.reasoningSummary\n }\n }\n },\n ...modelConfig.requiredAutoTruncation && {\n truncation: \"auto\"\n }\n };\n if (modelConfig.isReasoningModel) {\n if (baseArgs.temperature != null) {\n baseArgs.temperature = void 0;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"temperature\",\n details: \"temperature is not supported for reasoning models\"\n });\n }\n if (baseArgs.top_p != null) {\n baseArgs.top_p = void 0;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"topP\",\n details: \"topP is not supported for reasoning models\"\n });\n }\n }\n switch (type) {\n case \"regular\": {\n const { tools, tool_choice, toolWarnings } = prepareResponsesTools({\n mode,\n strict: isStrict\n // TODO support provider options on tools\n });\n return {\n args: {\n ...baseArgs,\n tools,\n tool_choice\n },\n warnings: [...warnings, ...toolWarnings]\n };\n }\n case \"object-json\": {\n return {\n args: {\n ...baseArgs,\n text: {\n format: mode.schema != null ? {\n type: \"json_schema\",\n strict: isStrict,\n name: (_c = mode.name) != null ? _c : \"response\",\n description: mode.description,\n schema: mode.schema\n } : { type: \"json_object\" }\n }\n },\n warnings\n };\n }\n case \"object-tool\": {\n return {\n args: {\n ...baseArgs,\n tool_choice: { type: \"function\", name: mode.tool.name },\n tools: [\n {\n type: \"function\",\n name: mode.tool.name,\n description: mode.tool.description,\n parameters: mode.tool.parameters,\n strict: isStrict\n }\n ]\n },\n warnings\n };\n }\n default: {\n const _exhaustiveCheck = type;\n throw new Error(`Unsupported type: ${_exhaustiveCheck}`);\n }\n }\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g;\n const { args: body, warnings } = this.getArgs(options);\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi5({\n url: this.config.url({\n path: \"/responses\",\n modelId: this.modelId\n }),\n headers: combineHeaders6(this.config.headers(), options.headers),\n body,\n failedResponseHandler: openaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler6(\n z7.object({\n id: z7.string(),\n created_at: z7.number(),\n model: z7.string(),\n output: z7.array(\n z7.discriminatedUnion(\"type\", [\n z7.object({\n type: z7.literal(\"message\"),\n role: z7.literal(\"assistant\"),\n content: z7.array(\n z7.object({\n type: z7.literal(\"output_text\"),\n text: z7.string(),\n annotations: z7.array(\n z7.object({\n type: z7.literal(\"url_citation\"),\n start_index: z7.number(),\n end_index: z7.number(),\n url: z7.string(),\n title: z7.string()\n })\n )\n })\n )\n }),\n z7.object({\n type: z7.literal(\"function_call\"),\n call_id: z7.string(),\n name: z7.string(),\n arguments: z7.string()\n }),\n z7.object({\n type: z7.literal(\"web_search_call\")\n }),\n z7.object({\n type: z7.literal(\"computer_call\")\n }),\n z7.object({\n type: z7.literal(\"reasoning\"),\n summary: z7.array(\n z7.object({\n type: z7.literal(\"summary_text\"),\n text: z7.string()\n })\n )\n })\n ])\n ),\n incomplete_details: z7.object({ reason: z7.string() }).nullable(),\n usage: usageSchema\n })\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const outputTextElements = response.output.filter((output) => output.type === \"message\").flatMap((output) => output.content).filter((content) => content.type === \"output_text\");\n const toolCalls = response.output.filter((output) => output.type === \"function_call\").map((output) => ({\n toolCallType: \"function\",\n toolCallId: output.call_id,\n toolName: output.name,\n args: output.arguments\n }));\n const reasoningSummary = (_b = (_a = response.output.find((item) => item.type === \"reasoning\")) == null ? void 0 : _a.summary) != null ? _b : null;\n return {\n text: outputTextElements.map((content) => content.text).join(\"\\n\"),\n sources: outputTextElements.flatMap(\n (content) => content.annotations.map((annotation) => {\n var _a2, _b2, _c2;\n return {\n sourceType: \"url\",\n id: (_c2 = (_b2 = (_a2 = this.config).generateId) == null ? void 0 : _b2.call(_a2)) != null ? _c2 : generateId2(),\n url: annotation.url,\n title: annotation.title\n };\n })\n ),\n finishReason: mapOpenAIResponseFinishReason({\n finishReason: (_c = response.incomplete_details) == null ? void 0 : _c.reason,\n hasToolCalls: toolCalls.length > 0\n }),\n toolCalls: toolCalls.length > 0 ? toolCalls : void 0,\n reasoning: reasoningSummary ? reasoningSummary.map((summary) => ({\n type: \"text\",\n text: summary.text\n })) : void 0,\n usage: {\n promptTokens: response.usage.input_tokens,\n completionTokens: response.usage.output_tokens\n },\n rawCall: {\n rawPrompt: void 0,\n rawSettings: {}\n },\n rawResponse: {\n headers: responseHeaders,\n body: rawResponse\n },\n request: {\n body: JSON.stringify(body)\n },\n response: {\n id: response.id,\n timestamp: new Date(response.created_at * 1e3),\n modelId: response.model\n },\n providerMetadata: {\n openai: {\n responseId: response.id,\n cachedPromptTokens: (_e = (_d = response.usage.input_tokens_details) == null ? void 0 : _d.cached_tokens) != null ? _e : null,\n reasoningTokens: (_g = (_f = response.usage.output_tokens_details) == null ? void 0 : _f.reasoning_tokens) != null ? _g : null\n }\n },\n warnings\n };\n }\n async doStream(options) {\n const { args: body, warnings } = this.getArgs(options);\n const { responseHeaders, value: response } = await postJsonToApi5({\n url: this.config.url({\n path: \"/responses\",\n modelId: this.modelId\n }),\n headers: combineHeaders6(this.config.headers(), options.headers),\n body: {\n ...body,\n stream: true\n },\n failedResponseHandler: openaiFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler3(\n openaiResponsesChunkSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const self = this;\n let finishReason = \"unknown\";\n let promptTokens = NaN;\n let completionTokens = NaN;\n let cachedPromptTokens = null;\n let reasoningTokens = null;\n let responseId = null;\n const ongoingToolCalls = {};\n let hasToolCalls = false;\n return {\n stream: response.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (!chunk.success) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n if (isResponseOutputItemAddedChunk(value)) {\n if (value.item.type === \"function_call\") {\n ongoingToolCalls[value.output_index] = {\n toolName: value.item.name,\n toolCallId: value.item.call_id\n };\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallType: \"function\",\n toolCallId: value.item.call_id,\n toolName: value.item.name,\n argsTextDelta: value.item.arguments\n });\n }\n } else if (isResponseFunctionCallArgumentsDeltaChunk(value)) {\n const toolCall = ongoingToolCalls[value.output_index];\n if (toolCall != null) {\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallType: \"function\",\n toolCallId: toolCall.toolCallId,\n toolName: toolCall.toolName,\n argsTextDelta: value.delta\n });\n }\n } else if (isResponseCreatedChunk(value)) {\n responseId = value.response.id;\n controller.enqueue({\n type: \"response-metadata\",\n id: value.response.id,\n timestamp: new Date(value.response.created_at * 1e3),\n modelId: value.response.model\n });\n } else if (isTextDeltaChunk(value)) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: value.delta\n });\n } else if (isResponseReasoningSummaryTextDeltaChunk(value)) {\n controller.enqueue({\n type: \"reasoning\",\n textDelta: value.delta\n });\n } else if (isResponseOutputItemDoneChunk(value) && value.item.type === \"function_call\") {\n ongoingToolCalls[value.output_index] = void 0;\n hasToolCalls = true;\n controller.enqueue({\n type: \"tool-call\",\n toolCallType: \"function\",\n toolCallId: value.item.call_id,\n toolName: value.item.name,\n args: value.item.arguments\n });\n } else if (isResponseFinishedChunk(value)) {\n finishReason = mapOpenAIResponseFinishReason({\n finishReason: (_a = value.response.incomplete_details) == null ? void 0 : _a.reason,\n hasToolCalls\n });\n promptTokens = value.response.usage.input_tokens;\n completionTokens = value.response.usage.output_tokens;\n cachedPromptTokens = (_c = (_b = value.response.usage.input_tokens_details) == null ? void 0 : _b.cached_tokens) != null ? _c : cachedPromptTokens;\n reasoningTokens = (_e = (_d = value.response.usage.output_tokens_details) == null ? void 0 : _d.reasoning_tokens) != null ? _e : reasoningTokens;\n } else if (isResponseAnnotationAddedChunk(value)) {\n controller.enqueue({\n type: \"source\",\n source: {\n sourceType: \"url\",\n id: (_h = (_g = (_f = self.config).generateId) == null ? void 0 : _g.call(_f)) != null ? _h : generateId2(),\n url: value.annotation.url,\n title: value.annotation.title\n }\n });\n }\n },\n flush(controller) {\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: { promptTokens, completionTokens },\n ...(cachedPromptTokens != null || reasoningTokens != null) && {\n providerMetadata: {\n openai: {\n responseId,\n cachedPromptTokens,\n reasoningTokens\n }\n }\n }\n });\n }\n })\n ),\n rawCall: {\n rawPrompt: void 0,\n rawSettings: {}\n },\n rawResponse: { headers: responseHeaders },\n request: { body: JSON.stringify(body) },\n warnings\n };\n }\n};\nvar usageSchema = z7.object({\n input_tokens: z7.number(),\n input_tokens_details: z7.object({ cached_tokens: z7.number().nullish() }).nullish(),\n output_tokens: z7.number(),\n output_tokens_details: z7.object({ reasoning_tokens: z7.number().nullish() }).nullish()\n});\nvar textDeltaChunkSchema = z7.object({\n type: z7.literal(\"response.output_text.delta\"),\n delta: z7.string()\n});\nvar responseFinishedChunkSchema = z7.object({\n type: z7.enum([\"response.completed\", \"response.incomplete\"]),\n response: z7.object({\n incomplete_details: z7.object({ reason: z7.string() }).nullish(),\n usage: usageSchema\n })\n});\nvar responseCreatedChunkSchema = z7.object({\n type: z7.literal(\"response.created\"),\n response: z7.object({\n id: z7.string(),\n created_at: z7.number(),\n model: z7.string()\n })\n});\nvar responseOutputItemDoneSchema = z7.object({\n type: z7.literal(\"response.output_item.done\"),\n output_index: z7.number(),\n item: z7.discriminatedUnion(\"type\", [\n z7.object({\n type: z7.literal(\"message\")\n }),\n z7.object({\n type: z7.literal(\"function_call\"),\n id: z7.string(),\n call_id: z7.string(),\n name: z7.string(),\n arguments: z7.string(),\n status: z7.literal(\"completed\")\n })\n ])\n});\nvar responseFunctionCallArgumentsDeltaSchema = z7.object({\n type: z7.literal(\"response.function_call_arguments.delta\"),\n item_id: z7.string(),\n output_index: z7.number(),\n delta: z7.string()\n});\nvar responseOutputItemAddedSchema = z7.object({\n type: z7.literal(\"response.output_item.added\"),\n output_index: z7.number(),\n item: z7.discriminatedUnion(\"type\", [\n z7.object({\n type: z7.literal(\"message\")\n }),\n z7.object({\n type: z7.literal(\"function_call\"),\n id: z7.string(),\n call_id: z7.string(),\n name: z7.string(),\n arguments: z7.string()\n })\n ])\n});\nvar responseAnnotationAddedSchema = z7.object({\n type: z7.literal(\"response.output_text.annotation.added\"),\n annotation: z7.object({\n type: z7.literal(\"url_citation\"),\n url: z7.string(),\n title: z7.string()\n })\n});\nvar responseReasoningSummaryTextDeltaSchema = z7.object({\n type: z7.literal(\"response.reasoning_summary_text.delta\"),\n item_id: z7.string(),\n output_index: z7.number(),\n summary_index: z7.number(),\n delta: z7.string()\n});\nvar openaiResponsesChunkSchema = z7.union([\n textDeltaChunkSchema,\n responseFinishedChunkSchema,\n responseCreatedChunkSchema,\n responseOutputItemDoneSchema,\n responseFunctionCallArgumentsDeltaSchema,\n responseOutputItemAddedSchema,\n responseAnnotationAddedSchema,\n responseReasoningSummaryTextDeltaSchema,\n z7.object({ type: z7.string() }).passthrough()\n // fallback for unknown chunks\n]);\nfunction isTextDeltaChunk(chunk) {\n return chunk.type === \"response.output_text.delta\";\n}\nfunction isResponseOutputItemDoneChunk(chunk) {\n return chunk.type === \"response.output_item.done\";\n}\nfunction isResponseFinishedChunk(chunk) {\n return chunk.type === \"response.completed\" || chunk.type === \"response.incomplete\";\n}\nfunction isResponseCreatedChunk(chunk) {\n return chunk.type === \"response.created\";\n}\nfunction isResponseFunctionCallArgumentsDeltaChunk(chunk) {\n return chunk.type === \"response.function_call_arguments.delta\";\n}\nfunction isResponseOutputItemAddedChunk(chunk) {\n return chunk.type === \"response.output_item.added\";\n}\nfunction isResponseAnnotationAddedChunk(chunk) {\n return chunk.type === \"response.output_text.annotation.added\";\n}\nfunction isResponseReasoningSummaryTextDeltaChunk(chunk) {\n return chunk.type === \"response.reasoning_summary_text.delta\";\n}\nfunction getResponsesModelConfig(modelId) {\n if (modelId.startsWith(\"o\")) {\n if (modelId.startsWith(\"o1-mini\") || modelId.startsWith(\"o1-preview\")) {\n return {\n isReasoningModel: true,\n systemMessageMode: \"remove\",\n requiredAutoTruncation: false\n };\n }\n return {\n isReasoningModel: true,\n systemMessageMode: \"developer\",\n requiredAutoTruncation: false\n };\n }\n return {\n isReasoningModel: false,\n systemMessageMode: \"system\",\n requiredAutoTruncation: false\n };\n}\nvar openaiResponsesProviderOptionsSchema = z7.object({\n metadata: z7.any().nullish(),\n parallelToolCalls: z7.boolean().nullish(),\n previousResponseId: z7.string().nullish(),\n store: z7.boolean().nullish(),\n user: z7.string().nullish(),\n reasoningEffort: z7.string().nullish(),\n strictSchemas: z7.boolean().nullish(),\n instructions: z7.string().nullish(),\n reasoningSummary: z7.string().nullish()\n});\n\n// src/openai-tools.ts\nimport { z as z8 } from \"zod\";\nvar WebSearchPreviewParameters = z8.object({});\nfunction webSearchPreviewTool({\n searchContextSize,\n userLocation\n} = {}) {\n return {\n type: \"provider-defined\",\n id: \"openai.web_search_preview\",\n args: {\n searchContextSize,\n userLocation\n },\n parameters: WebSearchPreviewParameters\n };\n}\nvar openaiTools = {\n webSearchPreview: webSearchPreviewTool\n};\n\n// src/openai-speech-model.ts\nimport {\n combineHeaders as combineHeaders7,\n createBinaryResponseHandler,\n parseProviderOptions as parseProviderOptions3,\n postJsonToApi as postJsonToApi6\n} from \"@ai-sdk/provider-utils\";\nimport { z as z9 } from \"zod\";\nvar OpenAIProviderOptionsSchema = z9.object({\n instructions: z9.string().nullish(),\n speed: z9.number().min(0.25).max(4).default(1).nullish()\n});\nvar OpenAISpeechModel = class {\n constructor(modelId, config) {\n this.modelId = modelId;\n this.config = config;\n this.specificationVersion = \"v1\";\n }\n get provider() {\n return this.config.provider;\n }\n getArgs({\n text,\n voice = \"alloy\",\n outputFormat = \"mp3\",\n speed,\n instructions,\n providerOptions\n }) {\n const warnings = [];\n const openAIOptions = parseProviderOptions3({\n provider: \"openai\",\n providerOptions,\n schema: OpenAIProviderOptionsSchema\n });\n const requestBody = {\n model: this.modelId,\n input: text,\n voice,\n response_format: \"mp3\",\n speed,\n instructions\n };\n if (outputFormat) {\n if ([\"mp3\", \"opus\", \"aac\", \"flac\", \"wav\", \"pcm\"].includes(outputFormat)) {\n requestBody.response_format = outputFormat;\n } else {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"outputFormat\",\n details: `Unsupported output format: ${outputFormat}. Using mp3 instead.`\n });\n }\n }\n if (openAIOptions) {\n const speechModelOptions = {};\n for (const key in speechModelOptions) {\n const value = speechModelOptions[key];\n if (value !== void 0) {\n requestBody[key] = value;\n }\n }\n }\n return {\n requestBody,\n warnings\n };\n }\n async doGenerate(options) {\n var _a, _b, _c;\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n const { requestBody, warnings } = this.getArgs(options);\n const {\n value: audio,\n responseHeaders,\n rawValue: rawResponse\n } = await postJsonToApi6({\n url: this.config.url({\n path: \"/audio/speech\",\n modelId: this.modelId\n }),\n headers: combineHeaders7(this.config.headers(), options.headers),\n body: requestBody,\n failedResponseHandler: openaiFailedResponseHandler,\n successfulResponseHandler: createBinaryResponseHandler(),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n return {\n audio,\n warnings,\n request: {\n body: JSON.stringify(requestBody)\n },\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n body: rawResponse\n }\n };\n }\n};\n\n// src/openai-provider.ts\nfunction createOpenAI(options = {}) {\n var _a, _b, _c;\n const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : \"https://api.openai.com/v1\";\n const compatibility = (_b = options.compatibility) != null ? _b : \"compatible\";\n const providerName = (_c = options.name) != null ? _c : \"openai\";\n const getHeaders = () => ({\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"OPENAI_API_KEY\",\n description: \"OpenAI\"\n })}`,\n \"OpenAI-Organization\": options.organization,\n \"OpenAI-Project\": options.project,\n ...options.headers\n });\n const createChatModel = (modelId, settings = {}) => new OpenAIChatLanguageModel(modelId, settings, {\n provider: `${providerName}.chat`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n compatibility,\n fetch: options.fetch\n });\n const createCompletionModel = (modelId, settings = {}) => new OpenAICompletionLanguageModel(modelId, settings, {\n provider: `${providerName}.completion`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n compatibility,\n fetch: options.fetch\n });\n const createEmbeddingModel = (modelId, settings = {}) => new OpenAIEmbeddingModel(modelId, settings, {\n provider: `${providerName}.embedding`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createImageModel = (modelId, settings = {}) => new OpenAIImageModel(modelId, settings, {\n provider: `${providerName}.image`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createTranscriptionModel = (modelId) => new OpenAITranscriptionModel(modelId, {\n provider: `${providerName}.transcription`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createSpeechModel = (modelId) => new OpenAISpeechModel(modelId, {\n provider: `${providerName}.speech`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createLanguageModel = (modelId, settings) => {\n if (new.target) {\n throw new Error(\n \"The OpenAI model function cannot be called with the new keyword.\"\n );\n }\n if (modelId === \"gpt-3.5-turbo-instruct\") {\n return createCompletionModel(\n modelId,\n settings\n );\n }\n return createChatModel(modelId, settings);\n };\n const createResponsesModel = (modelId) => {\n return new OpenAIResponsesLanguageModel(modelId, {\n provider: `${providerName}.responses`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n };\n const provider = function(modelId, settings) {\n return createLanguageModel(modelId, settings);\n };\n provider.languageModel = createLanguageModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.responses = createResponsesModel;\n provider.embedding = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.transcription = createTranscriptionModel;\n provider.transcriptionModel = createTranscriptionModel;\n provider.speech = createSpeechModel;\n provider.speechModel = createSpeechModel;\n provider.tools = openaiTools;\n return provider;\n}\nvar openai = createOpenAI({\n compatibility: \"strict\"\n // strict for OpenAI API\n});\nexport {\n createOpenAI,\n openai\n};\n//# sourceMappingURL=index.mjs.map",null,"// src/anthropic-provider.ts\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport {\n loadApiKey,\n withoutTrailingSlash\n} from \"@ai-sdk/provider-utils\";\n\n// src/anthropic-messages-language-model.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError3\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi,\n resolve\n} from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod\";\n\n// src/anthropic-error.ts\nimport { createJsonErrorResponseHandler } from \"@ai-sdk/provider-utils\";\nimport { z } from \"zod\";\nvar anthropicErrorDataSchema = z.object({\n type: z.literal(\"error\"),\n error: z.object({\n type: z.string(),\n message: z.string()\n })\n});\nvar anthropicFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: anthropicErrorDataSchema,\n errorToMessage: (data) => data.error.message\n});\n\n// src/anthropic-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nfunction prepareTools(mode) {\n var _a;\n const tools = ((_a = mode.tools) == null ? void 0 : _a.length) ? mode.tools : void 0;\n const toolWarnings = [];\n const betas = /* @__PURE__ */ new Set();\n if (tools == null) {\n return { tools: void 0, tool_choice: void 0, toolWarnings, betas };\n }\n const anthropicTools2 = [];\n for (const tool of tools) {\n switch (tool.type) {\n case \"function\":\n anthropicTools2.push({\n name: tool.name,\n description: tool.description,\n input_schema: tool.parameters\n });\n break;\n case \"provider-defined\":\n switch (tool.id) {\n case \"anthropic.computer_20250124\":\n betas.add(\"computer-use-2025-01-24\");\n anthropicTools2.push({\n name: tool.name,\n type: \"computer_20250124\",\n display_width_px: tool.args.displayWidthPx,\n display_height_px: tool.args.displayHeightPx,\n display_number: tool.args.displayNumber\n });\n break;\n case \"anthropic.computer_20241022\":\n betas.add(\"computer-use-2024-10-22\");\n anthropicTools2.push({\n name: tool.name,\n type: \"computer_20241022\",\n display_width_px: tool.args.displayWidthPx,\n display_height_px: tool.args.displayHeightPx,\n display_number: tool.args.displayNumber\n });\n break;\n case \"anthropic.text_editor_20250124\":\n betas.add(\"computer-use-2025-01-24\");\n anthropicTools2.push({\n name: tool.name,\n type: \"text_editor_20250124\"\n });\n break;\n case \"anthropic.text_editor_20241022\":\n betas.add(\"computer-use-2024-10-22\");\n anthropicTools2.push({\n name: tool.name,\n type: \"text_editor_20241022\"\n });\n break;\n case \"anthropic.bash_20250124\":\n betas.add(\"computer-use-2025-01-24\");\n anthropicTools2.push({\n name: tool.name,\n type: \"bash_20250124\"\n });\n break;\n case \"anthropic.bash_20241022\":\n betas.add(\"computer-use-2024-10-22\");\n anthropicTools2.push({\n name: tool.name,\n type: \"bash_20241022\"\n });\n break;\n default:\n toolWarnings.push({ type: \"unsupported-tool\", tool });\n break;\n }\n break;\n default:\n toolWarnings.push({ type: \"unsupported-tool\", tool });\n break;\n }\n }\n const toolChoice = mode.toolChoice;\n if (toolChoice == null) {\n return {\n tools: anthropicTools2,\n tool_choice: void 0,\n toolWarnings,\n betas\n };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n return {\n tools: anthropicTools2,\n tool_choice: { type: \"auto\" },\n toolWarnings,\n betas\n };\n case \"required\":\n return {\n tools: anthropicTools2,\n tool_choice: { type: \"any\" },\n toolWarnings,\n betas\n };\n case \"none\":\n return { tools: void 0, tool_choice: void 0, toolWarnings, betas };\n case \"tool\":\n return {\n tools: anthropicTools2,\n tool_choice: { type: \"tool\", name: toolChoice.toolName },\n toolWarnings,\n betas\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError({\n functionality: `Unsupported tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/convert-to-anthropic-messages-prompt.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nimport { convertUint8ArrayToBase64 } from \"@ai-sdk/provider-utils\";\nfunction convertToAnthropicMessagesPrompt({\n prompt,\n sendReasoning,\n warnings\n}) {\n var _a, _b, _c, _d;\n const betas = /* @__PURE__ */ new Set();\n const blocks = groupIntoBlocks(prompt);\n let system = void 0;\n const messages = [];\n function getCacheControl(providerMetadata) {\n var _a2;\n const anthropic2 = providerMetadata == null ? void 0 : providerMetadata.anthropic;\n const cacheControlValue = (_a2 = anthropic2 == null ? void 0 : anthropic2.cacheControl) != null ? _a2 : anthropic2 == null ? void 0 : anthropic2.cache_control;\n return cacheControlValue;\n }\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i];\n const isLastBlock = i === blocks.length - 1;\n const type = block.type;\n switch (type) {\n case \"system\": {\n if (system != null) {\n throw new UnsupportedFunctionalityError2({\n functionality: \"Multiple system messages that are separated by user/assistant messages\"\n });\n }\n system = block.messages.map(({ content, providerMetadata }) => ({\n type: \"text\",\n text: content,\n cache_control: getCacheControl(providerMetadata)\n }));\n break;\n }\n case \"user\": {\n const anthropicContent = [];\n for (const message of block.messages) {\n const { role, content } = message;\n switch (role) {\n case \"user\": {\n for (let j = 0; j < content.length; j++) {\n const part = content[j];\n const isLastPart = j === content.length - 1;\n const cacheControl = (_a = getCacheControl(part.providerMetadata)) != null ? _a : isLastPart ? getCacheControl(message.providerMetadata) : void 0;\n switch (part.type) {\n case \"text\": {\n anthropicContent.push({\n type: \"text\",\n text: part.text,\n cache_control: cacheControl\n });\n break;\n }\n case \"image\": {\n anthropicContent.push({\n type: \"image\",\n source: part.image instanceof URL ? {\n type: \"url\",\n url: part.image.toString()\n } : {\n type: \"base64\",\n media_type: (_b = part.mimeType) != null ? _b : \"image/jpeg\",\n data: convertUint8ArrayToBase64(part.image)\n },\n cache_control: cacheControl\n });\n break;\n }\n case \"file\": {\n if (part.mimeType !== \"application/pdf\") {\n throw new UnsupportedFunctionalityError2({\n functionality: \"Non-PDF files in user messages\"\n });\n }\n betas.add(\"pdfs-2024-09-25\");\n anthropicContent.push({\n type: \"document\",\n source: part.data instanceof URL ? {\n type: \"url\",\n url: part.data.toString()\n } : {\n type: \"base64\",\n media_type: \"application/pdf\",\n data: part.data\n },\n cache_control: cacheControl\n });\n break;\n }\n }\n }\n break;\n }\n case \"tool\": {\n for (let i2 = 0; i2 < content.length; i2++) {\n const part = content[i2];\n const isLastPart = i2 === content.length - 1;\n const cacheControl = (_c = getCacheControl(part.providerMetadata)) != null ? _c : isLastPart ? getCacheControl(message.providerMetadata) : void 0;\n const toolResultContent = part.content != null ? part.content.map((part2) => {\n var _a2;\n switch (part2.type) {\n case \"text\":\n return {\n type: \"text\",\n text: part2.text,\n cache_control: void 0\n };\n case \"image\":\n return {\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: (_a2 = part2.mimeType) != null ? _a2 : \"image/jpeg\",\n data: part2.data\n },\n cache_control: void 0\n };\n }\n }) : JSON.stringify(part.result);\n anthropicContent.push({\n type: \"tool_result\",\n tool_use_id: part.toolCallId,\n content: toolResultContent,\n is_error: part.isError,\n cache_control: cacheControl\n });\n }\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n messages.push({ role: \"user\", content: anthropicContent });\n break;\n }\n case \"assistant\": {\n const anthropicContent = [];\n for (let j = 0; j < block.messages.length; j++) {\n const message = block.messages[j];\n const isLastMessage = j === block.messages.length - 1;\n const { content } = message;\n for (let k = 0; k < content.length; k++) {\n const part = content[k];\n const isLastContentPart = k === content.length - 1;\n const cacheControl = (_d = getCacheControl(part.providerMetadata)) != null ? _d : isLastContentPart ? getCacheControl(message.providerMetadata) : void 0;\n switch (part.type) {\n case \"text\": {\n anthropicContent.push({\n type: \"text\",\n text: (\n // trim the last text part if it's the last message in the block\n // because Anthropic does not allow trailing whitespace\n // in pre-filled assistant responses\n isLastBlock && isLastMessage && isLastContentPart ? part.text.trim() : part.text\n ),\n cache_control: cacheControl\n });\n break;\n }\n case \"reasoning\": {\n if (sendReasoning) {\n anthropicContent.push({\n type: \"thinking\",\n thinking: part.text,\n signature: part.signature,\n cache_control: cacheControl\n });\n } else {\n warnings.push({\n type: \"other\",\n message: \"sending reasoning content is disabled for this model\"\n });\n }\n break;\n }\n case \"redacted-reasoning\": {\n anthropicContent.push({\n type: \"redacted_thinking\",\n data: part.data,\n cache_control: cacheControl\n });\n break;\n }\n case \"tool-call\": {\n anthropicContent.push({\n type: \"tool_use\",\n id: part.toolCallId,\n name: part.toolName,\n input: part.args,\n cache_control: cacheControl\n });\n break;\n }\n }\n }\n }\n messages.push({ role: \"assistant\", content: anthropicContent });\n break;\n }\n default: {\n const _exhaustiveCheck = type;\n throw new Error(`Unsupported type: ${_exhaustiveCheck}`);\n }\n }\n }\n return {\n prompt: { system, messages },\n betas\n };\n}\nfunction groupIntoBlocks(prompt) {\n const blocks = [];\n let currentBlock = void 0;\n for (const message of prompt) {\n const { role } = message;\n switch (role) {\n case \"system\": {\n if ((currentBlock == null ? void 0 : currentBlock.type) !== \"system\") {\n currentBlock = { type: \"system\", messages: [] };\n blocks.push(currentBlock);\n }\n currentBlock.messages.push(message);\n break;\n }\n case \"assistant\": {\n if ((currentBlock == null ? void 0 : currentBlock.type) !== \"assistant\") {\n currentBlock = { type: \"assistant\", messages: [] };\n blocks.push(currentBlock);\n }\n currentBlock.messages.push(message);\n break;\n }\n case \"user\": {\n if ((currentBlock == null ? void 0 : currentBlock.type) !== \"user\") {\n currentBlock = { type: \"user\", messages: [] };\n blocks.push(currentBlock);\n }\n currentBlock.messages.push(message);\n break;\n }\n case \"tool\": {\n if ((currentBlock == null ? void 0 : currentBlock.type) !== \"user\") {\n currentBlock = { type: \"user\", messages: [] };\n blocks.push(currentBlock);\n }\n currentBlock.messages.push(message);\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return blocks;\n}\n\n// src/map-anthropic-stop-reason.ts\nfunction mapAnthropicStopReason(finishReason) {\n switch (finishReason) {\n case \"end_turn\":\n case \"stop_sequence\":\n return \"stop\";\n case \"tool_use\":\n return \"tool-calls\";\n case \"max_tokens\":\n return \"length\";\n default:\n return \"unknown\";\n }\n}\n\n// src/anthropic-messages-language-model.ts\nvar AnthropicMessagesLanguageModel = class {\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n this.defaultObjectGenerationMode = \"tool\";\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n }\n supportsUrl(url) {\n return url.protocol === \"https:\";\n }\n get provider() {\n return this.config.provider;\n }\n get supportsImageUrls() {\n return this.config.supportsImageUrls;\n }\n async getArgs({\n mode,\n prompt,\n maxTokens = 4096,\n // 4096: max model output tokens TODO update default in v5\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n providerMetadata: providerOptions\n }) {\n var _a, _b, _c;\n const type = mode.type;\n const warnings = [];\n if (frequencyPenalty != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"frequencyPenalty\"\n });\n }\n if (presencePenalty != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"presencePenalty\"\n });\n }\n if (seed != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"seed\"\n });\n }\n if (responseFormat != null && responseFormat.type !== \"text\") {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"responseFormat\",\n details: \"JSON response format is not supported.\"\n });\n }\n const { prompt: messagesPrompt, betas: messagesBetas } = convertToAnthropicMessagesPrompt({\n prompt,\n sendReasoning: (_a = this.settings.sendReasoning) != null ? _a : true,\n warnings\n });\n const anthropicOptions = parseProviderOptions({\n provider: \"anthropic\",\n providerOptions,\n schema: anthropicProviderOptionsSchema\n });\n const isThinking = ((_b = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _b.type) === \"enabled\";\n const thinkingBudget = (_c = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _c.budgetTokens;\n const baseArgs = {\n // model id:\n model: this.modelId,\n // standardized settings:\n max_tokens: maxTokens,\n temperature,\n top_k: topK,\n top_p: topP,\n stop_sequences: stopSequences,\n // provider specific settings:\n ...isThinking && {\n thinking: { type: \"enabled\", budget_tokens: thinkingBudget }\n },\n // prompt:\n system: messagesPrompt.system,\n messages: messagesPrompt.messages\n };\n if (isThinking) {\n if (thinkingBudget == null) {\n throw new UnsupportedFunctionalityError3({\n functionality: \"thinking requires a budget\"\n });\n }\n if (baseArgs.temperature != null) {\n baseArgs.temperature = void 0;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"temperature\",\n details: \"temperature is not supported when thinking is enabled\"\n });\n }\n if (topK != null) {\n baseArgs.top_k = void 0;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"topK\",\n details: \"topK is not supported when thinking is enabled\"\n });\n }\n if (topP != null) {\n baseArgs.top_p = void 0;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"topP\",\n details: \"topP is not supported when thinking is enabled\"\n });\n }\n baseArgs.max_tokens = maxTokens + thinkingBudget;\n }\n switch (type) {\n case \"regular\": {\n const {\n tools,\n tool_choice,\n toolWarnings,\n betas: toolsBetas\n } = prepareTools(mode);\n return {\n args: { ...baseArgs, tools, tool_choice },\n warnings: [...warnings, ...toolWarnings],\n betas: /* @__PURE__ */ new Set([...messagesBetas, ...toolsBetas])\n };\n }\n case \"object-json\": {\n throw new UnsupportedFunctionalityError3({\n functionality: \"json-mode object generation\"\n });\n }\n case \"object-tool\": {\n const { name, description, parameters } = mode.tool;\n return {\n args: {\n ...baseArgs,\n tools: [{ name, description, input_schema: parameters }],\n tool_choice: { type: \"tool\", name }\n },\n warnings,\n betas: messagesBetas\n };\n }\n default: {\n const _exhaustiveCheck = type;\n throw new Error(`Unsupported type: ${_exhaustiveCheck}`);\n }\n }\n }\n async getHeaders({\n betas,\n headers\n }) {\n return combineHeaders(\n await resolve(this.config.headers),\n betas.size > 0 ? { \"anthropic-beta\": Array.from(betas).join(\",\") } : {},\n headers\n );\n }\n buildRequestUrl(isStreaming) {\n var _a, _b, _c;\n return (_c = (_b = (_a = this.config).buildRequestUrl) == null ? void 0 : _b.call(_a, this.config.baseURL, isStreaming)) != null ? _c : `${this.config.baseURL}/messages`;\n }\n transformRequestBody(args) {\n var _a, _b, _c;\n return (_c = (_b = (_a = this.config).transformRequestBody) == null ? void 0 : _b.call(_a, args)) != null ? _c : args;\n }\n async doGenerate(options) {\n var _a, _b, _c, _d;\n const { args, warnings, betas } = await this.getArgs(options);\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi({\n url: this.buildRequestUrl(false),\n headers: await this.getHeaders({ betas, headers: options.headers }),\n body: this.transformRequestBody(args),\n failedResponseHandler: anthropicFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n anthropicMessagesResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { messages: rawPrompt, ...rawSettings } = args;\n let text = \"\";\n for (const content of response.content) {\n if (content.type === \"text\") {\n text += content.text;\n }\n }\n let toolCalls = void 0;\n if (response.content.some((content) => content.type === \"tool_use\")) {\n toolCalls = [];\n for (const content of response.content) {\n if (content.type === \"tool_use\") {\n toolCalls.push({\n toolCallType: \"function\",\n toolCallId: content.id,\n toolName: content.name,\n args: JSON.stringify(content.input)\n });\n }\n }\n }\n const reasoning = response.content.filter(\n (content) => content.type === \"redacted_thinking\" || content.type === \"thinking\"\n ).map(\n (content) => content.type === \"thinking\" ? {\n type: \"text\",\n text: content.thinking,\n signature: content.signature\n } : {\n type: \"redacted\",\n data: content.data\n }\n );\n return {\n text,\n reasoning: reasoning.length > 0 ? reasoning : void 0,\n toolCalls,\n finishReason: mapAnthropicStopReason(response.stop_reason),\n usage: {\n promptTokens: response.usage.input_tokens,\n completionTokens: response.usage.output_tokens\n },\n rawCall: { rawPrompt, rawSettings },\n rawResponse: {\n headers: responseHeaders,\n body: rawResponse\n },\n response: {\n id: (_a = response.id) != null ? _a : void 0,\n modelId: (_b = response.model) != null ? _b : void 0\n },\n warnings,\n providerMetadata: {\n anthropic: {\n cacheCreationInputTokens: (_c = response.usage.cache_creation_input_tokens) != null ? _c : null,\n cacheReadInputTokens: (_d = response.usage.cache_read_input_tokens) != null ? _d : null\n }\n },\n request: { body: JSON.stringify(args) }\n };\n }\n async doStream(options) {\n const { args, warnings, betas } = await this.getArgs(options);\n const body = { ...args, stream: true };\n const { responseHeaders, value: response } = await postJsonToApi({\n url: this.buildRequestUrl(true),\n headers: await this.getHeaders({ betas, headers: options.headers }),\n body: this.transformRequestBody(body),\n failedResponseHandler: anthropicFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n anthropicMessagesChunkSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { messages: rawPrompt, ...rawSettings } = args;\n let finishReason = \"unknown\";\n const usage = {\n promptTokens: Number.NaN,\n completionTokens: Number.NaN\n };\n const toolCallContentBlocks = {};\n let providerMetadata = void 0;\n let blockType = void 0;\n return {\n stream: response.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n var _a, _b, _c, _d;\n if (!chunk.success) {\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n switch (value.type) {\n case \"ping\": {\n return;\n }\n case \"content_block_start\": {\n const contentBlockType = value.content_block.type;\n blockType = contentBlockType;\n switch (contentBlockType) {\n case \"text\":\n case \"thinking\": {\n return;\n }\n case \"redacted_thinking\": {\n controller.enqueue({\n type: \"redacted-reasoning\",\n data: value.content_block.data\n });\n return;\n }\n case \"tool_use\": {\n toolCallContentBlocks[value.index] = {\n toolCallId: value.content_block.id,\n toolName: value.content_block.name,\n jsonText: \"\"\n };\n return;\n }\n default: {\n const _exhaustiveCheck = contentBlockType;\n throw new Error(\n `Unsupported content block type: ${_exhaustiveCheck}`\n );\n }\n }\n }\n case \"content_block_stop\": {\n if (toolCallContentBlocks[value.index] != null) {\n const contentBlock = toolCallContentBlocks[value.index];\n controller.enqueue({\n type: \"tool-call\",\n toolCallType: \"function\",\n toolCallId: contentBlock.toolCallId,\n toolName: contentBlock.toolName,\n args: contentBlock.jsonText\n });\n delete toolCallContentBlocks[value.index];\n }\n blockType = void 0;\n return;\n }\n case \"content_block_delta\": {\n const deltaType = value.delta.type;\n switch (deltaType) {\n case \"text_delta\": {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: value.delta.text\n });\n return;\n }\n case \"thinking_delta\": {\n controller.enqueue({\n type: \"reasoning\",\n textDelta: value.delta.thinking\n });\n return;\n }\n case \"signature_delta\": {\n if (blockType === \"thinking\") {\n controller.enqueue({\n type: \"reasoning-signature\",\n signature: value.delta.signature\n });\n }\n return;\n }\n case \"input_json_delta\": {\n const contentBlock = toolCallContentBlocks[value.index];\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallType: \"function\",\n toolCallId: contentBlock.toolCallId,\n toolName: contentBlock.toolName,\n argsTextDelta: value.delta.partial_json\n });\n contentBlock.jsonText += value.delta.partial_json;\n return;\n }\n default: {\n const _exhaustiveCheck = deltaType;\n throw new Error(\n `Unsupported delta type: ${_exhaustiveCheck}`\n );\n }\n }\n }\n case \"message_start\": {\n usage.promptTokens = value.message.usage.input_tokens;\n usage.completionTokens = value.message.usage.output_tokens;\n providerMetadata = {\n anthropic: {\n cacheCreationInputTokens: (_a = value.message.usage.cache_creation_input_tokens) != null ? _a : null,\n cacheReadInputTokens: (_b = value.message.usage.cache_read_input_tokens) != null ? _b : null\n }\n };\n controller.enqueue({\n type: \"response-metadata\",\n id: (_c = value.message.id) != null ? _c : void 0,\n modelId: (_d = value.message.model) != null ? _d : void 0\n });\n return;\n }\n case \"message_delta\": {\n usage.completionTokens = value.usage.output_tokens;\n finishReason = mapAnthropicStopReason(value.delta.stop_reason);\n return;\n }\n case \"message_stop\": {\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage,\n providerMetadata\n });\n return;\n }\n case \"error\": {\n controller.enqueue({ type: \"error\", error: value.error });\n return;\n }\n default: {\n const _exhaustiveCheck = value;\n throw new Error(`Unsupported chunk type: ${_exhaustiveCheck}`);\n }\n }\n }\n })\n ),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings,\n request: { body: JSON.stringify(body) }\n };\n }\n};\nvar anthropicMessagesResponseSchema = z2.object({\n type: z2.literal(\"message\"),\n id: z2.string().nullish(),\n model: z2.string().nullish(),\n content: z2.array(\n z2.discriminatedUnion(\"type\", [\n z2.object({\n type: z2.literal(\"text\"),\n text: z2.string()\n }),\n z2.object({\n type: z2.literal(\"thinking\"),\n thinking: z2.string(),\n signature: z2.string()\n }),\n z2.object({\n type: z2.literal(\"redacted_thinking\"),\n data: z2.string()\n }),\n z2.object({\n type: z2.literal(\"tool_use\"),\n id: z2.string(),\n name: z2.string(),\n input: z2.unknown()\n })\n ])\n ),\n stop_reason: z2.string().nullish(),\n usage: z2.object({\n input_tokens: z2.number(),\n output_tokens: z2.number(),\n cache_creation_input_tokens: z2.number().nullish(),\n cache_read_input_tokens: z2.number().nullish()\n })\n});\nvar anthropicMessagesChunkSchema = z2.discriminatedUnion(\"type\", [\n z2.object({\n type: z2.literal(\"message_start\"),\n message: z2.object({\n id: z2.string().nullish(),\n model: z2.string().nullish(),\n usage: z2.object({\n input_tokens: z2.number(),\n output_tokens: z2.number(),\n cache_creation_input_tokens: z2.number().nullish(),\n cache_read_input_tokens: z2.number().nullish()\n })\n })\n }),\n z2.object({\n type: z2.literal(\"content_block_start\"),\n index: z2.number(),\n content_block: z2.discriminatedUnion(\"type\", [\n z2.object({\n type: z2.literal(\"text\"),\n text: z2.string()\n }),\n z2.object({\n type: z2.literal(\"thinking\"),\n thinking: z2.string()\n }),\n z2.object({\n type: z2.literal(\"tool_use\"),\n id: z2.string(),\n name: z2.string()\n }),\n z2.object({\n type: z2.literal(\"redacted_thinking\"),\n data: z2.string()\n })\n ])\n }),\n z2.object({\n type: z2.literal(\"content_block_delta\"),\n index: z2.number(),\n delta: z2.discriminatedUnion(\"type\", [\n z2.object({\n type: z2.literal(\"input_json_delta\"),\n partial_json: z2.string()\n }),\n z2.object({\n type: z2.literal(\"text_delta\"),\n text: z2.string()\n }),\n z2.object({\n type: z2.literal(\"thinking_delta\"),\n thinking: z2.string()\n }),\n z2.object({\n type: z2.literal(\"signature_delta\"),\n signature: z2.string()\n })\n ])\n }),\n z2.object({\n type: z2.literal(\"content_block_stop\"),\n index: z2.number()\n }),\n z2.object({\n type: z2.literal(\"error\"),\n error: z2.object({\n type: z2.string(),\n message: z2.string()\n })\n }),\n z2.object({\n type: z2.literal(\"message_delta\"),\n delta: z2.object({ stop_reason: z2.string().nullish() }),\n usage: z2.object({ output_tokens: z2.number() })\n }),\n z2.object({\n type: z2.literal(\"message_stop\")\n }),\n z2.object({\n type: z2.literal(\"ping\")\n })\n]);\nvar anthropicProviderOptionsSchema = z2.object({\n thinking: z2.object({\n type: z2.union([z2.literal(\"enabled\"), z2.literal(\"disabled\")]),\n budgetTokens: z2.number().optional()\n }).optional()\n});\n\n// src/anthropic-tools.ts\nimport { z as z3 } from \"zod\";\nvar Bash20241022Parameters = z3.object({\n command: z3.string(),\n restart: z3.boolean().optional()\n});\nfunction bashTool_20241022(options = {}) {\n return {\n type: \"provider-defined\",\n id: \"anthropic.bash_20241022\",\n args: {},\n parameters: Bash20241022Parameters,\n execute: options.execute,\n experimental_toToolResultContent: options.experimental_toToolResultContent\n };\n}\nvar Bash20250124Parameters = z3.object({\n command: z3.string(),\n restart: z3.boolean().optional()\n});\nfunction bashTool_20250124(options = {}) {\n return {\n type: \"provider-defined\",\n id: \"anthropic.bash_20250124\",\n args: {},\n parameters: Bash20250124Parameters,\n execute: options.execute,\n experimental_toToolResultContent: options.experimental_toToolResultContent\n };\n}\nvar TextEditor20241022Parameters = z3.object({\n command: z3.enum([\"view\", \"create\", \"str_replace\", \"insert\", \"undo_edit\"]),\n path: z3.string(),\n file_text: z3.string().optional(),\n insert_line: z3.number().int().optional(),\n new_str: z3.string().optional(),\n old_str: z3.string().optional(),\n view_range: z3.array(z3.number().int()).optional()\n});\nfunction textEditorTool_20241022(options = {}) {\n return {\n type: \"provider-defined\",\n id: \"anthropic.text_editor_20241022\",\n args: {},\n parameters: TextEditor20241022Parameters,\n execute: options.execute,\n experimental_toToolResultContent: options.experimental_toToolResultContent\n };\n}\nvar TextEditor20250124Parameters = z3.object({\n command: z3.enum([\"view\", \"create\", \"str_replace\", \"insert\", \"undo_edit\"]),\n path: z3.string(),\n file_text: z3.string().optional(),\n insert_line: z3.number().int().optional(),\n new_str: z3.string().optional(),\n old_str: z3.string().optional(),\n view_range: z3.array(z3.number().int()).optional()\n});\nfunction textEditorTool_20250124(options = {}) {\n return {\n type: \"provider-defined\",\n id: \"anthropic.text_editor_20250124\",\n args: {},\n parameters: TextEditor20250124Parameters,\n execute: options.execute,\n experimental_toToolResultContent: options.experimental_toToolResultContent\n };\n}\nvar Computer20241022Parameters = z3.object({\n action: z3.enum([\n \"key\",\n \"type\",\n \"mouse_move\",\n \"left_click\",\n \"left_click_drag\",\n \"right_click\",\n \"middle_click\",\n \"double_click\",\n \"screenshot\",\n \"cursor_position\"\n ]),\n coordinate: z3.array(z3.number().int()).optional(),\n text: z3.string().optional()\n});\nfunction computerTool_20241022(options) {\n return {\n type: \"provider-defined\",\n id: \"anthropic.computer_20241022\",\n args: {\n displayWidthPx: options.displayWidthPx,\n displayHeightPx: options.displayHeightPx,\n displayNumber: options.displayNumber\n },\n parameters: Computer20241022Parameters,\n execute: options.execute,\n experimental_toToolResultContent: options.experimental_toToolResultContent\n };\n}\nvar Computer20250124Parameters = z3.object({\n action: z3.enum([\n \"key\",\n \"hold_key\",\n \"type\",\n \"cursor_position\",\n \"mouse_move\",\n \"left_mouse_down\",\n \"left_mouse_up\",\n \"left_click\",\n \"left_click_drag\",\n \"right_click\",\n \"middle_click\",\n \"double_click\",\n \"triple_click\",\n \"scroll\",\n \"wait\",\n \"screenshot\"\n ]),\n coordinate: z3.tuple([z3.number().int(), z3.number().int()]).optional(),\n duration: z3.number().optional(),\n scroll_amount: z3.number().optional(),\n scroll_direction: z3.enum([\"up\", \"down\", \"left\", \"right\"]).optional(),\n start_coordinate: z3.tuple([z3.number().int(), z3.number().int()]).optional(),\n text: z3.string().optional()\n});\nfunction computerTool_20250124(options) {\n return {\n type: \"provider-defined\",\n id: \"anthropic.computer_20250124\",\n args: {\n displayWidthPx: options.displayWidthPx,\n displayHeightPx: options.displayHeightPx,\n displayNumber: options.displayNumber\n },\n parameters: Computer20250124Parameters,\n execute: options.execute,\n experimental_toToolResultContent: options.experimental_toToolResultContent\n };\n}\nvar anthropicTools = {\n bash_20241022: bashTool_20241022,\n bash_20250124: bashTool_20250124,\n textEditor_20241022: textEditorTool_20241022,\n textEditor_20250124: textEditorTool_20250124,\n computer_20241022: computerTool_20241022,\n computer_20250124: computerTool_20250124\n};\n\n// src/anthropic-provider.ts\nfunction createAnthropic(options = {}) {\n var _a;\n const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : \"https://api.anthropic.com/v1\";\n const getHeaders = () => ({\n \"anthropic-version\": \"2023-06-01\",\n \"x-api-key\": loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"ANTHROPIC_API_KEY\",\n description: \"Anthropic\"\n }),\n ...options.headers\n });\n const createChatModel = (modelId, settings = {}) => new AnthropicMessagesLanguageModel(modelId, settings, {\n provider: \"anthropic.messages\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n supportsImageUrls: true\n });\n const provider = function(modelId, settings) {\n if (new.target) {\n throw new Error(\n \"The Anthropic model function cannot be called with the new keyword.\"\n );\n }\n return createChatModel(modelId, settings);\n };\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.messages = createChatModel;\n provider.textEmbeddingModel = (modelId) => {\n throw new NoSuchModelError({ modelId, modelType: \"textEmbeddingModel\" });\n };\n provider.tools = anthropicTools;\n return provider;\n}\nvar anthropic = createAnthropic();\nexport {\n anthropic,\n createAnthropic\n};\n//# sourceMappingURL=index.mjs.map","// src/google-provider.ts\nimport {\n generateId,\n loadApiKey,\n withoutTrailingSlash\n} from \"@ai-sdk/provider-utils\";\n\n// src/google-generative-ai-language-model.ts\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi,\n resolve\n} from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod\";\n\n// src/convert-json-schema-to-openapi-schema.ts\nfunction convertJSONSchemaToOpenAPISchema(jsonSchema) {\n if (isEmptyObjectSchema(jsonSchema)) {\n return void 0;\n }\n if (typeof jsonSchema === \"boolean\") {\n return { type: \"boolean\", properties: {} };\n }\n const {\n type,\n description,\n required,\n properties,\n items,\n allOf,\n anyOf,\n oneOf,\n format,\n const: constValue,\n minLength,\n enum: enumValues\n } = jsonSchema;\n const result = {};\n if (description)\n result.description = description;\n if (required)\n result.required = required;\n if (format)\n result.format = format;\n if (constValue !== void 0) {\n result.enum = [constValue];\n }\n if (type) {\n if (Array.isArray(type)) {\n if (type.includes(\"null\")) {\n result.type = type.filter((t) => t !== \"null\")[0];\n result.nullable = true;\n } else {\n result.type = type;\n }\n } else if (type === \"null\") {\n result.type = \"null\";\n } else {\n result.type = type;\n }\n }\n if (enumValues !== void 0) {\n result.enum = enumValues;\n }\n if (properties != null) {\n result.properties = Object.entries(properties).reduce(\n (acc, [key, value]) => {\n acc[key] = convertJSONSchemaToOpenAPISchema(value);\n return acc;\n },\n {}\n );\n }\n if (items) {\n result.items = Array.isArray(items) ? items.map(convertJSONSchemaToOpenAPISchema) : convertJSONSchemaToOpenAPISchema(items);\n }\n if (allOf) {\n result.allOf = allOf.map(convertJSONSchemaToOpenAPISchema);\n }\n if (anyOf) {\n if (anyOf.some(\n (schema) => typeof schema === \"object\" && (schema == null ? void 0 : schema.type) === \"null\"\n )) {\n const nonNullSchemas = anyOf.filter(\n (schema) => !(typeof schema === \"object\" && (schema == null ? void 0 : schema.type) === \"null\")\n );\n if (nonNullSchemas.length === 1) {\n const converted = convertJSONSchemaToOpenAPISchema(nonNullSchemas[0]);\n if (typeof converted === \"object\") {\n result.nullable = true;\n Object.assign(result, converted);\n }\n } else {\n result.anyOf = nonNullSchemas.map(convertJSONSchemaToOpenAPISchema);\n result.nullable = true;\n }\n } else {\n result.anyOf = anyOf.map(convertJSONSchemaToOpenAPISchema);\n }\n }\n if (oneOf) {\n result.oneOf = oneOf.map(convertJSONSchemaToOpenAPISchema);\n }\n if (minLength !== void 0) {\n result.minLength = minLength;\n }\n return result;\n}\nfunction isEmptyObjectSchema(jsonSchema) {\n return jsonSchema != null && typeof jsonSchema === \"object\" && jsonSchema.type === \"object\" && (jsonSchema.properties == null || Object.keys(jsonSchema.properties).length === 0);\n}\n\n// src/convert-to-google-generative-ai-messages.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport { convertUint8ArrayToBase64 } from \"@ai-sdk/provider-utils\";\nfunction convertToGoogleGenerativeAIMessages(prompt) {\n var _a, _b;\n const systemInstructionParts = [];\n const contents = [];\n let systemMessagesAllowed = true;\n for (const { role, content } of prompt) {\n switch (role) {\n case \"system\": {\n if (!systemMessagesAllowed) {\n throw new UnsupportedFunctionalityError({\n functionality: \"system messages are only supported at the beginning of the conversation\"\n });\n }\n systemInstructionParts.push({ text: content });\n break;\n }\n case \"user\": {\n systemMessagesAllowed = false;\n const parts = [];\n for (const part of content) {\n switch (part.type) {\n case \"text\": {\n parts.push({ text: part.text });\n break;\n }\n case \"image\": {\n parts.push(\n part.image instanceof URL ? {\n fileData: {\n mimeType: (_a = part.mimeType) != null ? _a : \"image/jpeg\",\n fileUri: part.image.toString()\n }\n } : {\n inlineData: {\n mimeType: (_b = part.mimeType) != null ? _b : \"image/jpeg\",\n data: convertUint8ArrayToBase64(part.image)\n }\n }\n );\n break;\n }\n case \"file\": {\n parts.push(\n part.data instanceof URL ? {\n fileData: {\n mimeType: part.mimeType,\n fileUri: part.data.toString()\n }\n } : {\n inlineData: {\n mimeType: part.mimeType,\n data: part.data\n }\n }\n );\n break;\n }\n }\n }\n contents.push({ role: \"user\", parts });\n break;\n }\n case \"assistant\": {\n systemMessagesAllowed = false;\n contents.push({\n role: \"model\",\n parts: content.map((part) => {\n switch (part.type) {\n case \"text\": {\n return part.text.length === 0 ? void 0 : { text: part.text };\n }\n case \"file\": {\n if (part.mimeType !== \"image/png\") {\n throw new UnsupportedFunctionalityError({\n functionality: \"Only PNG images are supported in assistant messages\"\n });\n }\n if (part.data instanceof URL) {\n throw new UnsupportedFunctionalityError({\n functionality: \"File data URLs in assistant messages are not supported\"\n });\n }\n return {\n inlineData: {\n mimeType: part.mimeType,\n data: part.data\n }\n };\n }\n case \"tool-call\": {\n return {\n functionCall: {\n name: part.toolName,\n args: part.args\n }\n };\n }\n }\n }).filter((part) => part !== void 0)\n });\n break;\n }\n case \"tool\": {\n systemMessagesAllowed = false;\n contents.push({\n role: \"user\",\n parts: content.map((part) => ({\n functionResponse: {\n name: part.toolName,\n response: {\n name: part.toolName,\n content: part.result\n }\n }\n }))\n });\n break;\n }\n }\n }\n return {\n systemInstruction: systemInstructionParts.length > 0 ? { parts: systemInstructionParts } : void 0,\n contents\n };\n}\n\n// src/get-model-path.ts\nfunction getModelPath(modelId) {\n return modelId.includes(\"/\") ? modelId : `models/${modelId}`;\n}\n\n// src/google-error.ts\nimport { createJsonErrorResponseHandler } from \"@ai-sdk/provider-utils\";\nimport { z } from \"zod\";\nvar googleErrorDataSchema = z.object({\n error: z.object({\n code: z.number().nullable(),\n message: z.string(),\n status: z.string()\n })\n});\nvar googleFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: googleErrorDataSchema,\n errorToMessage: (data) => data.error.message\n});\n\n// src/google-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nfunction prepareTools(mode, useSearchGrounding, dynamicRetrievalConfig, modelId) {\n var _a, _b;\n const tools = ((_a = mode.tools) == null ? void 0 : _a.length) ? mode.tools : void 0;\n const toolWarnings = [];\n const isGemini2 = modelId.includes(\"gemini-2\");\n const supportsDynamicRetrieval = modelId.includes(\"gemini-1.5-flash\") && !modelId.includes(\"-8b\");\n if (useSearchGrounding) {\n return {\n tools: isGemini2 ? { googleSearch: {} } : {\n googleSearchRetrieval: !supportsDynamicRetrieval || !dynamicRetrievalConfig ? {} : { dynamicRetrievalConfig }\n },\n toolConfig: void 0,\n toolWarnings\n };\n }\n if (tools == null) {\n return { tools: void 0, toolConfig: void 0, toolWarnings };\n }\n const functionDeclarations = [];\n for (const tool of tools) {\n if (tool.type === \"provider-defined\") {\n toolWarnings.push({ type: \"unsupported-tool\", tool });\n } else {\n functionDeclarations.push({\n name: tool.name,\n description: (_b = tool.description) != null ? _b : \"\",\n parameters: convertJSONSchemaToOpenAPISchema(tool.parameters)\n });\n }\n }\n const toolChoice = mode.toolChoice;\n if (toolChoice == null) {\n return {\n tools: { functionDeclarations },\n toolConfig: void 0,\n toolWarnings\n };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n return {\n tools: { functionDeclarations },\n toolConfig: { functionCallingConfig: { mode: \"AUTO\" } },\n toolWarnings\n };\n case \"none\":\n return {\n tools: { functionDeclarations },\n toolConfig: { functionCallingConfig: { mode: \"NONE\" } },\n toolWarnings\n };\n case \"required\":\n return {\n tools: { functionDeclarations },\n toolConfig: { functionCallingConfig: { mode: \"ANY\" } },\n toolWarnings\n };\n case \"tool\":\n return {\n tools: { functionDeclarations },\n toolConfig: {\n functionCallingConfig: {\n mode: \"ANY\",\n allowedFunctionNames: [toolChoice.toolName]\n }\n },\n toolWarnings\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError2({\n functionality: `Unsupported tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/map-google-generative-ai-finish-reason.ts\nfunction mapGoogleGenerativeAIFinishReason({\n finishReason,\n hasToolCalls\n}) {\n switch (finishReason) {\n case \"STOP\":\n return hasToolCalls ? \"tool-calls\" : \"stop\";\n case \"MAX_TOKENS\":\n return \"length\";\n case \"IMAGE_SAFETY\":\n case \"RECITATION\":\n case \"SAFETY\":\n case \"BLOCKLIST\":\n case \"PROHIBITED_CONTENT\":\n case \"SPII\":\n return \"content-filter\";\n case \"FINISH_REASON_UNSPECIFIED\":\n case \"OTHER\":\n return \"other\";\n case \"MALFORMED_FUNCTION_CALL\":\n return \"error\";\n default:\n return \"unknown\";\n }\n}\n\n// src/google-generative-ai-language-model.ts\nvar GoogleGenerativeAILanguageModel = class {\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n this.defaultObjectGenerationMode = \"json\";\n this.supportsImageUrls = false;\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n }\n get supportsStructuredOutputs() {\n var _a;\n return (_a = this.settings.structuredOutputs) != null ? _a : true;\n }\n get provider() {\n return this.config.provider;\n }\n async getArgs({\n mode,\n prompt,\n maxTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n providerMetadata\n }) {\n var _a, _b, _c;\n const type = mode.type;\n const warnings = [];\n const googleOptions = parseProviderOptions({\n provider: \"google\",\n providerOptions: providerMetadata,\n schema: googleGenerativeAIProviderOptionsSchema\n });\n if (((_a = googleOptions == null ? void 0 : googleOptions.thinkingConfig) == null ? void 0 : _a.includeThoughts) === true && !this.config.provider.startsWith(\"google.vertex.\")) {\n warnings.push({\n type: \"other\",\n message: `The 'includeThoughts' option is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${this.config.provider}).`\n });\n }\n const generationConfig = {\n // standardized settings:\n maxOutputTokens: maxTokens,\n temperature,\n topK,\n topP,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n seed,\n // response format:\n responseMimeType: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? \"application/json\" : void 0,\n responseSchema: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" && responseFormat.schema != null && // Google GenAI does not support all OpenAPI Schema features,\n // so this is needed as an escape hatch:\n this.supportsStructuredOutputs ? convertJSONSchemaToOpenAPISchema(responseFormat.schema) : void 0,\n ...this.settings.audioTimestamp && {\n audioTimestamp: this.settings.audioTimestamp\n },\n // provider options:\n responseModalities: googleOptions == null ? void 0 : googleOptions.responseModalities,\n thinkingConfig: googleOptions == null ? void 0 : googleOptions.thinkingConfig\n };\n const { contents, systemInstruction } = convertToGoogleGenerativeAIMessages(prompt);\n switch (type) {\n case \"regular\": {\n const { tools, toolConfig, toolWarnings } = prepareTools(\n mode,\n (_b = this.settings.useSearchGrounding) != null ? _b : false,\n this.settings.dynamicRetrievalConfig,\n this.modelId\n );\n return {\n args: {\n generationConfig,\n contents,\n systemInstruction,\n safetySettings: this.settings.safetySettings,\n tools,\n toolConfig,\n cachedContent: this.settings.cachedContent\n },\n warnings: [...warnings, ...toolWarnings]\n };\n }\n case \"object-json\": {\n return {\n args: {\n generationConfig: {\n ...generationConfig,\n responseMimeType: \"application/json\",\n responseSchema: mode.schema != null && // Google GenAI does not support all OpenAPI Schema features,\n // so this is needed as an escape hatch:\n this.supportsStructuredOutputs ? convertJSONSchemaToOpenAPISchema(mode.schema) : void 0\n },\n contents,\n systemInstruction,\n safetySettings: this.settings.safetySettings,\n cachedContent: this.settings.cachedContent\n },\n warnings\n };\n }\n case \"object-tool\": {\n return {\n args: {\n generationConfig,\n contents,\n tools: {\n functionDeclarations: [\n {\n name: mode.tool.name,\n description: (_c = mode.tool.description) != null ? _c : \"\",\n parameters: convertJSONSchemaToOpenAPISchema(\n mode.tool.parameters\n )\n }\n ]\n },\n toolConfig: { functionCallingConfig: { mode: \"ANY\" } },\n safetySettings: this.settings.safetySettings,\n cachedContent: this.settings.cachedContent\n },\n warnings\n };\n }\n default: {\n const _exhaustiveCheck = type;\n throw new Error(`Unsupported type: ${_exhaustiveCheck}`);\n }\n }\n }\n supportsUrl(url) {\n return this.config.isSupportedUrl(url);\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e;\n const { args, warnings } = await this.getArgs(options);\n const body = JSON.stringify(args);\n const mergedHeaders = combineHeaders(\n await resolve(this.config.headers),\n options.headers\n );\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi({\n url: `${this.config.baseURL}/${getModelPath(\n this.modelId\n )}:generateContent`,\n headers: mergedHeaders,\n body: args,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(responseSchema),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { contents: rawPrompt, ...rawSettings } = args;\n const candidate = response.candidates[0];\n const parts = candidate.content == null || typeof candidate.content !== \"object\" || !(\"parts\" in candidate.content) ? [] : candidate.content.parts;\n const toolCalls = getToolCallsFromParts({\n parts,\n // Use candidateParts\n generateId: this.config.generateId\n });\n const usageMetadata = response.usageMetadata;\n return {\n text: getTextFromParts(parts),\n reasoning: getReasoningDetailsFromParts(parts),\n files: (_a = getInlineDataParts(parts)) == null ? void 0 : _a.map((part) => ({\n data: part.inlineData.data,\n mimeType: part.inlineData.mimeType\n })),\n toolCalls,\n finishReason: mapGoogleGenerativeAIFinishReason({\n finishReason: candidate.finishReason,\n hasToolCalls: toolCalls != null && toolCalls.length > 0\n }),\n usage: {\n promptTokens: (_b = usageMetadata == null ? void 0 : usageMetadata.promptTokenCount) != null ? _b : NaN,\n completionTokens: (_c = usageMetadata == null ? void 0 : usageMetadata.candidatesTokenCount) != null ? _c : NaN\n },\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders, body: rawResponse },\n warnings,\n providerMetadata: {\n google: {\n groundingMetadata: (_d = candidate.groundingMetadata) != null ? _d : null,\n safetyRatings: (_e = candidate.safetyRatings) != null ? _e : null\n }\n },\n sources: extractSources({\n groundingMetadata: candidate.groundingMetadata,\n generateId: this.config.generateId\n }),\n request: { body }\n };\n }\n async doStream(options) {\n const { args, warnings } = await this.getArgs(options);\n const body = JSON.stringify(args);\n const headers = combineHeaders(\n await resolve(this.config.headers),\n options.headers\n );\n const { responseHeaders, value: response } = await postJsonToApi({\n url: `${this.config.baseURL}/${getModelPath(\n this.modelId\n )}:streamGenerateContent?alt=sse`,\n headers,\n body: args,\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(chunkSchema),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { contents: rawPrompt, ...rawSettings } = args;\n let finishReason = \"unknown\";\n let usage = {\n promptTokens: Number.NaN,\n completionTokens: Number.NaN\n };\n let providerMetadata = void 0;\n const generateId2 = this.config.generateId;\n let hasToolCalls = false;\n return {\n stream: response.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n var _a, _b, _c, _d, _e, _f;\n if (!chunk.success) {\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n const usageMetadata = value.usageMetadata;\n if (usageMetadata != null) {\n usage = {\n promptTokens: (_a = usageMetadata.promptTokenCount) != null ? _a : NaN,\n completionTokens: (_b = usageMetadata.candidatesTokenCount) != null ? _b : NaN\n };\n }\n const candidate = (_c = value.candidates) == null ? void 0 : _c[0];\n if (candidate == null) {\n return;\n }\n const content = candidate.content;\n if (content != null) {\n const deltaText = getTextFromParts(content.parts);\n if (deltaText != null) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: deltaText\n });\n }\n const reasoningDeltaText = getReasoningDetailsFromParts(\n content.parts\n );\n if (reasoningDeltaText != null) {\n for (const part of reasoningDeltaText) {\n controller.enqueue({\n type: \"reasoning\",\n textDelta: part.text\n });\n }\n }\n const inlineDataParts = getInlineDataParts(content.parts);\n if (inlineDataParts != null) {\n for (const part of inlineDataParts) {\n controller.enqueue({\n type: \"file\",\n mimeType: part.inlineData.mimeType,\n data: part.inlineData.data\n });\n }\n }\n const toolCallDeltas = getToolCallsFromParts({\n parts: content.parts,\n generateId: generateId2\n });\n if (toolCallDeltas != null) {\n for (const toolCall of toolCallDeltas) {\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallType: \"function\",\n toolCallId: toolCall.toolCallId,\n toolName: toolCall.toolName,\n argsTextDelta: toolCall.args\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallType: \"function\",\n toolCallId: toolCall.toolCallId,\n toolName: toolCall.toolName,\n args: toolCall.args\n });\n hasToolCalls = true;\n }\n }\n }\n if (candidate.finishReason != null) {\n finishReason = mapGoogleGenerativeAIFinishReason({\n finishReason: candidate.finishReason,\n hasToolCalls\n });\n const sources = (_d = extractSources({\n groundingMetadata: candidate.groundingMetadata,\n generateId: generateId2\n })) != null ? _d : [];\n for (const source of sources) {\n controller.enqueue({ type: \"source\", source });\n }\n providerMetadata = {\n google: {\n groundingMetadata: (_e = candidate.groundingMetadata) != null ? _e : null,\n safetyRatings: (_f = candidate.safetyRatings) != null ? _f : null\n }\n };\n }\n },\n flush(controller) {\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage,\n providerMetadata\n });\n }\n })\n ),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings,\n request: { body }\n };\n }\n};\nfunction getToolCallsFromParts({\n parts,\n generateId: generateId2\n}) {\n const functionCallParts = parts == null ? void 0 : parts.filter(\n (part) => \"functionCall\" in part\n );\n return functionCallParts == null || functionCallParts.length === 0 ? void 0 : functionCallParts.map((part) => ({\n toolCallType: \"function\",\n toolCallId: generateId2(),\n toolName: part.functionCall.name,\n args: JSON.stringify(part.functionCall.args)\n }));\n}\nfunction getTextFromParts(parts) {\n const textParts = parts == null ? void 0 : parts.filter(\n (part) => \"text\" in part && part.thought !== true\n );\n return textParts == null || textParts.length === 0 ? void 0 : textParts.map((part) => part.text).join(\"\");\n}\nfunction getReasoningDetailsFromParts(parts) {\n const reasoningParts = parts == null ? void 0 : parts.filter(\n (part) => \"text\" in part && part.thought === true\n );\n return reasoningParts == null || reasoningParts.length === 0 ? void 0 : reasoningParts.map((part) => ({ type: \"text\", text: part.text }));\n}\nfunction getInlineDataParts(parts) {\n return parts == null ? void 0 : parts.filter(\n (part) => \"inlineData\" in part\n );\n}\nfunction extractSources({\n groundingMetadata,\n generateId: generateId2\n}) {\n var _a;\n return (_a = groundingMetadata == null ? void 0 : groundingMetadata.groundingChunks) == null ? void 0 : _a.filter(\n (chunk) => chunk.web != null\n ).map((chunk) => ({\n sourceType: \"url\",\n id: generateId2(),\n url: chunk.web.uri,\n title: chunk.web.title\n }));\n}\nvar contentSchema = z2.object({\n role: z2.string(),\n parts: z2.array(\n z2.union([\n z2.object({\n text: z2.string(),\n thought: z2.boolean().nullish()\n }),\n z2.object({\n functionCall: z2.object({\n name: z2.string(),\n args: z2.unknown()\n })\n }),\n z2.object({\n inlineData: z2.object({\n mimeType: z2.string(),\n data: z2.string()\n })\n })\n ])\n ).nullish()\n});\nvar groundingChunkSchema = z2.object({\n web: z2.object({ uri: z2.string(), title: z2.string() }).nullish(),\n retrievedContext: z2.object({ uri: z2.string(), title: z2.string() }).nullish()\n});\nvar groundingMetadataSchema = z2.object({\n webSearchQueries: z2.array(z2.string()).nullish(),\n retrievalQueries: z2.array(z2.string()).nullish(),\n searchEntryPoint: z2.object({ renderedContent: z2.string() }).nullish(),\n groundingChunks: z2.array(groundingChunkSchema).nullish(),\n groundingSupports: z2.array(\n z2.object({\n segment: z2.object({\n startIndex: z2.number().nullish(),\n endIndex: z2.number().nullish(),\n text: z2.string().nullish()\n }),\n segment_text: z2.string().nullish(),\n groundingChunkIndices: z2.array(z2.number()).nullish(),\n supportChunkIndices: z2.array(z2.number()).nullish(),\n confidenceScores: z2.array(z2.number()).nullish(),\n confidenceScore: z2.array(z2.number()).nullish()\n })\n ).nullish(),\n retrievalMetadata: z2.union([\n z2.object({\n webDynamicRetrievalScore: z2.number()\n }),\n z2.object({})\n ]).nullish()\n});\nvar safetyRatingSchema = z2.object({\n category: z2.string().nullish(),\n probability: z2.string().nullish(),\n probabilityScore: z2.number().nullish(),\n severity: z2.string().nullish(),\n severityScore: z2.number().nullish(),\n blocked: z2.boolean().nullish()\n});\nvar responseSchema = z2.object({\n candidates: z2.array(\n z2.object({\n content: contentSchema.nullish().or(z2.object({}).strict()),\n finishReason: z2.string().nullish(),\n safetyRatings: z2.array(safetyRatingSchema).nullish(),\n groundingMetadata: groundingMetadataSchema.nullish()\n })\n ),\n usageMetadata: z2.object({\n promptTokenCount: z2.number().nullish(),\n candidatesTokenCount: z2.number().nullish(),\n totalTokenCount: z2.number().nullish()\n }).nullish()\n});\nvar chunkSchema = z2.object({\n candidates: z2.array(\n z2.object({\n content: contentSchema.nullish(),\n finishReason: z2.string().nullish(),\n safetyRatings: z2.array(safetyRatingSchema).nullish(),\n groundingMetadata: groundingMetadataSchema.nullish()\n })\n ).nullish(),\n usageMetadata: z2.object({\n promptTokenCount: z2.number().nullish(),\n candidatesTokenCount: z2.number().nullish(),\n totalTokenCount: z2.number().nullish()\n }).nullish()\n});\nvar googleGenerativeAIProviderOptionsSchema = z2.object({\n responseModalities: z2.array(z2.enum([\"TEXT\", \"IMAGE\"])).nullish(),\n thinkingConfig: z2.object({\n thinkingBudget: z2.number().nullish(),\n includeThoughts: z2.boolean().nullish()\n }).nullish()\n});\n\n// src/google-generative-ai-embedding-model.ts\nimport {\n TooManyEmbeddingValuesForCallError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders2,\n createJsonResponseHandler as createJsonResponseHandler2,\n postJsonToApi as postJsonToApi2,\n resolve as resolve2\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod\";\nvar GoogleGenerativeAIEmbeddingModel = class {\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n get maxEmbeddingsPerCall() {\n return 2048;\n }\n get supportsParallelCalls() {\n return true;\n }\n async doEmbed({\n values,\n headers,\n abortSignal\n }) {\n if (values.length > this.maxEmbeddingsPerCall) {\n throw new TooManyEmbeddingValuesForCallError({\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values\n });\n }\n const mergedHeaders = combineHeaders2(\n await resolve2(this.config.headers),\n headers\n );\n const { responseHeaders, value: response } = await postJsonToApi2({\n url: `${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,\n headers: mergedHeaders,\n body: {\n requests: values.map((value) => ({\n model: `models/${this.modelId}`,\n content: { role: \"user\", parts: [{ text: value }] },\n outputDimensionality: this.settings.outputDimensionality,\n taskType: this.settings.taskType\n }))\n },\n failedResponseHandler: googleFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n googleGenerativeAITextEmbeddingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n embeddings: response.embeddings.map((item) => item.values),\n usage: void 0,\n rawResponse: { headers: responseHeaders }\n };\n }\n};\nvar googleGenerativeAITextEmbeddingResponseSchema = z3.object({\n embeddings: z3.array(z3.object({ values: z3.array(z3.number()) }))\n});\n\n// src/google-supported-file-url.ts\nfunction isSupportedFileUrl(url) {\n return url.toString().startsWith(\"https://generativelanguage.googleapis.com/v1beta/files/\");\n}\n\n// src/google-provider.ts\nfunction createGoogleGenerativeAI(options = {}) {\n var _a;\n const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : \"https://generativelanguage.googleapis.com/v1beta\";\n const getHeaders = () => ({\n \"x-goog-api-key\": loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"GOOGLE_GENERATIVE_AI_API_KEY\",\n description: \"Google Generative AI\"\n }),\n ...options.headers\n });\n const createChatModel = (modelId, settings = {}) => {\n var _a2;\n return new GoogleGenerativeAILanguageModel(modelId, settings, {\n provider: \"google.generative-ai\",\n baseURL,\n headers: getHeaders,\n generateId: (_a2 = options.generateId) != null ? _a2 : generateId,\n isSupportedUrl: isSupportedFileUrl,\n fetch: options.fetch\n });\n };\n const createEmbeddingModel = (modelId, settings = {}) => new GoogleGenerativeAIEmbeddingModel(modelId, settings, {\n provider: \"google.generative-ai\",\n baseURL,\n headers: getHeaders,\n fetch: options.fetch\n });\n const provider = function(modelId, settings) {\n if (new.target) {\n throw new Error(\n \"The Google Generative AI model function cannot be called with the new keyword.\"\n );\n }\n return createChatModel(modelId, settings);\n };\n provider.languageModel = createChatModel;\n provider.chat = createChatModel;\n provider.generativeAI = createChatModel;\n provider.embedding = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n return provider;\n}\nvar google = createGoogleGenerativeAI();\nexport {\n createGoogleGenerativeAI,\n google\n};\n//# sourceMappingURL=index.mjs.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nimport { Buffer } from \"buffer\";\nexport const fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {\n if (!isArrayBuffer(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return Buffer.from(input, offset, length);\n};\nexport const fromString = (input, encoding) => {\n if (typeof input !== \"string\") {\n throw new TypeError(`The \"input\" argument must be of type string. Received type ${typeof input} (${input})`);\n }\n return encoding ? Buffer.from(input, encoding) : Buffer.from(input);\n};\n","import { fromString } from \"@smithy/util-buffer-from\";\nexport const fromUtf8 = (input) => {\n const buf = fromString(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n};\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromUtf8 as fromUtf8Browser } from \"@smithy/util-utf8\";\n// Quick polyfill\nvar fromUtf8 = typeof Buffer !== \"undefined\" && Buffer.from\n ? function (input) { return Buffer.from(input, \"utf8\"); }\n : fromUtf8Browser;\nexport function convertToBuffer(data) {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array)\n return data;\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n//# sourceMappingURL=convertToBuffer.js.map","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// IE 11 does not support Array.from, so we do it manually\nexport function uint32ArrayFrom(a_lookUpTable) {\n if (!Uint32Array.from) {\n var return_array = new Uint32Array(a_lookUpTable.length);\n var a_index = 0;\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index];\n a_index += 1;\n }\n return return_array;\n }\n return Uint32Array.from(a_lookUpTable);\n}\n//# sourceMappingURL=uint32ArrayFrom.js.map","import { __values } from \"tslib\";\nimport { uint32ArrayFrom } from \"@aws-crypto/util\";\nexport function crc32(data) {\n return new Crc32().update(data).digest();\n}\nvar Crc32 = /** @class */ (function () {\n function Crc32() {\n this.checksum = 0xffffffff;\n }\n Crc32.prototype.update = function (data) {\n var e_1, _a;\n try {\n for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var byte = data_1_1.value;\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return this;\n };\n Crc32.prototype.digest = function () {\n return (this.checksum ^ 0xffffffff) >>> 0;\n };\n return Crc32;\n}());\nexport { Crc32 };\n// prettier-ignore\nvar a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nvar lookupTable = uint32ArrayFrom(a_lookUpTable);\nexport { AwsCrc32 } from \"./aws_crc32\";\n//# sourceMappingURL=index.js.map","const SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nexport function fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexport function toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n","import { toHex } from \"@smithy/util-hex-encoding\";\nexport class Int64 {\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9223372036854776000 || number < -9223372036854776000) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n","import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { Int64 } from \"./Int64\";\nexport class HeaderMarshaller {\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n","import { Crc32 } from \"@aws-crypto/crc32\";\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nexport function splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n","import { Crc32 } from \"@aws-crypto/crc32\";\nimport { HeaderMarshaller } from \"./HeaderMarshaller\";\nimport { splitMessage } from \"./splitMessage\";\nexport class EventStreamCodec {\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n this.messageBuffer = [];\n this.isEndOfStream = false;\n }\n feed(message) {\n this.messageBuffer.push(this.decode(message));\n }\n endOfStream() {\n this.isEndOfStream = true;\n }\n getMessage() {\n const message = this.messageBuffer.pop();\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessage() {\n return message;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n getAvailableMessages() {\n const messages = this.messageBuffer;\n this.messageBuffer = [];\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessages() {\n return messages;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = splitMessage(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n","export const isArrayBuffer = (arg) => (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n","import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nimport { Buffer } from \"buffer\";\nexport const fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {\n if (!isArrayBuffer(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return Buffer.from(input, offset, length);\n};\nexport const fromString = (input, encoding) => {\n if (typeof input !== \"string\") {\n throw new TypeError(`The \"input\" argument must be of type string. Received type ${typeof input} (${input})`);\n }\n return encoding ? Buffer.from(input, encoding) : Buffer.from(input);\n};\n","import { fromString } from \"@smithy/util-buffer-from\";\nexport const fromUtf8 = (input) => {\n const buf = fromString(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n};\n","import { fromArrayBuffer } from \"@smithy/util-buffer-from\";\nexport const toUtf8 = (input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString(\"utf8\");\n};\n","/**\n * @license MIT <https://opensource.org/licenses/MIT>\n * @copyright Michael Hart 2024\n */\nconst encoder = new TextEncoder();\nconst HOST_SERVICES = {\n appstream2: 'appstream',\n cloudhsmv2: 'cloudhsm',\n email: 'ses',\n marketplace: 'aws-marketplace',\n mobile: 'AWSMobileHubService',\n pinpoint: 'mobiletargeting',\n queue: 'sqs',\n 'git-codecommit': 'codecommit',\n 'mturk-requester-sandbox': 'mturk-requester',\n 'personalize-runtime': 'personalize',\n};\nconst UNSIGNABLE_HEADERS = new Set([\n 'authorization',\n 'content-type',\n 'content-length',\n 'user-agent',\n 'presigned-expires',\n 'expect',\n 'x-amzn-trace-id',\n 'range',\n 'connection',\n]);\nclass AwsClient {\n constructor({ accessKeyId, secretAccessKey, sessionToken, service, region, cache, retries, initRetryMs }) {\n if (accessKeyId == null) throw new TypeError('accessKeyId is a required option')\n if (secretAccessKey == null) throw new TypeError('secretAccessKey is a required option')\n this.accessKeyId = accessKeyId;\n this.secretAccessKey = secretAccessKey;\n this.sessionToken = sessionToken;\n this.service = service;\n this.region = region;\n this.cache = cache || new Map();\n this.retries = retries != null ? retries : 10;\n this.initRetryMs = initRetryMs || 50;\n }\n async sign(input, init) {\n if (input instanceof Request) {\n const { method, url, headers, body } = input;\n init = Object.assign({ method, url, headers }, init);\n if (init.body == null && headers.has('Content-Type')) {\n init.body = body != null && headers.has('X-Amz-Content-Sha256') ? body : await input.clone().arrayBuffer();\n }\n input = url;\n }\n const signer = new AwsV4Signer(Object.assign({ url: input.toString() }, init, this, init && init.aws));\n const signed = Object.assign({}, init, await signer.sign());\n delete signed.aws;\n try {\n return new Request(signed.url.toString(), signed)\n } catch (e) {\n if (e instanceof TypeError) {\n return new Request(signed.url.toString(), Object.assign({ duplex: 'half' }, signed))\n }\n throw e\n }\n }\n async fetch(input, init) {\n for (let i = 0; i <= this.retries; i++) {\n const fetched = fetch(await this.sign(input, init));\n if (i === this.retries) {\n return fetched\n }\n const res = await fetched;\n if (res.status < 500 && res.status !== 429) {\n return res\n }\n await new Promise(resolve => setTimeout(resolve, Math.random() * this.initRetryMs * Math.pow(2, i)));\n }\n throw new Error('An unknown error occurred, ensure retries is not negative')\n }\n}\nclass AwsV4Signer {\n constructor({ method, url, headers, body, accessKeyId, secretAccessKey, sessionToken, service, region, cache, datetime, signQuery, appendSessionToken, allHeaders, singleEncode }) {\n if (url == null) throw new TypeError('url is a required option')\n if (accessKeyId == null) throw new TypeError('accessKeyId is a required option')\n if (secretAccessKey == null) throw new TypeError('secretAccessKey is a required option')\n this.method = method || (body ? 'POST' : 'GET');\n this.url = new URL(url);\n this.headers = new Headers(headers || {});\n this.body = body;\n this.accessKeyId = accessKeyId;\n this.secretAccessKey = secretAccessKey;\n this.sessionToken = sessionToken;\n let guessedService, guessedRegion;\n if (!service || !region) {\n[guessedService, guessedRegion] = guessServiceRegion(this.url, this.headers);\n }\n this.service = service || guessedService || '';\n this.region = region || guessedRegion || 'us-east-1';\n this.cache = cache || new Map();\n this.datetime = datetime || new Date().toISOString().replace(/[:-]|\\.\\d{3}/g, '');\n this.signQuery = signQuery;\n this.appendSessionToken = appendSessionToken || this.service === 'iotdevicegateway';\n this.headers.delete('Host');\n if (this.service === 's3' && !this.signQuery && !this.headers.has('X-Amz-Content-Sha256')) {\n this.headers.set('X-Amz-Content-Sha256', 'UNSIGNED-PAYLOAD');\n }\n const params = this.signQuery ? this.url.searchParams : this.headers;\n params.set('X-Amz-Date', this.datetime);\n if (this.sessionToken && !this.appendSessionToken) {\n params.set('X-Amz-Security-Token', this.sessionToken);\n }\n this.signableHeaders = ['host', ...this.headers.keys()]\n .filter(header => allHeaders || !UNSIGNABLE_HEADERS.has(header))\n .sort();\n this.signedHeaders = this.signableHeaders.join(';');\n this.canonicalHeaders = this.signableHeaders\n .map(header => header + ':' + (header === 'host' ? this.url.host : (this.headers.get(header) || '').replace(/\\s+/g, ' ')))\n .join('\\n');\n this.credentialString = [this.datetime.slice(0, 8), this.region, this.service, 'aws4_request'].join('/');\n if (this.signQuery) {\n if (this.service === 's3' && !params.has('X-Amz-Expires')) {\n params.set('X-Amz-Expires', '86400');\n }\n params.set('X-Amz-Algorithm', 'AWS4-HMAC-SHA256');\n params.set('X-Amz-Credential', this.accessKeyId + '/' + this.credentialString);\n params.set('X-Amz-SignedHeaders', this.signedHeaders);\n }\n if (this.service === 's3') {\n try {\n this.encodedPath = decodeURIComponent(this.url.pathname.replace(/\\+/g, ' '));\n } catch (e) {\n this.encodedPath = this.url.pathname;\n }\n } else {\n this.encodedPath = this.url.pathname.replace(/\\/+/g, '/');\n }\n if (!singleEncode) {\n this.encodedPath = encodeURIComponent(this.encodedPath).replace(/%2F/g, '/');\n }\n this.encodedPath = encodeRfc3986(this.encodedPath);\n const seenKeys = new Set();\n this.encodedSearch = [...this.url.searchParams]\n .filter(([k]) => {\n if (!k) return false\n if (this.service === 's3') {\n if (seenKeys.has(k)) return false\n seenKeys.add(k);\n }\n return true\n })\n .map(pair => pair.map(p => encodeRfc3986(encodeURIComponent(p))))\n .sort(([k1, v1], [k2, v2]) => k1 < k2 ? -1 : k1 > k2 ? 1 : v1 < v2 ? -1 : v1 > v2 ? 1 : 0)\n .map(pair => pair.join('='))\n .join('&');\n }\n async sign() {\n if (this.signQuery) {\n this.url.searchParams.set('X-Amz-Signature', await this.signature());\n if (this.sessionToken && this.appendSessionToken) {\n this.url.searchParams.set('X-Amz-Security-Token', this.sessionToken);\n }\n } else {\n this.headers.set('Authorization', await this.authHeader());\n }\n return {\n method: this.method,\n url: this.url,\n headers: this.headers,\n body: this.body,\n }\n }\n async authHeader() {\n return [\n 'AWS4-HMAC-SHA256 Credential=' + this.accessKeyId + '/' + this.credentialString,\n 'SignedHeaders=' + this.signedHeaders,\n 'Signature=' + (await this.signature()),\n ].join(', ')\n }\n async signature() {\n const date = this.datetime.slice(0, 8);\n const cacheKey = [this.secretAccessKey, date, this.region, this.service].join();\n let kCredentials = this.cache.get(cacheKey);\n if (!kCredentials) {\n const kDate = await hmac('AWS4' + this.secretAccessKey, date);\n const kRegion = await hmac(kDate, this.region);\n const kService = await hmac(kRegion, this.service);\n kCredentials = await hmac(kService, 'aws4_request');\n this.cache.set(cacheKey, kCredentials);\n }\n return buf2hex(await hmac(kCredentials, await this.stringToSign()))\n }\n async stringToSign() {\n return [\n 'AWS4-HMAC-SHA256',\n this.datetime,\n this.credentialString,\n buf2hex(await hash(await this.canonicalString())),\n ].join('\\n')\n }\n async canonicalString() {\n return [\n this.method.toUpperCase(),\n this.encodedPath,\n this.encodedSearch,\n this.canonicalHeaders + '\\n',\n this.signedHeaders,\n await this.hexBodyHash(),\n ].join('\\n')\n }\n async hexBodyHash() {\n let hashHeader = this.headers.get('X-Amz-Content-Sha256') || (this.service === 's3' && this.signQuery ? 'UNSIGNED-PAYLOAD' : null);\n if (hashHeader == null) {\n if (this.body && typeof this.body !== 'string' && !('byteLength' in this.body)) {\n throw new Error('body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header')\n }\n hashHeader = buf2hex(await hash(this.body || ''));\n }\n return hashHeader\n }\n}\nasync function hmac(key, string) {\n const cryptoKey = await crypto.subtle.importKey(\n 'raw',\n typeof key === 'string' ? encoder.encode(key) : key,\n { name: 'HMAC', hash: { name: 'SHA-256' } },\n false,\n ['sign'],\n );\n return crypto.subtle.sign('HMAC', cryptoKey, encoder.encode(string))\n}\nasync function hash(content) {\n return crypto.subtle.digest('SHA-256', typeof content === 'string' ? encoder.encode(content) : content)\n}\nconst HEX_CHARS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\nfunction buf2hex(arrayBuffer) {\n const buffer = new Uint8Array(arrayBuffer);\n let out = '';\n for (let idx = 0; idx < buffer.length; idx++) {\n const n = buffer[idx];\n out += HEX_CHARS[(n >>> 4) & 0xF];\n out += HEX_CHARS[n & 0xF];\n }\n return out\n}\nfunction encodeRfc3986(urlEncodedStr) {\n return urlEncodedStr.replace(/[!'()*]/g, c => '%' + c.charCodeAt(0).toString(16).toUpperCase())\n}\nfunction guessServiceRegion(url, headers) {\n const { hostname, pathname } = url;\n if (hostname.endsWith('.on.aws')) {\n const match = hostname.match(/^[^.]{1,63}\\.lambda-url\\.([^.]{1,63})\\.on\\.aws$/);\n return match != null ? ['lambda', match[1] || ''] : ['', '']\n }\n if (hostname.endsWith('.r2.cloudflarestorage.com')) {\n return ['s3', 'auto']\n }\n if (hostname.endsWith('.backblazeb2.com')) {\n const match = hostname.match(/^(?:[^.]{1,63}\\.)?s3\\.([^.]{1,63})\\.backblazeb2\\.com$/);\n return match != null ? ['s3', match[1] || ''] : ['', '']\n }\n const match = hostname.replace('dualstack.', '').match(/([^.]{1,63})\\.(?:([^.]{0,63})\\.)?amazonaws\\.com(?:\\.cn)?$/);\n let service = (match && match[1]) || '';\n let region = match && match[2];\n if (region === 'us-gov') {\n region = 'us-gov-west-1';\n } else if (region === 's3' || region === 's3-accelerate') {\n region = 'us-east-1';\n service = 's3';\n } else if (service === 'iot') {\n if (hostname.startsWith('iot.')) {\n service = 'execute-api';\n } else if (hostname.startsWith('data.jobs.iot.')) {\n service = 'iot-jobs-data';\n } else {\n service = pathname === '/mqtt' ? 'iotdevicegateway' : 'iotdata';\n }\n } else if (service === 'autoscaling') {\n const targetPrefix = (headers.get('X-Amz-Target') || '').split('.')[0];\n if (targetPrefix === 'AnyScaleFrontendService') {\n service = 'application-autoscaling';\n } else if (targetPrefix === 'AnyScaleScalingPlannerFrontendService') {\n service = 'autoscaling-plans';\n }\n } else if (region == null && service.startsWith('s3-')) {\n region = service.slice(3).replace(/^fips-|^external-1/, '');\n service = 's3';\n } else if (service.endsWith('-fips')) {\n service = service.slice(0, -5);\n } else if (region && /-\\d$/.test(service) && !/-\\d$/.test(region)) {\n[service, region] = [region, service];\n }\n return [HOST_SERVICES[service] || service, region || '']\n}\n\nexport { AwsClient, AwsV4Signer };\n","// src/bedrock-provider.ts\nimport {\n generateId,\n loadOptionalSetting,\n loadSetting,\n withoutTrailingSlash\n} from \"@ai-sdk/provider-utils\";\n\n// src/bedrock-chat-language-model.ts\nimport {\n InvalidArgumentError,\n UnsupportedFunctionalityError as UnsupportedFunctionalityError3\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n postJsonToApi,\n resolve\n} from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod\";\n\n// src/bedrock-api-types.ts\nvar BEDROCK_CACHE_POINT = {\n cachePoint: { type: \"default\" }\n};\nvar BEDROCK_STOP_REASONS = [\n \"stop\",\n \"stop_sequence\",\n \"end_turn\",\n \"length\",\n \"max_tokens\",\n \"content-filter\",\n \"content_filtered\",\n \"guardrail_intervened\",\n \"tool-calls\",\n \"tool_use\"\n];\n\n// src/bedrock-error.ts\nimport { z } from \"zod\";\nvar BedrockErrorSchema = z.object({\n message: z.string(),\n type: z.string().nullish()\n});\n\n// src/bedrock-event-stream-response-handler.ts\nimport { EmptyResponseBodyError } from \"@ai-sdk/provider\";\nimport {\n safeParseJSON,\n extractResponseHeaders,\n safeValidateTypes\n} from \"@ai-sdk/provider-utils\";\nimport { EventStreamCodec } from \"@smithy/eventstream-codec\";\nimport { toUtf8, fromUtf8 } from \"@smithy/util-utf8\";\nvar createBedrockEventStreamResponseHandler = (chunkSchema) => async ({ response }) => {\n const responseHeaders = extractResponseHeaders(response);\n if (response.body == null) {\n throw new EmptyResponseBodyError({});\n }\n const codec = new EventStreamCodec(toUtf8, fromUtf8);\n let buffer = new Uint8Array(0);\n const textDecoder = new TextDecoder();\n return {\n responseHeaders,\n value: response.body.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n var _a, _b;\n const newBuffer = new Uint8Array(buffer.length + chunk.length);\n newBuffer.set(buffer);\n newBuffer.set(chunk, buffer.length);\n buffer = newBuffer;\n while (buffer.length >= 4) {\n const totalLength = new DataView(\n buffer.buffer,\n buffer.byteOffset,\n buffer.byteLength\n ).getUint32(0, false);\n if (buffer.length < totalLength) {\n break;\n }\n try {\n const subView = buffer.subarray(0, totalLength);\n const decoded = codec.decode(subView);\n buffer = buffer.slice(totalLength);\n if (((_a = decoded.headers[\":message-type\"]) == null ? void 0 : _a.value) === \"event\") {\n const data = textDecoder.decode(decoded.body);\n const parsedDataResult = safeParseJSON({ text: data });\n if (!parsedDataResult.success) {\n controller.enqueue(parsedDataResult);\n break;\n }\n delete parsedDataResult.value.p;\n let wrappedData = {\n [(_b = decoded.headers[\":event-type\"]) == null ? void 0 : _b.value]: parsedDataResult.value\n };\n const validatedWrappedData = safeValidateTypes({\n value: wrappedData,\n schema: chunkSchema\n });\n if (!validatedWrappedData.success) {\n controller.enqueue(validatedWrappedData);\n } else {\n controller.enqueue({\n success: true,\n value: validatedWrappedData.value,\n rawValue: wrappedData\n });\n }\n }\n } catch (e) {\n break;\n }\n }\n }\n })\n )\n };\n};\n\n// src/bedrock-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nfunction prepareTools(mode) {\n var _a;\n const tools = ((_a = mode.tools) == null ? void 0 : _a.length) ? mode.tools : void 0;\n if (tools == null) {\n return {\n toolConfig: { tools: void 0, toolChoice: void 0 },\n toolWarnings: []\n };\n }\n const toolWarnings = [];\n const bedrockTools = [];\n for (const tool of tools) {\n if (tool.type === \"provider-defined\") {\n toolWarnings.push({ type: \"unsupported-tool\", tool });\n } else {\n bedrockTools.push({\n toolSpec: {\n name: tool.name,\n description: tool.description,\n inputSchema: {\n json: tool.parameters\n }\n }\n });\n }\n }\n const toolChoice = mode.toolChoice;\n if (toolChoice == null) {\n return {\n toolConfig: { tools: bedrockTools, toolChoice: void 0 },\n toolWarnings\n };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n return {\n toolConfig: { tools: bedrockTools, toolChoice: { auto: {} } },\n toolWarnings\n };\n case \"required\":\n return {\n toolConfig: { tools: bedrockTools, toolChoice: { any: {} } },\n toolWarnings\n };\n case \"none\":\n return {\n toolConfig: { tools: void 0, toolChoice: void 0 },\n toolWarnings\n };\n case \"tool\":\n return {\n toolConfig: {\n tools: bedrockTools,\n toolChoice: { tool: { name: toolChoice.toolName } }\n },\n toolWarnings\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError({\n functionality: `Unsupported tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/convert-to-bedrock-chat-messages.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nimport {\n convertUint8ArrayToBase64,\n createIdGenerator\n} from \"@ai-sdk/provider-utils\";\nvar generateFileId = createIdGenerator({ prefix: \"file\", size: 16 });\nfunction getCachePoint(providerMetadata) {\n var _a;\n return (_a = providerMetadata == null ? void 0 : providerMetadata.bedrock) == null ? void 0 : _a.cachePoint;\n}\nfunction convertToBedrockChatMessages(prompt) {\n var _a, _b, _c, _d, _e;\n const blocks = groupIntoBlocks(prompt);\n let system = [];\n const messages = [];\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i];\n const isLastBlock = i === blocks.length - 1;\n const type = block.type;\n switch (type) {\n case \"system\": {\n if (messages.length > 0) {\n throw new UnsupportedFunctionalityError2({\n functionality: \"Multiple system messages that are separated by user/assistant messages\"\n });\n }\n for (const message of block.messages) {\n system.push({ text: message.content });\n if (getCachePoint(message.providerMetadata)) {\n system.push(BEDROCK_CACHE_POINT);\n }\n }\n break;\n }\n case \"user\": {\n const bedrockContent = [];\n for (const message of block.messages) {\n const { role, content, providerMetadata } = message;\n switch (role) {\n case \"user\": {\n for (let j = 0; j < content.length; j++) {\n const part = content[j];\n switch (part.type) {\n case \"text\": {\n bedrockContent.push({\n text: part.text\n });\n break;\n }\n case \"image\": {\n if (part.image instanceof URL) {\n throw new UnsupportedFunctionalityError2({\n functionality: \"Image URLs in user messages\"\n });\n }\n bedrockContent.push({\n image: {\n format: (_b = (_a = part.mimeType) == null ? void 0 : _a.split(\n \"/\"\n )) == null ? void 0 : _b[1],\n source: {\n bytes: convertUint8ArrayToBase64(\n (_c = part.image) != null ? _c : part.image\n )\n }\n }\n });\n break;\n }\n case \"file\": {\n if (part.data instanceof URL) {\n throw new UnsupportedFunctionalityError2({\n functionality: \"File URLs in user messages\"\n });\n }\n bedrockContent.push({\n document: {\n format: (_e = (_d = part.mimeType) == null ? void 0 : _d.split(\n \"/\"\n )) == null ? void 0 : _e[1],\n name: generateFileId(),\n source: {\n bytes: part.data\n }\n }\n });\n break;\n }\n }\n }\n break;\n }\n case \"tool\": {\n for (let i2 = 0; i2 < content.length; i2++) {\n const part = content[i2];\n const toolResultContent = part.content != void 0 ? part.content.map((part2) => {\n switch (part2.type) {\n case \"text\":\n return {\n text: part2.text\n };\n case \"image\":\n if (!part2.mimeType) {\n throw new Error(\n \"Image mime type is required in tool result part content\"\n );\n }\n const format = part2.mimeType.split(\"/\")[1];\n if (!isBedrockImageFormat(format)) {\n throw new Error(\n `Unsupported image format: ${format}`\n );\n }\n return {\n image: {\n format,\n source: {\n bytes: part2.data\n }\n }\n };\n }\n }) : [{ text: JSON.stringify(part.result) }];\n bedrockContent.push({\n toolResult: {\n toolUseId: part.toolCallId,\n content: toolResultContent\n }\n });\n }\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n if (getCachePoint(providerMetadata)) {\n bedrockContent.push(BEDROCK_CACHE_POINT);\n }\n }\n messages.push({ role: \"user\", content: bedrockContent });\n break;\n }\n case \"assistant\": {\n const bedrockContent = [];\n for (let j = 0; j < block.messages.length; j++) {\n const message = block.messages[j];\n const isLastMessage = j === block.messages.length - 1;\n const { content } = message;\n for (let k = 0; k < content.length; k++) {\n const part = content[k];\n const isLastContentPart = k === content.length - 1;\n switch (part.type) {\n case \"text\": {\n bedrockContent.push({\n text: (\n // trim the last text part if it's the last message in the block\n // because Bedrock does not allow trailing whitespace\n // in pre-filled assistant responses\n trimIfLast(\n isLastBlock,\n isLastMessage,\n isLastContentPart,\n part.text\n )\n )\n });\n break;\n }\n case \"reasoning\": {\n bedrockContent.push({\n reasoningContent: {\n reasoningText: {\n // trim the last text part if it's the last message in the block\n // because Bedrock does not allow trailing whitespace\n // in pre-filled assistant responses\n text: trimIfLast(\n isLastBlock,\n isLastMessage,\n isLastContentPart,\n part.text\n ),\n signature: part.signature\n }\n }\n });\n break;\n }\n case \"redacted-reasoning\": {\n bedrockContent.push({\n reasoningContent: {\n redactedReasoning: {\n data: part.data\n }\n }\n });\n break;\n }\n case \"tool-call\": {\n bedrockContent.push({\n toolUse: {\n toolUseId: part.toolCallId,\n name: part.toolName,\n input: part.args\n }\n });\n break;\n }\n }\n }\n if (getCachePoint(message.providerMetadata)) {\n bedrockContent.push(BEDROCK_CACHE_POINT);\n }\n }\n messages.push({ role: \"assistant\", content: bedrockContent });\n break;\n }\n default: {\n const _exhaustiveCheck = type;\n throw new Error(`Unsupported type: ${_exhaustiveCheck}`);\n }\n }\n }\n return { system, messages };\n}\nfunction isBedrockImageFormat(format) {\n return [\"jpeg\", \"png\", \"gif\"].includes(format);\n}\nfunction trimIfLast(isLastBlock, isLastMessage, isLastContentPart, text) {\n return isLastBlock && isLastMessage && isLastContentPart ? text.trim() : text;\n}\nfunction groupIntoBlocks(prompt) {\n const blocks = [];\n let currentBlock = void 0;\n for (const message of prompt) {\n const { role } = message;\n switch (role) {\n case \"system\": {\n if ((currentBlock == null ? void 0 : currentBlock.type) !== \"system\") {\n currentBlock = { type: \"system\", messages: [] };\n blocks.push(currentBlock);\n }\n currentBlock.messages.push(message);\n break;\n }\n case \"assistant\": {\n if ((currentBlock == null ? void 0 : currentBlock.type) !== \"assistant\") {\n currentBlock = { type: \"assistant\", messages: [] };\n blocks.push(currentBlock);\n }\n currentBlock.messages.push(message);\n break;\n }\n case \"user\": {\n if ((currentBlock == null ? void 0 : currentBlock.type) !== \"user\") {\n currentBlock = { type: \"user\", messages: [] };\n blocks.push(currentBlock);\n }\n currentBlock.messages.push(message);\n break;\n }\n case \"tool\": {\n if ((currentBlock == null ? void 0 : currentBlock.type) !== \"user\") {\n currentBlock = { type: \"user\", messages: [] };\n blocks.push(currentBlock);\n }\n currentBlock.messages.push(message);\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return blocks;\n}\n\n// src/map-bedrock-finish-reason.ts\nfunction mapBedrockFinishReason(finishReason) {\n switch (finishReason) {\n case \"stop_sequence\":\n case \"end_turn\":\n return \"stop\";\n case \"max_tokens\":\n return \"length\";\n case \"content_filtered\":\n case \"guardrail_intervened\":\n return \"content-filter\";\n case \"tool_use\":\n return \"tool-calls\";\n default:\n return \"unknown\";\n }\n}\n\n// src/bedrock-chat-language-model.ts\nvar BedrockChatLanguageModel = class {\n constructor(modelId, settings, config) {\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n this.specificationVersion = \"v1\";\n this.provider = \"amazon-bedrock\";\n this.defaultObjectGenerationMode = \"tool\";\n this.supportsImageUrls = false;\n }\n getArgs({\n mode,\n prompt,\n maxTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n providerMetadata\n }) {\n var _a, _b, _c, _d, _e, _f, _g;\n const type = mode.type;\n const warnings = [];\n if (frequencyPenalty != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"frequencyPenalty\"\n });\n }\n if (presencePenalty != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"presencePenalty\"\n });\n }\n if (seed != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"seed\"\n });\n }\n if (topK != null) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"topK\"\n });\n }\n if (responseFormat != null && responseFormat.type !== \"text\") {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"responseFormat\",\n details: \"JSON response format is not supported.\"\n });\n }\n const { system, messages } = convertToBedrockChatMessages(prompt);\n const reasoningConfigOptions = BedrockReasoningConfigOptionsSchema.safeParse(\n (_a = providerMetadata == null ? void 0 : providerMetadata.bedrock) == null ? void 0 : _a.reasoning_config\n );\n if (!reasoningConfigOptions.success) {\n throw new InvalidArgumentError({\n argument: \"providerOptions.bedrock.reasoning_config\",\n message: \"invalid reasoning configuration options\",\n cause: reasoningConfigOptions.error\n });\n }\n const isThinking = ((_b = reasoningConfigOptions.data) == null ? void 0 : _b.type) === \"enabled\";\n const thinkingBudget = (_e = (_c = reasoningConfigOptions.data) == null ? void 0 : _c.budgetTokens) != null ? _e : (_d = reasoningConfigOptions.data) == null ? void 0 : _d.budget_tokens;\n const inferenceConfig = {\n ...maxTokens != null && { maxTokens },\n ...temperature != null && { temperature },\n ...topP != null && { topP },\n ...stopSequences != null && { stopSequences }\n };\n if (isThinking && thinkingBudget != null) {\n if (inferenceConfig.maxTokens != null) {\n inferenceConfig.maxTokens += thinkingBudget;\n } else {\n inferenceConfig.maxTokens = thinkingBudget + 4096;\n }\n this.settings.additionalModelRequestFields = {\n ...this.settings.additionalModelRequestFields,\n reasoning_config: {\n type: (_f = reasoningConfigOptions.data) == null ? void 0 : _f.type,\n budget_tokens: thinkingBudget\n }\n };\n }\n if (isThinking && inferenceConfig.temperature != null) {\n delete inferenceConfig.temperature;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"temperature\",\n details: \"temperature is not supported when thinking is enabled\"\n });\n }\n if (isThinking && inferenceConfig.topP != null) {\n delete inferenceConfig.topP;\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"topP\",\n details: \"topP is not supported when thinking is enabled\"\n });\n }\n const baseArgs = {\n system,\n additionalModelRequestFields: this.settings.additionalModelRequestFields,\n ...Object.keys(inferenceConfig).length > 0 && {\n inferenceConfig\n },\n messages,\n ...providerMetadata == null ? void 0 : providerMetadata.bedrock\n };\n switch (type) {\n case \"regular\": {\n const { toolConfig, toolWarnings } = prepareTools(mode);\n return {\n command: {\n ...baseArgs,\n ...((_g = toolConfig.tools) == null ? void 0 : _g.length) ? { toolConfig } : {}\n },\n warnings: [...warnings, ...toolWarnings]\n };\n }\n case \"object-json\": {\n throw new UnsupportedFunctionalityError3({\n functionality: \"json-mode object generation\"\n });\n }\n case \"object-tool\": {\n return {\n command: {\n ...baseArgs,\n toolConfig: {\n tools: [\n {\n toolSpec: {\n name: mode.tool.name,\n description: mode.tool.description,\n inputSchema: {\n json: mode.tool.parameters\n }\n }\n }\n ],\n toolChoice: { tool: { name: mode.tool.name } }\n }\n },\n warnings\n };\n }\n default: {\n const _exhaustiveCheck = type;\n throw new Error(`Unsupported type: ${_exhaustiveCheck}`);\n }\n }\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;\n const { command: args, warnings } = this.getArgs(options);\n const url = `${this.getUrl(this.modelId)}/converse`;\n const { value: response, responseHeaders } = await postJsonToApi({\n url,\n headers: combineHeaders(\n await resolve(this.config.headers),\n options.headers\n ),\n body: args,\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: BedrockErrorSchema,\n errorToMessage: (error) => {\n var _a2;\n return `${(_a2 = error.message) != null ? _a2 : \"Unknown error\"}`;\n }\n }),\n successfulResponseHandler: createJsonResponseHandler(\n BedrockResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { messages: rawPrompt, ...rawSettings } = args;\n const providerMetadata = response.trace || response.usage ? {\n bedrock: {\n ...response.trace && typeof response.trace === \"object\" ? { trace: response.trace } : {},\n ...response.usage && {\n usage: {\n cacheReadInputTokens: (_b = (_a = response.usage) == null ? void 0 : _a.cacheReadInputTokens) != null ? _b : Number.NaN,\n cacheWriteInputTokens: (_d = (_c = response.usage) == null ? void 0 : _c.cacheWriteInputTokens) != null ? _d : Number.NaN\n }\n }\n }\n } : void 0;\n const reasoning = response.output.message.content.filter((content) => content.reasoningContent).map((content) => {\n var _a2;\n if (content.reasoningContent && \"reasoningText\" in content.reasoningContent) {\n return {\n type: \"text\",\n text: content.reasoningContent.reasoningText.text,\n ...content.reasoningContent.reasoningText.signature && {\n signature: content.reasoningContent.reasoningText.signature\n }\n };\n } else if (content.reasoningContent && \"redactedReasoning\" in content.reasoningContent) {\n return {\n type: \"redacted\",\n data: (_a2 = content.reasoningContent.redactedReasoning.data) != null ? _a2 : \"\"\n };\n } else {\n return void 0;\n }\n }).filter((item) => item !== void 0);\n return {\n text: (_h = (_g = (_f = (_e = response.output) == null ? void 0 : _e.message) == null ? void 0 : _f.content) == null ? void 0 : _g.map((part) => {\n var _a2;\n return (_a2 = part.text) != null ? _a2 : \"\";\n }).join(\"\")) != null ? _h : void 0,\n toolCalls: (_l = (_k = (_j = (_i = response.output) == null ? void 0 : _i.message) == null ? void 0 : _j.content) == null ? void 0 : _k.filter((part) => !!part.toolUse)) == null ? void 0 : _l.map((part) => {\n var _a2, _b2, _c2, _d2, _e2, _f2;\n return {\n toolCallType: \"function\",\n toolCallId: (_b2 = (_a2 = part.toolUse) == null ? void 0 : _a2.toolUseId) != null ? _b2 : this.config.generateId(),\n toolName: (_d2 = (_c2 = part.toolUse) == null ? void 0 : _c2.name) != null ? _d2 : `tool-${this.config.generateId()}`,\n args: JSON.stringify((_f2 = (_e2 = part.toolUse) == null ? void 0 : _e2.input) != null ? _f2 : \"\")\n };\n }),\n finishReason: mapBedrockFinishReason(\n response.stopReason\n ),\n usage: {\n promptTokens: (_n = (_m = response.usage) == null ? void 0 : _m.inputTokens) != null ? _n : Number.NaN,\n completionTokens: (_p = (_o = response.usage) == null ? void 0 : _o.outputTokens) != null ? _p : Number.NaN\n },\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings,\n reasoning: reasoning.length > 0 ? reasoning : void 0,\n ...providerMetadata && { providerMetadata }\n };\n }\n async doStream(options) {\n const { command: args, warnings } = this.getArgs(options);\n const url = `${this.getUrl(this.modelId)}/converse-stream`;\n const { value: response, responseHeaders } = await postJsonToApi({\n url,\n headers: combineHeaders(\n await resolve(this.config.headers),\n options.headers\n ),\n body: args,\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: BedrockErrorSchema,\n errorToMessage: (error) => `${error.type}: ${error.message}`\n }),\n successfulResponseHandler: createBedrockEventStreamResponseHandler(BedrockStreamSchema),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { messages: rawPrompt, ...rawSettings } = args;\n let finishReason = \"unknown\";\n let usage = {\n promptTokens: Number.NaN,\n completionTokens: Number.NaN\n };\n let providerMetadata = void 0;\n const toolCallContentBlocks = {};\n return {\n stream: response.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;\n function enqueueError(bedrockError) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: bedrockError });\n }\n if (!chunk.success) {\n enqueueError(chunk.error);\n return;\n }\n const value = chunk.value;\n if (value.internalServerException) {\n enqueueError(value.internalServerException);\n return;\n }\n if (value.modelStreamErrorException) {\n enqueueError(value.modelStreamErrorException);\n return;\n }\n if (value.throttlingException) {\n enqueueError(value.throttlingException);\n return;\n }\n if (value.validationException) {\n enqueueError(value.validationException);\n return;\n }\n if (value.messageStop) {\n finishReason = mapBedrockFinishReason(\n value.messageStop.stopReason\n );\n }\n if (value.metadata) {\n usage = {\n promptTokens: (_b = (_a = value.metadata.usage) == null ? void 0 : _a.inputTokens) != null ? _b : Number.NaN,\n completionTokens: (_d = (_c = value.metadata.usage) == null ? void 0 : _c.outputTokens) != null ? _d : Number.NaN\n };\n const cacheUsage = ((_e = value.metadata.usage) == null ? void 0 : _e.cacheReadInputTokens) != null || ((_f = value.metadata.usage) == null ? void 0 : _f.cacheWriteInputTokens) != null ? {\n usage: {\n cacheReadInputTokens: (_h = (_g = value.metadata.usage) == null ? void 0 : _g.cacheReadInputTokens) != null ? _h : Number.NaN,\n cacheWriteInputTokens: (_j = (_i = value.metadata.usage) == null ? void 0 : _i.cacheWriteInputTokens) != null ? _j : Number.NaN\n }\n } : void 0;\n const trace = value.metadata.trace ? {\n trace: value.metadata.trace\n } : void 0;\n if (cacheUsage || trace) {\n providerMetadata = {\n bedrock: {\n ...cacheUsage,\n ...trace\n }\n };\n }\n }\n if (((_k = value.contentBlockDelta) == null ? void 0 : _k.delta) && \"text\" in value.contentBlockDelta.delta && value.contentBlockDelta.delta.text) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: value.contentBlockDelta.delta.text\n });\n }\n if (((_l = value.contentBlockDelta) == null ? void 0 : _l.delta) && \"reasoningContent\" in value.contentBlockDelta.delta && value.contentBlockDelta.delta.reasoningContent) {\n const reasoningContent = value.contentBlockDelta.delta.reasoningContent;\n if (\"text\" in reasoningContent && reasoningContent.text) {\n controller.enqueue({\n type: \"reasoning\",\n textDelta: reasoningContent.text\n });\n } else if (\"signature\" in reasoningContent && reasoningContent.signature) {\n controller.enqueue({\n type: \"reasoning-signature\",\n signature: reasoningContent.signature\n });\n } else if (\"data\" in reasoningContent && reasoningContent.data) {\n controller.enqueue({\n type: \"redacted-reasoning\",\n data: reasoningContent.data\n });\n }\n }\n const contentBlockStart = value.contentBlockStart;\n if (((_m = contentBlockStart == null ? void 0 : contentBlockStart.start) == null ? void 0 : _m.toolUse) != null) {\n const toolUse = contentBlockStart.start.toolUse;\n toolCallContentBlocks[contentBlockStart.contentBlockIndex] = {\n toolCallId: toolUse.toolUseId,\n toolName: toolUse.name,\n jsonText: \"\"\n };\n }\n const contentBlockDelta = value.contentBlockDelta;\n if ((contentBlockDelta == null ? void 0 : contentBlockDelta.delta) && \"toolUse\" in contentBlockDelta.delta && contentBlockDelta.delta.toolUse) {\n const contentBlock = toolCallContentBlocks[contentBlockDelta.contentBlockIndex];\n const delta = (_n = contentBlockDelta.delta.toolUse.input) != null ? _n : \"\";\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallType: \"function\",\n toolCallId: contentBlock.toolCallId,\n toolName: contentBlock.toolName,\n argsTextDelta: delta\n });\n contentBlock.jsonText += delta;\n }\n const contentBlockStop = value.contentBlockStop;\n if (contentBlockStop != null) {\n const index = contentBlockStop.contentBlockIndex;\n const contentBlock = toolCallContentBlocks[index];\n if (contentBlock != null) {\n controller.enqueue({\n type: \"tool-call\",\n toolCallType: \"function\",\n toolCallId: contentBlock.toolCallId,\n toolName: contentBlock.toolName,\n args: contentBlock.jsonText\n });\n delete toolCallContentBlocks[index];\n }\n }\n },\n flush(controller) {\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage,\n ...providerMetadata && { providerMetadata }\n });\n }\n })\n ),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings\n };\n }\n getUrl(modelId) {\n const encodedModelId = encodeURIComponent(modelId);\n return `${this.config.baseUrl()}/model/${encodedModelId}`;\n }\n};\nvar BedrockReasoningConfigOptionsSchema = z2.object({\n type: z2.union([z2.literal(\"enabled\"), z2.literal(\"disabled\")]).nullish(),\n budget_tokens: z2.number().nullish(),\n budgetTokens: z2.number().nullish()\n}).nullish();\nvar BedrockStopReasonSchema = z2.union([\n z2.enum(BEDROCK_STOP_REASONS),\n z2.string()\n]);\nvar BedrockToolUseSchema = z2.object({\n toolUseId: z2.string(),\n name: z2.string(),\n input: z2.unknown()\n});\nvar BedrockReasoningTextSchema = z2.object({\n signature: z2.string().nullish(),\n text: z2.string()\n});\nvar BedrockRedactedReasoningSchema = z2.object({\n data: z2.string()\n});\nvar BedrockResponseSchema = z2.object({\n metrics: z2.object({\n latencyMs: z2.number()\n }).nullish(),\n output: z2.object({\n message: z2.object({\n content: z2.array(\n z2.object({\n text: z2.string().nullish(),\n toolUse: BedrockToolUseSchema.nullish(),\n reasoningContent: z2.union([\n z2.object({\n reasoningText: BedrockReasoningTextSchema\n }),\n z2.object({\n redactedReasoning: BedrockRedactedReasoningSchema\n })\n ]).nullish()\n })\n ),\n role: z2.string()\n })\n }),\n stopReason: BedrockStopReasonSchema,\n trace: z2.unknown().nullish(),\n usage: z2.object({\n inputTokens: z2.number(),\n outputTokens: z2.number(),\n totalTokens: z2.number(),\n cacheReadInputTokens: z2.number().nullish(),\n cacheWriteInputTokens: z2.number().nullish()\n })\n});\nvar BedrockStreamSchema = z2.object({\n contentBlockDelta: z2.object({\n contentBlockIndex: z2.number(),\n delta: z2.union([\n z2.object({ text: z2.string() }),\n z2.object({ toolUse: z2.object({ input: z2.string() }) }),\n z2.object({\n reasoningContent: z2.object({ text: z2.string() })\n }),\n z2.object({\n reasoningContent: z2.object({\n signature: z2.string()\n })\n }),\n z2.object({\n reasoningContent: z2.object({ data: z2.string() })\n })\n ]).nullish()\n }).nullish(),\n contentBlockStart: z2.object({\n contentBlockIndex: z2.number(),\n start: z2.object({\n toolUse: BedrockToolUseSchema.nullish()\n }).nullish()\n }).nullish(),\n contentBlockStop: z2.object({\n contentBlockIndex: z2.number()\n }).nullish(),\n internalServerException: z2.record(z2.unknown()).nullish(),\n messageStop: z2.object({\n additionalModelResponseFields: z2.record(z2.unknown()).nullish(),\n stopReason: BedrockStopReasonSchema\n }).nullish(),\n metadata: z2.object({\n trace: z2.unknown().nullish(),\n usage: z2.object({\n cacheReadInputTokens: z2.number().nullish(),\n cacheWriteInputTokens: z2.number().nullish(),\n inputTokens: z2.number(),\n outputTokens: z2.number()\n }).nullish()\n }).nullish(),\n modelStreamErrorException: z2.record(z2.unknown()).nullish(),\n throttlingException: z2.record(z2.unknown()).nullish(),\n validationException: z2.record(z2.unknown()).nullish()\n});\n\n// src/bedrock-embedding-model.ts\nimport {\n combineHeaders as combineHeaders2,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler2,\n createJsonResponseHandler as createJsonResponseHandler2,\n postJsonToApi as postJsonToApi2,\n resolve as resolve2\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod\";\nvar BedrockEmbeddingModel = class {\n constructor(modelId, settings, config) {\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n this.specificationVersion = \"v1\";\n this.provider = \"amazon-bedrock\";\n this.maxEmbeddingsPerCall = void 0;\n this.supportsParallelCalls = true;\n }\n getUrl(modelId) {\n const encodedModelId = encodeURIComponent(modelId);\n return `${this.config.baseUrl()}/model/${encodedModelId}/invoke`;\n }\n async doEmbed({\n values,\n headers,\n abortSignal\n }) {\n const embedSingleText = async (inputText) => {\n const args = {\n inputText,\n dimensions: this.settings.dimensions,\n normalize: this.settings.normalize\n };\n const url = this.getUrl(this.modelId);\n const { value: response } = await postJsonToApi2({\n url,\n headers: await resolve2(\n combineHeaders2(await resolve2(this.config.headers), headers)\n ),\n body: args,\n failedResponseHandler: createJsonErrorResponseHandler2({\n errorSchema: BedrockErrorSchema,\n errorToMessage: (error) => `${error.type}: ${error.message}`\n }),\n successfulResponseHandler: createJsonResponseHandler2(\n BedrockEmbeddingResponseSchema\n ),\n fetch: this.config.fetch,\n abortSignal\n });\n return {\n embedding: response.embedding,\n inputTextTokenCount: response.inputTextTokenCount\n };\n };\n const responses = await Promise.all(values.map(embedSingleText));\n return responses.reduce(\n (accumulated, response) => {\n accumulated.embeddings.push(response.embedding);\n accumulated.usage.tokens += response.inputTextTokenCount;\n return accumulated;\n },\n { embeddings: [], usage: { tokens: 0 } }\n );\n }\n};\nvar BedrockEmbeddingResponseSchema = z3.object({\n embedding: z3.array(z3.number()),\n inputTextTokenCount: z3.number()\n});\n\n// src/bedrock-image-model.ts\nimport {\n combineHeaders as combineHeaders3,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler3,\n createJsonResponseHandler as createJsonResponseHandler3,\n postJsonToApi as postJsonToApi3,\n resolve as resolve3\n} from \"@ai-sdk/provider-utils\";\n\n// src/bedrock-image-settings.ts\nvar modelMaxImagesPerCall = {\n \"amazon.nova-canvas-v1:0\": 5\n};\n\n// src/bedrock-image-model.ts\nimport { z as z4 } from \"zod\";\nvar BedrockImageModel = class {\n constructor(modelId, settings, config) {\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n this.specificationVersion = \"v1\";\n this.provider = \"amazon-bedrock\";\n }\n get maxImagesPerCall() {\n var _a, _b;\n return (_b = (_a = this.settings.maxImagesPerCall) != null ? _a : modelMaxImagesPerCall[this.modelId]) != null ? _b : 1;\n }\n getUrl(modelId) {\n const encodedModelId = encodeURIComponent(modelId);\n return `${this.config.baseUrl()}/model/${encodedModelId}/invoke`;\n }\n async doGenerate({\n prompt,\n n,\n size,\n aspectRatio,\n seed,\n providerOptions,\n headers,\n abortSignal\n }) {\n var _a, _b, _c, _d, _e, _f;\n const warnings = [];\n const [width, height] = size ? size.split(\"x\").map(Number) : [];\n const args = {\n taskType: \"TEXT_IMAGE\",\n textToImageParams: {\n text: prompt,\n ...((_a = providerOptions == null ? void 0 : providerOptions.bedrock) == null ? void 0 : _a.negativeText) ? {\n negativeText: providerOptions.bedrock.negativeText\n } : {}\n },\n imageGenerationConfig: {\n ...width ? { width } : {},\n ...height ? { height } : {},\n ...seed ? { seed } : {},\n ...n ? { numberOfImages: n } : {},\n ...((_b = providerOptions == null ? void 0 : providerOptions.bedrock) == null ? void 0 : _b.quality) ? { quality: providerOptions.bedrock.quality } : {},\n ...((_c = providerOptions == null ? void 0 : providerOptions.bedrock) == null ? void 0 : _c.cfgScale) ? { cfgScale: providerOptions.bedrock.cfgScale } : {}\n }\n };\n if (aspectRatio != void 0) {\n warnings.push({\n type: \"unsupported-setting\",\n setting: \"aspectRatio\",\n details: \"This model does not support aspect ratio. Use `size` instead.\"\n });\n }\n const currentDate = (_f = (_e = (_d = this.config._internal) == null ? void 0 : _d.currentDate) == null ? void 0 : _e.call(_d)) != null ? _f : /* @__PURE__ */ new Date();\n const { value: response, responseHeaders } = await postJsonToApi3({\n url: this.getUrl(this.modelId),\n headers: await resolve3(\n combineHeaders3(await resolve3(this.config.headers), headers)\n ),\n body: args,\n failedResponseHandler: createJsonErrorResponseHandler3({\n errorSchema: BedrockErrorSchema,\n errorToMessage: (error) => `${error.type}: ${error.message}`\n }),\n successfulResponseHandler: createJsonResponseHandler3(\n bedrockImageResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n images: response.images,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders\n }\n };\n }\n};\nvar bedrockImageResponseSchema = z4.object({\n images: z4.array(z4.string())\n});\n\n// src/headers-utils.ts\nfunction extractHeaders(headers) {\n let originalHeaders = {};\n if (headers) {\n if (headers instanceof Headers) {\n originalHeaders = convertHeadersToRecord(headers);\n } else if (Array.isArray(headers)) {\n for (const [k, v] of headers) {\n originalHeaders[k.toLowerCase()] = v;\n }\n } else {\n originalHeaders = Object.fromEntries(\n Object.entries(headers).map(([k, v]) => [k.toLowerCase(), v])\n );\n }\n }\n return originalHeaders;\n}\nfunction convertHeadersToRecord(headers) {\n const record = {};\n headers.forEach((value, key) => {\n record[key.toLowerCase()] = value;\n });\n return record;\n}\n\n// src/bedrock-sigv4-fetch.ts\nimport {\n combineHeaders as combineHeaders4,\n removeUndefinedEntries\n} from \"@ai-sdk/provider-utils\";\nimport { AwsV4Signer } from \"aws4fetch\";\nfunction createSigV4FetchFunction(getCredentials, fetch = globalThis.fetch) {\n return async (input, init) => {\n var _a;\n if (((_a = init == null ? void 0 : init.method) == null ? void 0 : _a.toUpperCase()) !== \"POST\" || !(init == null ? void 0 : init.body)) {\n return fetch(input, init);\n }\n const url = typeof input === \"string\" ? input : input instanceof URL ? input.href : input.url;\n const originalHeaders = extractHeaders(init.headers);\n const body = prepareBodyString(init.body);\n const credentials = await getCredentials();\n const signer = new AwsV4Signer({\n url,\n method: \"POST\",\n headers: Object.entries(removeUndefinedEntries(originalHeaders)),\n body,\n region: credentials.region,\n accessKeyId: credentials.accessKeyId,\n secretAccessKey: credentials.secretAccessKey,\n sessionToken: credentials.sessionToken,\n service: \"bedrock\"\n });\n const signingResult = await signer.sign();\n const signedHeaders = convertHeadersToRecord(signingResult.headers);\n return fetch(input, {\n ...init,\n body,\n headers: removeUndefinedEntries(\n combineHeaders4(originalHeaders, signedHeaders)\n )\n });\n };\n}\nfunction prepareBodyString(body) {\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// src/bedrock-provider.ts\nfunction createAmazonBedrock(options = {}) {\n const sigv4Fetch = createSigV4FetchFunction(async () => {\n const region = loadSetting({\n settingValue: options.region,\n settingName: \"region\",\n environmentVariableName: \"AWS_REGION\",\n description: \"AWS region\"\n });\n if (options.credentialProvider) {\n return {\n ...await options.credentialProvider(),\n region\n };\n }\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 }, options.fetch);\n const getBaseUrl = () => {\n var _a, _b;\n return (_b = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : `https://bedrock-runtime.${loadSetting({\n settingValue: options.region,\n settingName: \"region\",\n environmentVariableName: \"AWS_REGION\",\n description: \"AWS region\"\n })}.amazonaws.com`\n )) != null ? _b : `https://bedrock-runtime.us-east-1.amazonaws.com`;\n };\n const createChatModel = (modelId, settings = {}) => {\n var _a;\n return new BedrockChatLanguageModel(modelId, settings, {\n baseUrl: getBaseUrl,\n headers: (_a = options.headers) != null ? _a : {},\n fetch: sigv4Fetch,\n generateId\n });\n };\n const provider = function(modelId, settings) {\n if (new.target) {\n throw new Error(\n \"The Amazon Bedrock model function cannot be called with the new keyword.\"\n );\n }\n return createChatModel(modelId, settings);\n };\n const createEmbeddingModel = (modelId, settings = {}) => {\n var _a;\n return new BedrockEmbeddingModel(modelId, settings, {\n baseUrl: getBaseUrl,\n headers: (_a = options.headers) != null ? _a : {},\n fetch: sigv4Fetch\n });\n };\n const createImageModel = (modelId, settings = {}) => {\n var _a;\n return new BedrockImageModel(modelId, settings, {\n baseUrl: getBaseUrl,\n headers: (_a = options.headers) != null ? _a : {},\n fetch: sigv4Fetch\n });\n };\n provider.languageModel = createChatModel;\n provider.embedding = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n return provider;\n}\nvar bedrock = createAmazonBedrock();\nexport {\n bedrock,\n createAmazonBedrock\n};\n//# sourceMappingURL=index.mjs.map","// src/errors/ai-sdk-error.ts\nvar marker = \"vercel.ai.error\";\nvar symbol = Symbol.for(marker);\nvar _a;\nvar _AISDKError = class _AISDKError extends Error {\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name: name14,\n message,\n cause\n }) {\n super(message);\n this[_a] = true;\n this.name = name14;\n this.cause = cause;\n }\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error) {\n return _AISDKError.hasMarker(error, marker);\n }\n static hasMarker(error, marker15) {\n const markerSymbol = Symbol.for(marker15);\n return error != null && typeof error === \"object\" && markerSymbol in error && typeof error[markerSymbol] === \"boolean\" && error[markerSymbol] === true;\n }\n};\n_a = symbol;\nvar AISDKError = _AISDKError;\n\n// src/errors/api-call-error.ts\nvar name = \"AI_APICallError\";\nvar marker2 = `vercel.ai.error.${name}`;\nvar symbol2 = Symbol.for(marker2);\nvar _a2;\nvar APICallError = class extends AISDKError {\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null && (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500),\n // server error\n data\n }) {\n super({ name, message, cause });\n this[_a2] = true;\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker2);\n }\n};\n_a2 = symbol2;\n\n// src/errors/empty-response-body-error.ts\nvar name2 = \"AI_EmptyResponseBodyError\";\nvar marker3 = `vercel.ai.error.${name2}`;\nvar symbol3 = Symbol.for(marker3);\nvar _a3;\nvar EmptyResponseBodyError = class extends AISDKError {\n // used in isInstance\n constructor({ message = \"Empty response body\" } = {}) {\n super({ name: name2, message });\n this[_a3] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker3);\n }\n};\n_a3 = symbol3;\n\n// src/errors/get-error-message.ts\nfunction getErrorMessage(error) {\n if (error == null) {\n return \"unknown error\";\n }\n if (typeof error === \"string\") {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return JSON.stringify(error);\n}\n\n// src/errors/invalid-argument-error.ts\nvar name3 = \"AI_InvalidArgumentError\";\nvar marker4 = `vercel.ai.error.${name3}`;\nvar symbol4 = Symbol.for(marker4);\nvar _a4;\nvar InvalidArgumentError = class extends AISDKError {\n constructor({\n message,\n cause,\n argument\n }) {\n super({ name: name3, message, cause });\n this[_a4] = true;\n this.argument = argument;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker4);\n }\n};\n_a4 = symbol4;\n\n// src/errors/invalid-prompt-error.ts\nvar name4 = \"AI_InvalidPromptError\";\nvar marker5 = `vercel.ai.error.${name4}`;\nvar symbol5 = Symbol.for(marker5);\nvar _a5;\nvar InvalidPromptError = class extends AISDKError {\n constructor({\n prompt,\n message,\n cause\n }) {\n super({ name: name4, message: `Invalid prompt: ${message}`, cause });\n this[_a5] = true;\n this.prompt = prompt;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker5);\n }\n};\n_a5 = symbol5;\n\n// src/errors/invalid-response-data-error.ts\nvar name5 = \"AI_InvalidResponseDataError\";\nvar marker6 = `vercel.ai.error.${name5}`;\nvar symbol6 = Symbol.for(marker6);\nvar _a6;\nvar InvalidResponseDataError = class extends AISDKError {\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`\n }) {\n super({ name: name5, message });\n this[_a6] = true;\n this.data = data;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker6);\n }\n};\n_a6 = symbol6;\n\n// src/errors/json-parse-error.ts\nvar name6 = \"AI_JSONParseError\";\nvar marker7 = `vercel.ai.error.${name6}`;\nvar symbol7 = Symbol.for(marker7);\nvar _a7;\nvar JSONParseError = class extends AISDKError {\n constructor({ text, cause }) {\n super({\n name: name6,\n message: `JSON parsing failed: Text: ${text}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a7] = true;\n this.text = text;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker7);\n }\n};\n_a7 = symbol7;\n\n// src/errors/load-api-key-error.ts\nvar name7 = \"AI_LoadAPIKeyError\";\nvar marker8 = `vercel.ai.error.${name7}`;\nvar symbol8 = Symbol.for(marker8);\nvar _a8;\nvar LoadAPIKeyError = class extends AISDKError {\n // used in isInstance\n constructor({ message }) {\n super({ name: name7, message });\n this[_a8] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker8);\n }\n};\n_a8 = symbol8;\n\n// src/errors/load-setting-error.ts\nvar name8 = \"AI_LoadSettingError\";\nvar marker9 = `vercel.ai.error.${name8}`;\nvar symbol9 = Symbol.for(marker9);\nvar _a9;\nvar LoadSettingError = class extends AISDKError {\n // used in isInstance\n constructor({ message }) {\n super({ name: name8, message });\n this[_a9] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker9);\n }\n};\n_a9 = symbol9;\n\n// src/errors/no-content-generated-error.ts\nvar name9 = \"AI_NoContentGeneratedError\";\nvar marker10 = `vercel.ai.error.${name9}`;\nvar symbol10 = Symbol.for(marker10);\nvar _a10;\nvar NoContentGeneratedError = class extends AISDKError {\n // used in isInstance\n constructor({\n message = \"No content generated.\"\n } = {}) {\n super({ name: name9, message });\n this[_a10] = true;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker10);\n }\n};\n_a10 = symbol10;\n\n// src/errors/no-such-model-error.ts\nvar name10 = \"AI_NoSuchModelError\";\nvar marker11 = `vercel.ai.error.${name10}`;\nvar symbol11 = Symbol.for(marker11);\nvar _a11;\nvar NoSuchModelError = class extends AISDKError {\n constructor({\n errorName = name10,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`\n }) {\n super({ name: errorName, message });\n this[_a11] = true;\n this.modelId = modelId;\n this.modelType = modelType;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker11);\n }\n};\n_a11 = symbol11;\n\n// src/errors/too-many-embedding-values-for-call-error.ts\nvar name11 = \"AI_TooManyEmbeddingValuesForCallError\";\nvar marker12 = `vercel.ai.error.${name11}`;\nvar symbol12 = Symbol.for(marker12);\nvar _a12;\nvar TooManyEmbeddingValuesForCallError = class extends AISDKError {\n constructor(options) {\n super({\n name: name11,\n message: `Too many values for a single embedding call. The ${options.provider} model \"${options.modelId}\" can only embed up to ${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`\n });\n this[_a12] = true;\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker12);\n }\n};\n_a12 = symbol12;\n\n// src/errors/type-validation-error.ts\nvar name12 = \"AI_TypeValidationError\";\nvar marker13 = `vercel.ai.error.${name12}`;\nvar symbol13 = Symbol.for(marker13);\nvar _a13;\nvar _TypeValidationError = class _TypeValidationError extends AISDKError {\n constructor({ value, cause }) {\n super({\n name: name12,\n message: `Type validation failed: Value: ${JSON.stringify(value)}.\nError message: ${getErrorMessage(cause)}`,\n cause\n });\n this[_a13] = true;\n this.value = value;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker13);\n }\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause\n }) {\n return _TypeValidationError.isInstance(cause) && cause.value === value ? cause : new _TypeValidationError({ value, cause });\n }\n};\n_a13 = symbol13;\nvar TypeValidationError = _TypeValidationError;\n\n// src/errors/unsupported-functionality-error.ts\nvar name13 = \"AI_UnsupportedFunctionalityError\";\nvar marker14 = `vercel.ai.error.${name13}`;\nvar symbol14 = Symbol.for(marker14);\nvar _a14;\nvar UnsupportedFunctionalityError = class extends AISDKError {\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`\n }) {\n super({ name: name13, message });\n this[_a14] = true;\n this.functionality = functionality;\n }\n static isInstance(error) {\n return AISDKError.hasMarker(error, marker14);\n }\n};\n_a14 = symbol14;\n\n// src/json-value/is-json.ts\nfunction isJSONValue(value) {\n if (value === null || typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n return true;\n }\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n if (typeof value === \"object\") {\n return Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && isJSONValue(val)\n );\n }\n return false;\n}\nfunction isJSONArray(value) {\n return Array.isArray(value) && value.every(isJSONValue);\n}\nfunction isJSONObject(value) {\n return value != null && typeof value === \"object\" && Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && isJSONValue(val)\n );\n}\nexport {\n AISDKError,\n APICallError,\n EmptyResponseBodyError,\n InvalidArgumentError,\n InvalidPromptError,\n InvalidResponseDataError,\n JSONParseError,\n LoadAPIKeyError,\n LoadSettingError,\n NoContentGeneratedError,\n NoSuchModelError,\n TooManyEmbeddingValuesForCallError,\n TypeValidationError,\n UnsupportedFunctionalityError,\n getErrorMessage,\n isJSONArray,\n isJSONObject,\n isJSONValue\n};\n//# sourceMappingURL=index.mjs.map","class ParseError extends Error {\n constructor(message, options) {\n super(message), this.name = \"ParseError\", this.type = options.type, this.field = options.field, this.value = options.value, this.line = options.line;\n }\n}\nfunction noop(_arg) {\n}\nfunction createParser(callbacks) {\n if (typeof callbacks == \"function\")\n throw new TypeError(\n \"`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?\"\n );\n const { onEvent = noop, onError = noop, onRetry = noop, onComment } = callbacks;\n let incompleteLine = \"\", isFirstChunk = !0, id, data = \"\", eventType = \"\";\n function feed(newChunk) {\n const chunk = isFirstChunk ? newChunk.replace(/^\\xEF\\xBB\\xBF/, \"\") : newChunk, [complete, incomplete] = splitLines(`${incompleteLine}${chunk}`);\n for (const line of complete)\n parseLine(line);\n incompleteLine = incomplete, isFirstChunk = !1;\n }\n function parseLine(line) {\n if (line === \"\") {\n dispatchEvent();\n return;\n }\n if (line.startsWith(\":\")) {\n onComment && onComment(line.slice(line.startsWith(\": \") ? 2 : 1));\n return;\n }\n const fieldSeparatorIndex = line.indexOf(\":\");\n if (fieldSeparatorIndex !== -1) {\n const field = line.slice(0, fieldSeparatorIndex), offset = line[fieldSeparatorIndex + 1] === \" \" ? 2 : 1, value = line.slice(fieldSeparatorIndex + offset);\n processField(field, value, line);\n return;\n }\n processField(line, \"\", line);\n }\n function processField(field, value, line) {\n switch (field) {\n case \"event\":\n eventType = value;\n break;\n case \"data\":\n data = `${data}${value}\n`;\n break;\n case \"id\":\n id = value.includes(\"\\0\") ? void 0 : value;\n break;\n case \"retry\":\n /^\\d+$/.test(value) ? onRetry(parseInt(value, 10)) : onError(\n new ParseError(`Invalid \\`retry\\` value: \"${value}\"`, {\n type: \"invalid-retry\",\n value,\n line\n })\n );\n break;\n default:\n onError(\n new ParseError(\n `Unknown field \"${field.length > 20 ? `${field.slice(0, 20)}\\u2026` : field}\"`,\n { type: \"unknown-field\", field, value, line }\n )\n );\n break;\n }\n }\n function dispatchEvent() {\n data.length > 0 && onEvent({\n id,\n event: eventType || void 0,\n // If the data buffer's last character is a U+000A LINE FEED (LF) character,\n // then remove the last character from the data buffer.\n data: data.endsWith(`\n`) ? data.slice(0, -1) : data\n }), id = void 0, data = \"\", eventType = \"\";\n }\n function reset(options = {}) {\n incompleteLine && options.consume && parseLine(incompleteLine), isFirstChunk = !0, id = void 0, data = \"\", eventType = \"\", incompleteLine = \"\";\n }\n return { feed, reset };\n}\nfunction splitLines(chunk) {\n const lines = [];\n let incompleteLine = \"\", searchIndex = 0;\n for (; searchIndex < chunk.length; ) {\n const crIndex = chunk.indexOf(\"\\r\", searchIndex), lfIndex = chunk.indexOf(`\n`, searchIndex);\n let lineEnd = -1;\n if (crIndex !== -1 && lfIndex !== -1 ? lineEnd = Math.min(crIndex, lfIndex) : crIndex !== -1 ? lineEnd = crIndex : lfIndex !== -1 && (lineEnd = lfIndex), lineEnd === -1) {\n incompleteLine = chunk.slice(searchIndex);\n break;\n } else {\n const line = chunk.slice(searchIndex, lineEnd);\n lines.push(line), searchIndex = lineEnd + 1, chunk[searchIndex - 1] === \"\\r\" && chunk[searchIndex] === `\n` && searchIndex++;\n }\n }\n return [lines, incompleteLine];\n}\nexport {\n ParseError,\n createParser\n};\n//# sourceMappingURL=index.js.map\n","import { createParser } from \"./index.js\";\nimport { ParseError } from \"./index.js\";\nclass EventSourceParserStream extends TransformStream {\n constructor({ onError, onRetry, onComment } = {}) {\n let parser;\n super({\n start(controller) {\n parser = createParser({\n onEvent: (event) => {\n controller.enqueue(event);\n },\n onError(error) {\n onError === \"terminate\" ? controller.error(error) : typeof onError == \"function\" && onError(error);\n },\n onRetry,\n onComment\n });\n },\n transform(chunk) {\n parser.feed(chunk);\n }\n });\n }\n}\nexport {\n EventSourceParserStream,\n ParseError\n};\n//# sourceMappingURL=stream.js.map\n","// src/combine-headers.ts\nfunction combineHeaders(...headers) {\n return headers.reduce(\n (combinedHeaders, currentHeaders) => ({\n ...combinedHeaders,\n ...currentHeaders != null ? currentHeaders : {}\n }),\n {}\n );\n}\n\n// src/convert-async-iterator-to-readable-stream.ts\nfunction convertAsyncIteratorToReadableStream(iterator) {\n return new ReadableStream({\n /**\n * Called when the consumer wants to pull more data from the stream.\n *\n * @param {ReadableStreamDefaultController<T>} controller - The controller to enqueue data into the stream.\n * @returns {Promise<void>}\n */\n async pull(controller) {\n try {\n const { value, done } = await iterator.next();\n if (done) {\n controller.close();\n } else {\n controller.enqueue(value);\n }\n } catch (error) {\n controller.error(error);\n }\n },\n /**\n * Called when the consumer cancels the stream.\n */\n cancel() {\n }\n });\n}\n\n// src/delay.ts\nasync function delay(delayInMs) {\n return delayInMs == null ? Promise.resolve() : new Promise((resolve2) => setTimeout(resolve2, delayInMs));\n}\n\n// src/extract-response-headers.ts\nfunction extractResponseHeaders(response) {\n const headers = {};\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n return headers;\n}\n\n// src/generate-id.ts\nimport { InvalidArgumentError } from \"@ai-sdk/provider\";\nimport { customAlphabet } from \"nanoid/non-secure\";\nvar createIdGenerator = ({\n prefix,\n size: defaultSize = 16,\n alphabet = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\",\n separator = \"-\"\n} = {}) => {\n const generator = customAlphabet(alphabet, defaultSize);\n if (prefix == null) {\n return generator;\n }\n if (alphabet.includes(separator)) {\n throw new InvalidArgumentError({\n argument: \"separator\",\n message: `The separator \"${separator}\" must not be part of the alphabet \"${alphabet}\".`\n });\n }\n return (size) => `${prefix}${separator}${generator(size)}`;\n};\nvar generateId = createIdGenerator();\n\n// src/get-error-message.ts\nfunction getErrorMessage(error) {\n if (error == null) {\n return \"unknown error\";\n }\n if (typeof error === \"string\") {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n return JSON.stringify(error);\n}\n\n// src/get-from-api.ts\nimport { APICallError } from \"@ai-sdk/provider\";\n\n// src/remove-undefined-entries.ts\nfunction removeUndefinedEntries(record) {\n return Object.fromEntries(\n Object.entries(record).filter(([_key, value]) => value != null)\n );\n}\n\n// src/is-abort-error.ts\nfunction isAbortError(error) {\n return error instanceof Error && (error.name === \"AbortError\" || error.name === \"TimeoutError\");\n}\n\n// src/get-from-api.ts\nvar getOriginalFetch = () => globalThis.fetch;\nvar getFromApi = async ({\n url,\n headers = {},\n successfulResponseHandler,\n failedResponseHandler,\n abortSignal,\n fetch = getOriginalFetch()\n}) => {\n try {\n const response = await fetch(url, {\n method: \"GET\",\n headers: removeUndefinedEntries(headers),\n signal: abortSignal\n });\n const responseHeaders = extractResponseHeaders(response);\n if (!response.ok) {\n let errorInformation;\n try {\n errorInformation = await failedResponseHandler({\n response,\n url,\n requestBodyValues: {}\n });\n } catch (error) {\n if (isAbortError(error) || APICallError.isInstance(error)) {\n throw error;\n }\n throw new APICallError({\n message: \"Failed to process error response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: {}\n });\n }\n throw errorInformation.value;\n }\n try {\n return await successfulResponseHandler({\n response,\n url,\n requestBodyValues: {}\n });\n } catch (error) {\n if (error instanceof Error) {\n if (isAbortError(error) || APICallError.isInstance(error)) {\n throw error;\n }\n }\n throw new APICallError({\n message: \"Failed to process successful response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: {}\n });\n }\n } catch (error) {\n if (isAbortError(error)) {\n throw error;\n }\n if (error instanceof TypeError && error.message === \"fetch failed\") {\n const cause = error.cause;\n if (cause != null) {\n throw new APICallError({\n message: `Cannot connect to API: ${cause.message}`,\n cause,\n url,\n isRetryable: true,\n requestBodyValues: {}\n });\n }\n }\n throw error;\n }\n};\n\n// src/load-api-key.ts\nimport { LoadAPIKeyError } from \"@ai-sdk/provider\";\nfunction loadApiKey({\n apiKey,\n environmentVariableName,\n apiKeyParameterName = \"apiKey\",\n description\n}) {\n if (typeof apiKey === \"string\") {\n return apiKey;\n }\n if (apiKey != null) {\n throw new LoadAPIKeyError({\n message: `${description} API key must be a string.`\n });\n }\n if (typeof process === \"undefined\") {\n throw new LoadAPIKeyError({\n message: `${description} API key is missing. Pass it using the '${apiKeyParameterName}' parameter. Environment variables is not supported in this environment.`\n });\n }\n apiKey = process.env[environmentVariableName];\n if (apiKey == null) {\n throw new LoadAPIKeyError({\n message: `${description} API key is missing. Pass it using the '${apiKeyParameterName}' parameter or the ${environmentVariableName} environment variable.`\n });\n }\n if (typeof apiKey !== \"string\") {\n throw new LoadAPIKeyError({\n message: `${description} API key must be a string. The value of the ${environmentVariableName} environment variable is not a string.`\n });\n }\n return apiKey;\n}\n\n// src/load-optional-setting.ts\nfunction loadOptionalSetting({\n settingValue,\n environmentVariableName\n}) {\n if (typeof settingValue === \"string\") {\n return settingValue;\n }\n if (settingValue != null || typeof process === \"undefined\") {\n return void 0;\n }\n settingValue = process.env[environmentVariableName];\n if (settingValue == null || typeof settingValue !== \"string\") {\n return void 0;\n }\n return settingValue;\n}\n\n// src/load-setting.ts\nimport { LoadSettingError } from \"@ai-sdk/provider\";\nfunction loadSetting({\n settingValue,\n environmentVariableName,\n settingName,\n description\n}) {\n if (typeof settingValue === \"string\") {\n return settingValue;\n }\n if (settingValue != null) {\n throw new LoadSettingError({\n message: `${description} setting must be a string.`\n });\n }\n if (typeof process === \"undefined\") {\n throw new LoadSettingError({\n message: `${description} setting is missing. Pass it using the '${settingName}' parameter. Environment variables is not supported in this environment.`\n });\n }\n settingValue = process.env[environmentVariableName];\n if (settingValue == null) {\n throw new LoadSettingError({\n message: `${description} setting is missing. Pass it using the '${settingName}' parameter or the ${environmentVariableName} environment variable.`\n });\n }\n if (typeof settingValue !== \"string\") {\n throw new LoadSettingError({\n message: `${description} setting must be a string. The value of the ${environmentVariableName} environment variable is not a string.`\n });\n }\n return settingValue;\n}\n\n// src/parse-json.ts\nimport {\n JSONParseError,\n TypeValidationError as TypeValidationError2\n} from \"@ai-sdk/provider\";\nimport SecureJSON from \"secure-json-parse\";\n\n// src/validate-types.ts\nimport { TypeValidationError } from \"@ai-sdk/provider\";\n\n// src/validator.ts\nvar validatorSymbol = Symbol.for(\"vercel.ai.validator\");\nfunction validator(validate) {\n return { [validatorSymbol]: true, validate };\n}\nfunction isValidator(value) {\n return typeof value === \"object\" && value !== null && validatorSymbol in value && value[validatorSymbol] === true && \"validate\" in value;\n}\nfunction asValidator(value) {\n return isValidator(value) ? value : zodValidator(value);\n}\nfunction zodValidator(zodSchema) {\n return validator((value) => {\n const result = zodSchema.safeParse(value);\n return result.success ? { success: true, value: result.data } : { success: false, error: result.error };\n });\n}\n\n// src/validate-types.ts\nfunction validateTypes({\n value,\n schema: inputSchema\n}) {\n const result = safeValidateTypes({ value, schema: inputSchema });\n if (!result.success) {\n throw TypeValidationError.wrap({ value, cause: result.error });\n }\n return result.value;\n}\nfunction safeValidateTypes({\n value,\n schema\n}) {\n const validator2 = asValidator(schema);\n try {\n if (validator2.validate == null) {\n return { success: true, value };\n }\n const result = validator2.validate(value);\n if (result.success) {\n return result;\n }\n return {\n success: false,\n error: TypeValidationError.wrap({ value, cause: result.error })\n };\n } catch (error) {\n return {\n success: false,\n error: TypeValidationError.wrap({ value, cause: error })\n };\n }\n}\n\n// src/parse-json.ts\nfunction parseJSON({\n text,\n schema\n}) {\n try {\n const value = SecureJSON.parse(text);\n if (schema == null) {\n return value;\n }\n return validateTypes({ value, schema });\n } catch (error) {\n if (JSONParseError.isInstance(error) || TypeValidationError2.isInstance(error)) {\n throw error;\n }\n throw new JSONParseError({ text, cause: error });\n }\n}\nfunction safeParseJSON({\n text,\n schema\n}) {\n try {\n const value = SecureJSON.parse(text);\n if (schema == null) {\n return { success: true, value, rawValue: value };\n }\n const validationResult = safeValidateTypes({ value, schema });\n return validationResult.success ? { ...validationResult, rawValue: value } : validationResult;\n } catch (error) {\n return {\n success: false,\n error: JSONParseError.isInstance(error) ? error : new JSONParseError({ text, cause: error })\n };\n }\n}\nfunction isParsableJson(input) {\n try {\n SecureJSON.parse(input);\n return true;\n } catch (e) {\n return false;\n }\n}\n\n// src/post-to-api.ts\nimport { APICallError as APICallError2 } from \"@ai-sdk/provider\";\nvar getOriginalFetch2 = () => globalThis.fetch;\nvar postJsonToApi = async ({\n url,\n headers,\n body,\n failedResponseHandler,\n successfulResponseHandler,\n abortSignal,\n fetch\n}) => postToApi({\n url,\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers\n },\n body: {\n content: JSON.stringify(body),\n values: body\n },\n failedResponseHandler,\n successfulResponseHandler,\n abortSignal,\n fetch\n});\nvar postToApi = async ({\n url,\n headers = {},\n body,\n successfulResponseHandler,\n failedResponseHandler,\n abortSignal,\n fetch = getOriginalFetch2()\n}) => {\n try {\n const response = await fetch(url, {\n method: \"POST\",\n headers: removeUndefinedEntries(headers),\n body: body.content,\n signal: abortSignal\n });\n const responseHeaders = extractResponseHeaders(response);\n if (!response.ok) {\n let errorInformation;\n try {\n errorInformation = await failedResponseHandler({\n response,\n url,\n requestBodyValues: body.values\n });\n } catch (error) {\n if (isAbortError(error) || APICallError2.isInstance(error)) {\n throw error;\n }\n throw new APICallError2({\n message: \"Failed to process error response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: body.values\n });\n }\n throw errorInformation.value;\n }\n try {\n return await successfulResponseHandler({\n response,\n url,\n requestBodyValues: body.values\n });\n } catch (error) {\n if (error instanceof Error) {\n if (isAbortError(error) || APICallError2.isInstance(error)) {\n throw error;\n }\n }\n throw new APICallError2({\n message: \"Failed to process successful response\",\n cause: error,\n statusCode: response.status,\n url,\n responseHeaders,\n requestBodyValues: body.values\n });\n }\n } catch (error) {\n if (isAbortError(error)) {\n throw error;\n }\n if (error instanceof TypeError && error.message === \"fetch failed\") {\n const cause = error.cause;\n if (cause != null) {\n throw new APICallError2({\n message: `Cannot connect to API: ${cause.message}`,\n cause,\n url,\n requestBodyValues: body.values,\n isRetryable: true\n // retry when network error\n });\n }\n }\n throw error;\n }\n};\n\n// src/resolve.ts\nasync function resolve(value) {\n if (typeof value === \"function\") {\n value = value();\n }\n return Promise.resolve(value);\n}\n\n// src/response-handler.ts\nimport { APICallError as APICallError3, EmptyResponseBodyError } from \"@ai-sdk/provider\";\nimport {\n EventSourceParserStream\n} from \"eventsource-parser/stream\";\nvar createJsonErrorResponseHandler = ({\n errorSchema,\n errorToMessage,\n isRetryable\n}) => async ({ response, url, requestBodyValues }) => {\n const responseBody = await response.text();\n const responseHeaders = extractResponseHeaders(response);\n if (responseBody.trim() === \"\") {\n return {\n responseHeaders,\n value: new APICallError3({\n message: response.statusText,\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n isRetryable: isRetryable == null ? void 0 : isRetryable(response)\n })\n };\n }\n try {\n const parsedError = parseJSON({\n text: responseBody,\n schema: errorSchema\n });\n return {\n responseHeaders,\n value: new APICallError3({\n message: errorToMessage(parsedError),\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n data: parsedError,\n isRetryable: isRetryable == null ? void 0 : isRetryable(response, parsedError)\n })\n };\n } catch (parseError) {\n return {\n responseHeaders,\n value: new APICallError3({\n message: response.statusText,\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n isRetryable: isRetryable == null ? void 0 : isRetryable(response)\n })\n };\n }\n};\nvar createEventSourceResponseHandler = (chunkSchema) => async ({ response }) => {\n const responseHeaders = extractResponseHeaders(response);\n if (response.body == null) {\n throw new EmptyResponseBodyError({});\n }\n return {\n responseHeaders,\n value: response.body.pipeThrough(new TextDecoderStream()).pipeThrough(new EventSourceParserStream()).pipeThrough(\n new TransformStream({\n transform({ data }, controller) {\n if (data === \"[DONE]\") {\n return;\n }\n controller.enqueue(\n safeParseJSON({\n text: data,\n schema: chunkSchema\n })\n );\n }\n })\n )\n };\n};\nvar createJsonStreamResponseHandler = (chunkSchema) => async ({ response }) => {\n const responseHeaders = extractResponseHeaders(response);\n if (response.body == null) {\n throw new EmptyResponseBodyError({});\n }\n let buffer = \"\";\n return {\n responseHeaders,\n value: response.body.pipeThrough(new TextDecoderStream()).pipeThrough(\n new TransformStream({\n transform(chunkText, controller) {\n if (chunkText.endsWith(\"\\n\")) {\n controller.enqueue(\n safeParseJSON({\n text: buffer + chunkText,\n schema: chunkSchema\n })\n );\n buffer = \"\";\n } else {\n buffer += chunkText;\n }\n }\n })\n )\n };\n};\nvar createJsonResponseHandler = (responseSchema) => async ({ response, url, requestBodyValues }) => {\n const responseBody = await response.text();\n const parsedResult = safeParseJSON({\n text: responseBody,\n schema: responseSchema\n });\n const responseHeaders = extractResponseHeaders(response);\n if (!parsedResult.success) {\n throw new APICallError3({\n message: \"Invalid JSON response\",\n cause: parsedResult.error,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n url,\n requestBodyValues\n });\n }\n return {\n responseHeaders,\n value: parsedResult.value,\n rawValue: parsedResult.rawValue\n };\n};\nvar createBinaryResponseHandler = () => async ({ response, url, requestBodyValues }) => {\n const responseHeaders = extractResponseHeaders(response);\n if (!response.body) {\n throw new APICallError3({\n message: \"Response body is empty\",\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody: void 0\n });\n }\n try {\n const buffer = await response.arrayBuffer();\n return {\n responseHeaders,\n value: new Uint8Array(buffer)\n };\n } catch (error) {\n throw new APICallError3({\n message: \"Failed to read response as array buffer\",\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody: void 0,\n cause: error\n });\n }\n};\nvar createStatusCodeErrorResponseHandler = () => async ({ response, url, requestBodyValues }) => {\n const responseHeaders = extractResponseHeaders(response);\n const responseBody = await response.text();\n return {\n responseHeaders,\n value: new APICallError3({\n message: response.statusText,\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody\n })\n };\n};\n\n// src/uint8-utils.ts\nvar { btoa, atob } = globalThis;\nfunction convertBase64ToUint8Array(base64String) {\n const base64Url = base64String.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const latin1string = atob(base64Url);\n return Uint8Array.from(latin1string, (byte) => byte.codePointAt(0));\n}\nfunction convertUint8ArrayToBase64(array) {\n let latin1string = \"\";\n for (let i = 0; i < array.length; i++) {\n latin1string += String.fromCodePoint(array[i]);\n }\n return btoa(latin1string);\n}\n\n// src/without-trailing-slash.ts\nfunction withoutTrailingSlash(url) {\n return url == null ? void 0 : url.replace(/\\/$/, \"\");\n}\nexport {\n asValidator,\n combineHeaders,\n convertAsyncIteratorToReadableStream,\n convertBase64ToUint8Array,\n convertUint8ArrayToBase64,\n createBinaryResponseHandler,\n createEventSourceResponseHandler,\n createIdGenerator,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n createJsonStreamResponseHandler,\n createStatusCodeErrorResponseHandler,\n delay,\n extractResponseHeaders,\n generateId,\n getErrorMessage,\n getFromApi,\n isAbortError,\n isParsableJson,\n isValidator,\n loadApiKey,\n loadOptionalSetting,\n loadSetting,\n parseJSON,\n postJsonToApi,\n postToApi,\n removeUndefinedEntries,\n resolve,\n safeParseJSON,\n safeValidateTypes,\n validateTypes,\n validator,\n validatorSymbol,\n withoutTrailingSlash,\n zodValidator\n};\n//# sourceMappingURL=index.mjs.map","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\n\n// src/openrouter-facade.ts\nimport { loadApiKey, withoutTrailingSlash } from \"@ai-sdk/provider-utils\";\n\n// src/openrouter-chat-language-model.ts\nimport {\n InvalidResponseDataError,\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n isParsableJson,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z2 } from \"zod\";\n\n// src/convert-to-openrouter-chat-messages.ts\nimport { convertUint8ArrayToBase64 } from \"@ai-sdk/provider-utils\";\nfunction getCacheControl(providerMetadata) {\n var _a, _b, _c;\n const anthropic = providerMetadata == null ? void 0 : providerMetadata.anthropic;\n const openrouter2 = providerMetadata == null ? void 0 : providerMetadata.openrouter;\n return (_c = (_b = (_a = openrouter2 == null ? void 0 : openrouter2.cacheControl) != null ? _a : openrouter2 == null ? void 0 : openrouter2.cache_control) != null ? _b : anthropic == null ? void 0 : anthropic.cacheControl) != null ? _c : anthropic == null ? void 0 : anthropic.cache_control;\n}\nfunction convertToOpenRouterChatMessages(prompt) {\n var _a, _b, _c;\n const messages = [];\n for (const { role, content, providerMetadata } of prompt) {\n switch (role) {\n case \"system\": {\n messages.push({\n role: \"system\",\n content,\n cache_control: getCacheControl(providerMetadata)\n });\n break;\n }\n case \"user\": {\n if (content.length === 1 && ((_a = content[0]) == null ? void 0 : _a.type) === \"text\") {\n messages.push({\n role: \"user\",\n content: content[0].text,\n cache_control: (_b = getCacheControl(providerMetadata)) != null ? _b : getCacheControl(content[0].providerMetadata)\n });\n break;\n }\n const messageCacheControl = getCacheControl(providerMetadata);\n const contentParts = content.map(\n (part) => {\n var _a2, _b2, _c2, _d, _e, _f;\n switch (part.type) {\n case \"text\":\n return {\n type: \"text\",\n text: part.text,\n // For text parts, only use part-specific cache control\n cache_control: (_a2 = getCacheControl(part.providerMetadata)) != null ? _a2 : messageCacheControl\n };\n case \"image\":\n return {\n type: \"image_url\",\n image_url: {\n url: part.image instanceof URL ? part.image.toString() : `data:${(_b2 = part.mimeType) != null ? _b2 : \"image/jpeg\"};base64,${convertUint8ArrayToBase64(\n part.image\n )}`\n },\n // For image parts, use part-specific or message-level cache control\n cache_control: (_c2 = getCacheControl(part.providerMetadata)) != null ? _c2 : messageCacheControl\n };\n case \"file\":\n return {\n type: \"file\",\n file: {\n filename: String(\n (_e = (_d = part.providerMetadata) == null ? void 0 : _d.openrouter) == null ? void 0 : _e.filename\n ),\n file_data: part.data instanceof Uint8Array ? `data:${part.mimeType};base64,${convertUint8ArrayToBase64(part.data)}` : `data:${part.mimeType};base64,${part.data}`\n },\n cache_control: (_f = getCacheControl(part.providerMetadata)) != null ? _f : messageCacheControl\n };\n default: {\n const _exhaustiveCheck = part;\n throw new Error(\n `Unsupported content part type: ${_exhaustiveCheck}`\n );\n }\n }\n }\n );\n messages.push({\n role: \"user\",\n content: contentParts\n });\n break;\n }\n case \"assistant\": {\n let text = \"\";\n const toolCalls = [];\n for (const part of content) {\n switch (part.type) {\n case \"text\": {\n text += part.text;\n break;\n }\n case \"tool-call\": {\n toolCalls.push({\n id: part.toolCallId,\n type: \"function\",\n function: {\n name: part.toolName,\n arguments: JSON.stringify(part.args)\n }\n });\n break;\n }\n // TODO: Handle reasoning and redacted-reasoning\n case \"reasoning\":\n case \"redacted-reasoning\":\n break;\n default: {\n const _exhaustiveCheck = part;\n throw new Error(`Unsupported part: ${_exhaustiveCheck}`);\n }\n }\n }\n messages.push({\n role: \"assistant\",\n content: text,\n tool_calls: toolCalls.length > 0 ? toolCalls : void 0,\n cache_control: getCacheControl(providerMetadata)\n });\n break;\n }\n case \"tool\": {\n for (const toolResponse of content) {\n messages.push({\n role: \"tool\",\n tool_call_id: toolResponse.toolCallId,\n content: JSON.stringify(toolResponse.result),\n cache_control: (_c = getCacheControl(providerMetadata)) != null ? _c : getCacheControl(toolResponse.providerMetadata)\n });\n }\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return messages;\n}\n\n// src/map-openrouter-chat-logprobs.ts\nfunction mapOpenRouterChatLogProbsOutput(logprobs) {\n var _a, _b;\n return (_b = (_a = logprobs == null ? void 0 : logprobs.content) == null ? void 0 : _a.map(({ token, logprob, top_logprobs }) => ({\n token,\n logprob,\n topLogprobs: top_logprobs ? top_logprobs.map(({ token: token2, logprob: logprob2 }) => ({\n token: token2,\n logprob: logprob2\n })) : []\n }))) != null ? _b : void 0;\n}\n\n// src/map-openrouter-finish-reason.ts\nfunction mapOpenRouterFinishReason(finishReason) {\n switch (finishReason) {\n case \"stop\":\n return \"stop\";\n case \"length\":\n return \"length\";\n case \"content_filter\":\n return \"content-filter\";\n case \"function_call\":\n case \"tool_calls\":\n return \"tool-calls\";\n default:\n return \"unknown\";\n }\n}\n\n// src/openrouter-error.ts\nimport { createJsonErrorResponseHandler } from \"@ai-sdk/provider-utils\";\nimport { z } from \"zod\";\nvar OpenRouterErrorResponseSchema = z.object({\n error: z.object({\n message: z.string(),\n type: z.string(),\n param: z.any().nullable(),\n code: z.string().nullable()\n })\n});\nvar openrouterFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: OpenRouterErrorResponseSchema,\n errorToMessage: (data) => data.error.message\n});\n\n// src/openrouter-chat-language-model.ts\nfunction isFunctionTool(tool) {\n return \"parameters\" in tool;\n}\nvar OpenRouterChatLanguageModel = class {\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n this.defaultObjectGenerationMode = \"tool\";\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n getArgs({\n mode,\n prompt,\n maxTokens,\n temperature,\n topP,\n frequencyPenalty,\n presencePenalty,\n seed,\n stopSequences,\n responseFormat,\n topK,\n providerMetadata\n }) {\n var _a;\n const type = mode.type;\n const extraCallingBody = (_a = providerMetadata == null ? void 0 : providerMetadata[\"openrouter\"]) != null ? _a : {};\n const baseArgs = __spreadValues(__spreadValues(__spreadValues({\n // model id:\n model: this.modelId,\n models: this.settings.models,\n // model specific settings:\n logit_bias: this.settings.logitBias,\n logprobs: this.settings.logprobs === true || typeof this.settings.logprobs === \"number\" ? true : void 0,\n top_logprobs: typeof this.settings.logprobs === \"number\" ? this.settings.logprobs : typeof this.settings.logprobs === \"boolean\" ? this.settings.logprobs ? 0 : void 0 : void 0,\n user: this.settings.user,\n parallel_tool_calls: this.settings.parallelToolCalls,\n // standardized settings:\n max_tokens: maxTokens,\n temperature,\n top_p: topP,\n frequency_penalty: frequencyPenalty,\n presence_penalty: presencePenalty,\n seed,\n stop: stopSequences,\n response_format: responseFormat,\n top_k: topK,\n // messages:\n messages: convertToOpenRouterChatMessages(prompt),\n // OpenRouter specific settings:\n include_reasoning: this.settings.includeReasoning,\n reasoning: this.settings.reasoning\n }, this.config.extraBody), this.settings.extraBody), extraCallingBody);\n switch (type) {\n case \"regular\": {\n return __spreadValues(__spreadValues({}, baseArgs), prepareToolsAndToolChoice(mode));\n }\n case \"object-json\": {\n return __spreadProps(__spreadValues({}, baseArgs), {\n response_format: { type: \"json_object\" }\n });\n }\n case \"object-tool\": {\n return __spreadProps(__spreadValues({}, baseArgs), {\n tool_choice: { type: \"function\", function: { name: mode.tool.name } },\n tools: [\n {\n type: \"function\",\n function: {\n name: mode.tool.name,\n description: mode.tool.description,\n parameters: mode.tool.parameters\n }\n }\n ]\n });\n }\n // Handle all non-text types with a single default case\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError({\n functionality: `${_exhaustiveCheck} mode`\n });\n }\n }\n }\n async doGenerate(options) {\n var _b, _c, _d, _e, _f, _g, _h;\n const args = this.getArgs(options);\n const { responseHeaders, value: response } = await postJsonToApi({\n url: this.config.url({\n path: \"/chat/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: args,\n failedResponseHandler: openrouterFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n OpenRouterNonStreamChatCompletionResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const _a = args, { messages: rawPrompt } = _a, rawSettings = __objRest(_a, [\"messages\"]);\n const choice = response.choices[0];\n if (!choice) {\n throw new Error(\"No choice in response\");\n }\n return {\n response: {\n id: response.id,\n modelId: response.model\n },\n text: (_b = choice.message.content) != null ? _b : void 0,\n reasoning: (_c = choice.message.reasoning) != null ? _c : void 0,\n toolCalls: (_d = choice.message.tool_calls) == null ? void 0 : _d.map((toolCall) => {\n var _a2;\n return {\n toolCallType: \"function\",\n toolCallId: (_a2 = toolCall.id) != null ? _a2 : generateId(),\n toolName: toolCall.function.name,\n args: toolCall.function.arguments\n };\n }),\n finishReason: mapOpenRouterFinishReason(choice.finish_reason),\n usage: {\n promptTokens: (_f = (_e = response.usage) == null ? void 0 : _e.prompt_tokens) != null ? _f : 0,\n completionTokens: (_h = (_g = response.usage) == null ? void 0 : _g.completion_tokens) != null ? _h : 0\n },\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings: [],\n logprobs: mapOpenRouterChatLogProbsOutput(choice.logprobs)\n };\n }\n async doStream(options) {\n const args = this.getArgs(options);\n const { responseHeaders, value: response } = await postJsonToApi({\n url: this.config.url({\n path: \"/chat/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: __spreadProps(__spreadValues({}, args), {\n stream: true,\n // only include stream_options when in strict compatibility mode:\n stream_options: this.config.compatibility === \"strict\" ? { include_usage: true } : void 0\n }),\n failedResponseHandler: openrouterFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n OpenRouterStreamChatCompletionChunkSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const _a = args, { messages: rawPrompt } = _a, rawSettings = __objRest(_a, [\"messages\"]);\n const toolCalls = [];\n let finishReason = \"other\";\n let usage = {\n promptTokens: Number.NaN,\n completionTokens: Number.NaN\n };\n let logprobs;\n return {\n stream: response.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;\n if (!chunk.success) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n if (\"error\" in value) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: value.error });\n return;\n }\n if (value.id) {\n controller.enqueue({\n type: \"response-metadata\",\n id: value.id\n });\n }\n if (value.model) {\n controller.enqueue({\n type: \"response-metadata\",\n modelId: value.model\n });\n }\n if (value.usage != null) {\n usage = {\n promptTokens: value.usage.prompt_tokens,\n completionTokens: value.usage.completion_tokens\n };\n }\n const choice = value.choices[0];\n if ((choice == null ? void 0 : choice.finish_reason) != null) {\n finishReason = mapOpenRouterFinishReason(choice.finish_reason);\n }\n if ((choice == null ? void 0 : choice.delta) == null) {\n return;\n }\n const delta = choice.delta;\n if (delta.content != null) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: delta.content\n });\n }\n if (delta.reasoning != null) {\n controller.enqueue({\n type: \"reasoning\",\n textDelta: delta.reasoning\n });\n }\n const mappedLogprobs = mapOpenRouterChatLogProbsOutput(\n choice == null ? void 0 : choice.logprobs\n );\n if (mappedLogprobs == null ? void 0 : mappedLogprobs.length) {\n if (logprobs === void 0) logprobs = [];\n logprobs.push(...mappedLogprobs);\n }\n if (delta.tool_calls != null) {\n for (const toolCallDelta of delta.tool_calls) {\n const index = toolCallDelta.index;\n if (toolCalls[index] == null) {\n if (toolCallDelta.type !== \"function\") {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'function' type.`\n });\n }\n if (toolCallDelta.id == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'id' to be a string.`\n });\n }\n if (((_a2 = toolCallDelta.function) == null ? void 0 : _a2.name) == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'function.name' to be a string.`\n });\n }\n toolCalls[index] = {\n id: toolCallDelta.id,\n type: \"function\",\n function: {\n name: toolCallDelta.function.name,\n arguments: (_b = toolCallDelta.function.arguments) != null ? _b : \"\"\n },\n sent: false\n };\n const toolCall2 = toolCalls[index];\n if (toolCall2 == null) {\n throw new Error(\"Tool call is missing\");\n }\n if (((_c = toolCall2.function) == null ? void 0 : _c.name) != null && ((_d = toolCall2.function) == null ? void 0 : _d.arguments) != null && isParsableJson(toolCall2.function.arguments)) {\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallType: \"function\",\n toolCallId: toolCall2.id,\n toolName: toolCall2.function.name,\n argsTextDelta: toolCall2.function.arguments\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallType: \"function\",\n toolCallId: (_e = toolCall2.id) != null ? _e : generateId(),\n toolName: toolCall2.function.name,\n args: toolCall2.function.arguments\n });\n toolCall2.sent = true;\n }\n continue;\n }\n const toolCall = toolCalls[index];\n if (toolCall == null) {\n throw new Error(\"Tool call is missing\");\n }\n if (((_f = toolCallDelta.function) == null ? void 0 : _f.arguments) != null) {\n toolCall.function.arguments += (_h = (_g = toolCallDelta.function) == null ? void 0 : _g.arguments) != null ? _h : \"\";\n }\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallType: \"function\",\n toolCallId: toolCall.id,\n toolName: toolCall.function.name,\n argsTextDelta: (_i = toolCallDelta.function.arguments) != null ? _i : \"\"\n });\n if (((_j = toolCall.function) == null ? void 0 : _j.name) != null && ((_k = toolCall.function) == null ? void 0 : _k.arguments) != null && isParsableJson(toolCall.function.arguments)) {\n controller.enqueue({\n type: \"tool-call\",\n toolCallType: \"function\",\n toolCallId: (_l = toolCall.id) != null ? _l : generateId(),\n toolName: toolCall.function.name,\n args: toolCall.function.arguments\n });\n toolCall.sent = true;\n }\n }\n }\n },\n flush(controller) {\n var _a2;\n if (finishReason === \"tool-calls\") {\n for (const toolCall of toolCalls) {\n if (!toolCall.sent) {\n controller.enqueue({\n type: \"tool-call\",\n toolCallType: \"function\",\n toolCallId: (_a2 = toolCall.id) != null ? _a2 : generateId(),\n toolName: toolCall.function.name,\n // Coerce invalid arguments to an empty JSON object\n args: isParsableJson(toolCall.function.arguments) ? toolCall.function.arguments : \"{}\"\n });\n toolCall.sent = true;\n }\n }\n }\n controller.enqueue({\n type: \"finish\",\n finishReason,\n logprobs,\n usage\n });\n }\n })\n ),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings: []\n };\n }\n};\nvar OpenRouterChatCompletionBaseResponseSchema = z2.object({\n id: z2.string().optional(),\n model: z2.string().optional(),\n usage: z2.object({\n prompt_tokens: z2.number(),\n completion_tokens: z2.number(),\n total_tokens: z2.number()\n }).nullish()\n});\nvar OpenRouterNonStreamChatCompletionResponseSchema = OpenRouterChatCompletionBaseResponseSchema.extend({\n choices: z2.array(\n z2.object({\n message: z2.object({\n role: z2.literal(\"assistant\"),\n content: z2.string().nullable().optional(),\n reasoning: z2.string().nullable().optional(),\n tool_calls: z2.array(\n z2.object({\n id: z2.string().optional().nullable(),\n type: z2.literal(\"function\"),\n function: z2.object({\n name: z2.string(),\n arguments: z2.string()\n })\n })\n ).optional()\n }),\n index: z2.number(),\n logprobs: z2.object({\n content: z2.array(\n z2.object({\n token: z2.string(),\n logprob: z2.number(),\n top_logprobs: z2.array(\n z2.object({\n token: z2.string(),\n logprob: z2.number()\n })\n )\n })\n ).nullable()\n }).nullable().optional(),\n finish_reason: z2.string().optional().nullable()\n })\n )\n});\nvar OpenRouterStreamChatCompletionChunkSchema = z2.union([\n OpenRouterChatCompletionBaseResponseSchema.extend({\n choices: z2.array(\n z2.object({\n delta: z2.object({\n role: z2.enum([\"assistant\"]).optional(),\n content: z2.string().nullish(),\n reasoning: z2.string().nullish().optional(),\n tool_calls: z2.array(\n z2.object({\n index: z2.number(),\n id: z2.string().nullish(),\n type: z2.literal(\"function\").optional(),\n function: z2.object({\n name: z2.string().nullish(),\n arguments: z2.string().nullish()\n })\n })\n ).nullish()\n }).nullish(),\n logprobs: z2.object({\n content: z2.array(\n z2.object({\n token: z2.string(),\n logprob: z2.number(),\n top_logprobs: z2.array(\n z2.object({\n token: z2.string(),\n logprob: z2.number()\n })\n )\n })\n ).nullable()\n }).nullish(),\n finish_reason: z2.string().nullable().optional(),\n index: z2.number()\n })\n )\n }),\n OpenRouterErrorResponseSchema\n]);\nfunction prepareToolsAndToolChoice(mode) {\n var _a;\n const tools = ((_a = mode.tools) == null ? void 0 : _a.length) ? mode.tools : void 0;\n if (tools == null) {\n return { tools: void 0, tool_choice: void 0 };\n }\n const mappedTools = tools.map((tool) => {\n if (isFunctionTool(tool)) {\n return {\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.parameters\n }\n };\n } else {\n return {\n type: \"function\",\n function: {\n name: tool.name\n }\n };\n }\n });\n const toolChoice = mode.toolChoice;\n if (toolChoice == null) {\n return { tools: mappedTools, tool_choice: void 0 };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n case \"none\":\n case \"required\":\n return { tools: mappedTools, tool_choice: type };\n case \"tool\":\n return {\n tools: mappedTools,\n tool_choice: {\n type: \"function\",\n function: {\n name: toolChoice.toolName\n }\n }\n };\n default: {\n const _exhaustiveCheck = type;\n throw new Error(`Unsupported tool choice type: ${_exhaustiveCheck}`);\n }\n }\n}\n\n// src/openrouter-completion-language-model.ts\nimport { UnsupportedFunctionalityError as UnsupportedFunctionalityError3 } from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders2,\n createEventSourceResponseHandler as createEventSourceResponseHandler2,\n createJsonResponseHandler as createJsonResponseHandler2,\n postJsonToApi as postJsonToApi2\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod\";\n\n// src/convert-to-openrouter-completion-prompt.ts\nimport {\n InvalidPromptError,\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nfunction convertToOpenRouterCompletionPrompt({\n prompt,\n inputFormat,\n user = \"user\",\n assistant = \"assistant\"\n}) {\n if (inputFormat === \"prompt\" && prompt.length === 1 && prompt[0] && prompt[0].role === \"user\" && prompt[0].content.length === 1 && prompt[0].content[0] && prompt[0].content[0].type === \"text\") {\n return { prompt: prompt[0].content[0].text };\n }\n let text = \"\";\n if (prompt[0] && prompt[0].role === \"system\") {\n text += `${prompt[0].content}\n\n`;\n prompt = prompt.slice(1);\n }\n for (const { role, content } of prompt) {\n switch (role) {\n case \"system\": {\n throw new InvalidPromptError({\n message: \"Unexpected system message in prompt: ${content}\",\n prompt\n });\n }\n case \"user\": {\n const userMessage = content.map((part) => {\n switch (part.type) {\n case \"text\": {\n return part.text;\n }\n case \"image\": {\n throw new UnsupportedFunctionalityError2({\n functionality: \"images\"\n });\n }\n case \"file\": {\n throw new UnsupportedFunctionalityError2({\n functionality: \"file attachments\"\n });\n }\n default: {\n const _exhaustiveCheck = part;\n throw new Error(\n `Unsupported content type: ${_exhaustiveCheck}`\n );\n }\n }\n }).join(\"\");\n text += `${user}:\n${userMessage}\n\n`;\n break;\n }\n case \"assistant\": {\n const assistantMessage = content.map((part) => {\n switch (part.type) {\n case \"text\": {\n return part.text;\n }\n case \"tool-call\": {\n throw new UnsupportedFunctionalityError2({\n functionality: \"tool-call messages\"\n });\n }\n case \"reasoning\": {\n throw new UnsupportedFunctionalityError2({\n functionality: \"reasoning messages\"\n });\n }\n case \"redacted-reasoning\": {\n throw new UnsupportedFunctionalityError2({\n functionality: \"redacted reasoning messages\"\n });\n }\n default: {\n const _exhaustiveCheck = part;\n throw new Error(\n `Unsupported content type: ${_exhaustiveCheck}`\n );\n }\n }\n }).join(\"\");\n text += `${assistant}:\n${assistantMessage}\n\n`;\n break;\n }\n case \"tool\": {\n throw new UnsupportedFunctionalityError2({\n functionality: \"tool messages\"\n });\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n text += `${assistant}:\n`;\n return {\n prompt: text\n };\n}\n\n// src/map-openrouter-completion-logprobs.ts\nfunction mapOpenRouterCompletionLogProbs(logprobs) {\n return logprobs == null ? void 0 : logprobs.tokens.map((token, index) => {\n var _a, _b;\n return {\n token,\n logprob: (_a = logprobs.token_logprobs[index]) != null ? _a : 0,\n topLogprobs: logprobs.top_logprobs ? Object.entries((_b = logprobs.top_logprobs[index]) != null ? _b : {}).map(\n ([token2, logprob]) => ({\n token: token2,\n logprob\n })\n ) : []\n };\n });\n}\n\n// src/openrouter-completion-language-model.ts\nvar OpenRouterCompletionLanguageModel = class {\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n this.defaultObjectGenerationMode = void 0;\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n getArgs({\n mode,\n inputFormat,\n prompt,\n maxTokens,\n temperature,\n topP,\n frequencyPenalty,\n presencePenalty,\n seed,\n responseFormat,\n topK,\n stopSequences,\n providerMetadata\n }) {\n var _a, _b;\n const type = mode.type;\n const extraCallingBody = (_a = providerMetadata == null ? void 0 : providerMetadata[\"openrouter\"]) != null ? _a : {};\n const { prompt: completionPrompt } = convertToOpenRouterCompletionPrompt({\n prompt,\n inputFormat\n });\n const baseArgs = __spreadValues(__spreadValues(__spreadValues({\n // model id:\n model: this.modelId,\n models: this.settings.models,\n // model specific settings:\n logit_bias: this.settings.logitBias,\n logprobs: typeof this.settings.logprobs === \"number\" ? this.settings.logprobs : typeof this.settings.logprobs === \"boolean\" ? this.settings.logprobs ? 0 : void 0 : void 0,\n suffix: this.settings.suffix,\n user: this.settings.user,\n // standardized settings:\n max_tokens: maxTokens,\n temperature,\n top_p: topP,\n frequency_penalty: frequencyPenalty,\n presence_penalty: presencePenalty,\n seed,\n stop: stopSequences,\n response_format: responseFormat,\n top_k: topK,\n // prompt:\n prompt: completionPrompt,\n // OpenRouter specific settings:\n include_reasoning: this.settings.includeReasoning,\n reasoning: this.settings.reasoning\n }, this.config.extraBody), this.settings.extraBody), extraCallingBody);\n switch (type) {\n case \"regular\": {\n if ((_b = mode.tools) == null ? void 0 : _b.length) {\n throw new UnsupportedFunctionalityError3({\n functionality: \"tools\"\n });\n }\n if (mode.toolChoice) {\n throw new UnsupportedFunctionalityError3({\n functionality: \"toolChoice\"\n });\n }\n return baseArgs;\n }\n case \"object-json\": {\n throw new UnsupportedFunctionalityError3({\n functionality: \"object-json mode\"\n });\n }\n case \"object-tool\": {\n throw new UnsupportedFunctionalityError3({\n functionality: \"object-tool mode\"\n });\n }\n // Handle all non-text types with a single default case\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError3({\n functionality: `${_exhaustiveCheck} mode`\n });\n }\n }\n }\n async doGenerate(options) {\n var _b, _c, _d, _e, _f;\n const args = this.getArgs(options);\n const { responseHeaders, value: response } = await postJsonToApi2({\n url: this.config.url({\n path: \"/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders2(this.config.headers(), options.headers),\n body: args,\n failedResponseHandler: openrouterFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n OpenRouterCompletionChunkSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const _a = args, { prompt: rawPrompt } = _a, rawSettings = __objRest(_a, [\"prompt\"]);\n if (\"error\" in response) {\n throw new Error(`${response.error.message}`);\n }\n const choice = response.choices[0];\n if (!choice) {\n throw new Error(\"No choice in OpenRouter completion response\");\n }\n return {\n response: {\n id: response.id,\n modelId: response.model\n },\n text: (_b = choice.text) != null ? _b : \"\",\n reasoning: choice.reasoning || void 0,\n usage: {\n promptTokens: (_d = (_c = response.usage) == null ? void 0 : _c.prompt_tokens) != null ? _d : 0,\n completionTokens: (_f = (_e = response.usage) == null ? void 0 : _e.completion_tokens) != null ? _f : 0\n },\n finishReason: mapOpenRouterFinishReason(choice.finish_reason),\n logprobs: mapOpenRouterCompletionLogProbs(choice.logprobs),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings: []\n };\n }\n async doStream(options) {\n const args = this.getArgs(options);\n const { responseHeaders, value: response } = await postJsonToApi2({\n url: this.config.url({\n path: \"/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders2(this.config.headers(), options.headers),\n body: __spreadProps(__spreadValues({}, this.getArgs(options)), {\n stream: true,\n // only include stream_options when in strict compatibility mode:\n stream_options: this.config.compatibility === \"strict\" ? { include_usage: true } : void 0\n }),\n failedResponseHandler: openrouterFailedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler2(\n OpenRouterCompletionChunkSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const _a = args, { prompt: rawPrompt } = _a, rawSettings = __objRest(_a, [\"prompt\"]);\n let finishReason = \"other\";\n let usage = {\n promptTokens: Number.NaN,\n completionTokens: Number.NaN\n };\n let logprobs;\n return {\n stream: response.pipeThrough(\n new TransformStream({\n transform(chunk, controller) {\n if (!chunk.success) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n if (\"error\" in value) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: value.error });\n return;\n }\n if (value.usage != null) {\n usage = {\n promptTokens: value.usage.prompt_tokens,\n completionTokens: value.usage.completion_tokens\n };\n }\n const choice = value.choices[0];\n if ((choice == null ? void 0 : choice.finish_reason) != null) {\n finishReason = mapOpenRouterFinishReason(choice.finish_reason);\n }\n if ((choice == null ? void 0 : choice.text) != null) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: choice.text\n });\n }\n const mappedLogprobs = mapOpenRouterCompletionLogProbs(\n choice == null ? void 0 : choice.logprobs\n );\n if (mappedLogprobs == null ? void 0 : mappedLogprobs.length) {\n if (logprobs === void 0) logprobs = [];\n logprobs.push(...mappedLogprobs);\n }\n },\n flush(controller) {\n controller.enqueue({\n type: \"finish\",\n finishReason,\n logprobs,\n usage\n });\n }\n })\n ),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings: []\n };\n }\n};\nvar OpenRouterCompletionChunkSchema = z3.union([\n z3.object({\n id: z3.string().optional(),\n model: z3.string().optional(),\n choices: z3.array(\n z3.object({\n text: z3.string(),\n reasoning: z3.string().nullish().optional(),\n finish_reason: z3.string().nullish(),\n index: z3.number(),\n logprobs: z3.object({\n tokens: z3.array(z3.string()),\n token_logprobs: z3.array(z3.number()),\n top_logprobs: z3.array(z3.record(z3.string(), z3.number())).nullable()\n }).nullable().optional()\n })\n ),\n usage: z3.object({\n prompt_tokens: z3.number(),\n completion_tokens: z3.number()\n }).optional().nullable()\n }),\n OpenRouterErrorResponseSchema\n]);\n\n// src/openrouter-facade.ts\nvar OpenRouter = class {\n /**\n * Creates a new OpenRouter provider instance.\n */\n constructor(options = {}) {\n var _a, _b;\n this.baseURL = (_b = withoutTrailingSlash((_a = options.baseURL) != null ? _a : options.baseUrl)) != null ? _b : \"https://openrouter.ai/api/v1\";\n this.apiKey = options.apiKey;\n this.headers = options.headers;\n }\n get baseConfig() {\n return {\n baseURL: this.baseURL,\n headers: () => __spreadValues({\n Authorization: `Bearer ${loadApiKey({\n apiKey: this.apiKey,\n environmentVariableName: \"OPENROUTER_API_KEY\",\n description: \"OpenRouter\"\n })}`\n }, this.headers)\n };\n }\n chat(modelId, settings = {}) {\n return new OpenRouterChatLanguageModel(modelId, settings, __spreadProps(__spreadValues({\n provider: \"openrouter.chat\"\n }, this.baseConfig), {\n compatibility: \"strict\",\n url: ({ path }) => `${this.baseURL}${path}`\n }));\n }\n completion(modelId, settings = {}) {\n return new OpenRouterCompletionLanguageModel(modelId, settings, __spreadProps(__spreadValues({\n provider: \"openrouter.completion\"\n }, this.baseConfig), {\n compatibility: \"strict\",\n url: ({ path }) => `${this.baseURL}${path}`\n }));\n }\n};\n\n// src/openrouter-provider.ts\nimport { loadApiKey as loadApiKey2, withoutTrailingSlash as withoutTrailingSlash2 } from \"@ai-sdk/provider-utils\";\nfunction createOpenRouter(options = {}) {\n var _a, _b, _c;\n const baseURL = (_b = withoutTrailingSlash2((_a = options.baseURL) != null ? _a : options.baseUrl)) != null ? _b : \"https://openrouter.ai/api/v1\";\n const compatibility = (_c = options.compatibility) != null ? _c : \"compatible\";\n const getHeaders = () => __spreadValues({\n Authorization: `Bearer ${loadApiKey2({\n apiKey: options.apiKey,\n environmentVariableName: \"OPENROUTER_API_KEY\",\n description: \"OpenRouter\"\n })}`\n }, options.headers);\n const createChatModel = (modelId, settings = {}) => new OpenRouterChatLanguageModel(modelId, settings, {\n provider: \"openrouter.chat\",\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n compatibility,\n fetch: options.fetch,\n extraBody: options.extraBody\n });\n const createCompletionModel = (modelId, settings = {}) => new OpenRouterCompletionLanguageModel(modelId, settings, {\n provider: \"openrouter.completion\",\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n compatibility,\n fetch: options.fetch,\n extraBody: options.extraBody\n });\n const createLanguageModel = (modelId, settings) => {\n if (new.target) {\n throw new Error(\n \"The OpenRouter model function cannot be called with the new keyword.\"\n );\n }\n if (modelId === \"openai/gpt-3.5-turbo-instruct\") {\n return createCompletionModel(\n modelId,\n settings\n );\n }\n return createChatModel(modelId, settings);\n };\n const provider = function(modelId, settings) {\n return createLanguageModel(modelId, settings);\n };\n provider.languageModel = createLanguageModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n return provider;\n}\nvar openrouter = createOpenRouter({\n compatibility: \"strict\"\n // strict for OpenRouter API\n});\nexport {\n OpenRouter,\n createOpenRouter,\n openrouter\n};\n//# sourceMappingURL=index.mjs.map",null,"exports.entityMap = {\n lt: '<',\n gt: '>',\n amp: '&',\n quot: '\"',\n apos: \"'\",\n Agrave: \"À\",\n Aacute: \"Á\",\n Acirc: \"Â\",\n Atilde: \"Ã\",\n Auml: \"Ä\",\n Aring: \"Å\",\n AElig: \"Æ\",\n Ccedil: \"Ç\",\n Egrave: \"È\",\n Eacute: \"É\",\n Ecirc: \"Ê\",\n Euml: \"Ë\",\n Igrave: \"Ì\",\n Iacute: \"Í\",\n Icirc: \"Î\",\n Iuml: \"Ï\",\n ETH: \"Ð\",\n Ntilde: \"Ñ\",\n Ograve: \"Ò\",\n Oacute: \"Ó\",\n Ocirc: \"Ô\",\n Otilde: \"Õ\",\n Ouml: \"Ö\",\n Oslash: \"Ø\",\n Ugrave: \"Ù\",\n Uacute: \"Ú\",\n Ucirc: \"Û\",\n Uuml: \"Ü\",\n Yacute: \"Ý\",\n THORN: \"Þ\",\n szlig: \"ß\",\n agrave: \"à\",\n aacute: \"á\",\n acirc: \"â\",\n atilde: \"ã\",\n auml: \"ä\",\n aring: \"å\",\n aelig: \"æ\",\n ccedil: \"ç\",\n egrave: \"è\",\n eacute: \"é\",\n ecirc: \"ê\",\n euml: \"ë\",\n igrave: \"ì\",\n iacute: \"í\",\n icirc: \"î\",\n iuml: \"ï\",\n eth: \"ð\",\n ntilde: \"ñ\",\n ograve: \"ò\",\n oacute: \"ó\",\n ocirc: \"ô\",\n otilde: \"õ\",\n ouml: \"ö\",\n oslash: \"ø\",\n ugrave: \"ù\",\n uacute: \"ú\",\n ucirc: \"û\",\n uuml: \"ü\",\n yacute: \"ý\",\n thorn: \"þ\",\n yuml: \"ÿ\",\n nbsp: \"\\u00a0\",\n iexcl: \"¡\",\n cent: \"¢\",\n pound: \"£\",\n curren: \"¤\",\n yen: \"¥\",\n brvbar: \"¦\",\n sect: \"§\",\n uml: \"¨\",\n copy: \"©\",\n ordf: \"ª\",\n laquo: \"«\",\n not: \"¬\",\n shy: \"­­\",\n reg: \"®\",\n macr: \"¯\",\n deg: \"°\",\n plusmn: \"±\",\n sup2: \"²\",\n sup3: \"³\",\n acute: \"´\",\n micro: \"µ\",\n para: \"¶\",\n middot: \"·\",\n cedil: \"¸\",\n sup1: \"¹\",\n ordm: \"º\",\n raquo: \"»\",\n frac14: \"¼\",\n frac12: \"½\",\n frac34: \"¾\",\n iquest: \"¿\",\n times: \"×\",\n divide: \"÷\",\n forall: \"∀\",\n part: \"∂\",\n exist: \"∃\",\n empty: \"∅\",\n nabla: \"∇\",\n isin: \"∈\",\n notin: \"∉\",\n ni: \"∋\",\n prod: \"∏\",\n sum: \"∑\",\n minus: \"−\",\n lowast: \"∗\",\n radic: \"√\",\n prop: \"∝\",\n infin: \"∞\",\n ang: \"∠\",\n and: \"∧\",\n or: \"∨\",\n cap: \"∩\",\n cup: \"∪\",\n 'int': \"∫\",\n there4: \"∴\",\n sim: \"∼\",\n cong: \"≅\",\n asymp: \"≈\",\n ne: \"≠\",\n equiv: \"≡\",\n le: \"≤\",\n ge: \"≥\",\n sub: \"⊂\",\n sup: \"⊃\",\n nsub: \"⊄\",\n sube: \"⊆\",\n supe: \"⊇\",\n oplus: \"⊕\",\n otimes: \"⊗\",\n perp: \"⊥\",\n sdot: \"⋅\",\n Alpha: \"Α\",\n Beta: \"Β\",\n Gamma: \"Γ\",\n Delta: \"Δ\",\n Epsilon: \"Ε\",\n Zeta: \"Ζ\",\n Eta: \"Η\",\n Theta: \"Θ\",\n Iota: \"Ι\",\n Kappa: \"Κ\",\n Lambda: \"Λ\",\n Mu: \"Μ\",\n Nu: \"Ν\",\n Xi: \"Ξ\",\n Omicron: \"Ο\",\n Pi: \"Π\",\n Rho: \"Ρ\",\n Sigma: \"Σ\",\n Tau: \"Τ\",\n Upsilon: \"Υ\",\n Phi: \"Φ\",\n Chi: \"Χ\",\n Psi: \"Ψ\",\n Omega: \"Ω\",\n alpha: \"α\",\n beta: \"β\",\n gamma: \"γ\",\n delta: \"δ\",\n epsilon: \"ε\",\n zeta: \"ζ\",\n eta: \"η\",\n theta: \"θ\",\n iota: \"ι\",\n kappa: \"κ\",\n lambda: \"λ\",\n mu: \"μ\",\n nu: \"ν\",\n xi: \"ξ\",\n omicron: \"ο\",\n pi: \"π\",\n rho: \"ρ\",\n sigmaf: \"ς\",\n sigma: \"σ\",\n tau: \"τ\",\n upsilon: \"υ\",\n phi: \"φ\",\n chi: \"χ\",\n psi: \"ψ\",\n omega: \"ω\",\n thetasym: \"ϑ\",\n upsih: \"ϒ\",\n piv: \"ϖ\",\n OElig: \"Œ\",\n oelig: \"œ\",\n Scaron: \"Š\",\n scaron: \"š\",\n Yuml: \"Ÿ\",\n fnof: \"ƒ\",\n circ: \"ˆ\",\n tilde: \"˜\",\n ensp: \" \",\n emsp: \" \",\n thinsp: \" \",\n zwnj: \"‌\",\n zwj: \"‍\",\n lrm: \"‎\",\n rlm: \"‏\",\n ndash: \"–\",\n mdash: \"—\",\n lsquo: \"‘\",\n rsquo: \"’\",\n sbquo: \"‚\",\n ldquo: \"“\",\n rdquo: \"”\",\n bdquo: \"„\",\n dagger: \"†\",\n Dagger: \"‡\",\n bull: \"•\",\n hellip: \"…\",\n permil: \"‰\",\n prime: \"′\",\n Prime: \"″\",\n lsaquo: \"‹\",\n rsaquo: \"›\",\n oline: \"‾\",\n euro: \"€\",\n trade: \"™\",\n larr: \"←\",\n uarr: \"↑\",\n rarr: \"→\",\n darr: \"↓\",\n harr: \"↔\",\n crarr: \"↵\",\n lceil: \"⌈\",\n rceil: \"⌉\",\n lfloor: \"⌊\",\n rfloor: \"⌋\",\n loz: \"◊\",\n spades: \"♠\",\n clubs: \"♣\",\n hearts: \"♥\",\n diams: \"♦\"\n};\n","//[4] \tNameStartChar\t ::= \t\":\" | [A-Z] | \"_\" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n//[4a] \tNameChar\t ::= \tNameStartChar | \"-\" | \".\" | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]\n//[5] \tName\t ::= \tNameStartChar (NameChar)*\nvar nameStartChar = /[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]///\\u10000-\\uEFFFF\nvar nameChar = new RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\");\nvar tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\\:'+nameStartChar.source+nameChar.source+'*)?$');\n//var tagNamePattern = /^[a-zA-Z_][\\w\\-\\.]*(?:\\:[a-zA-Z_][\\w\\-\\.]*)?$/\n//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')\n\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\nvar S_TAG = 0;//tag name offerring\nvar S_ATTR = 1;//attr name offerring \nvar S_ATTR_SPACE=2;//attr name end and space offer\nvar S_EQ = 3;//=space?\nvar S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)\nvar S_ATTR_END = 5;//attr value end and no space(quot end)\nvar S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)\nvar S_TAG_CLOSE = 7;//closed el<el />\n\n/**\n * Creates an error that will not be caught by XMLReader aka the SAX parser.\n *\n * @param {string} message\n * @param {any?} locator Optional, can provide details about the location in the source\n * @constructor\n */\nfunction ParseError(message, locator) {\n\tthis.message = message\n\tthis.locator = locator\n\tif(Error.captureStackTrace) Error.captureStackTrace(this, ParseError);\n}\nParseError.prototype = new Error();\nParseError.prototype.name = ParseError.name\n\nfunction XMLReader(){\n\t\n}\n\nXMLReader.prototype = {\n\tparse:function(source,defaultNSMap,entityMap){\n\t\tvar domBuilder = this.domBuilder;\n\t\tdomBuilder.startDocument();\n\t\t_copy(defaultNSMap ,defaultNSMap = {})\n\t\tparse(source,defaultNSMap,entityMap,\n\t\t\t\tdomBuilder,this.errorHandler);\n\t\tdomBuilder.endDocument();\n\t}\n}\nfunction parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){\n\tfunction fixedFromCharCode(code) {\n\t\t// String.prototype.fromCharCode does not supports\n\t\t// > 2 bytes unicode chars directly\n\t\tif (code > 0xffff) {\n\t\t\tcode -= 0x10000;\n\t\t\tvar surrogate1 = 0xd800 + (code >> 10)\n\t\t\t\t, surrogate2 = 0xdc00 + (code & 0x3ff);\n\n\t\t\treturn String.fromCharCode(surrogate1, surrogate2);\n\t\t} else {\n\t\t\treturn String.fromCharCode(code);\n\t\t}\n\t}\n\tfunction entityReplacer(a){\n\t\tvar k = a.slice(1,-1);\n\t\tif(k in entityMap){\n\t\t\treturn entityMap[k]; \n\t\t}else if(k.charAt(0) === '#'){\n\t\t\treturn fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))\n\t\t}else{\n\t\t\terrorHandler.error('entity not found:'+a);\n\t\t\treturn a;\n\t\t}\n\t}\n\tfunction appendText(end){//has some bugs\n\t\tif(end>start){\n\t\t\tvar xt = source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);\n\t\t\tlocator&&position(start);\n\t\t\tdomBuilder.characters(xt,0,end-start);\n\t\t\tstart = end\n\t\t}\n\t}\n\tfunction position(p,m){\n\t\twhile(p>=lineEnd && (m = linePattern.exec(source))){\n\t\t\tlineStart = m.index;\n\t\t\tlineEnd = lineStart + m[0].length;\n\t\t\tlocator.lineNumber++;\n\t\t\t//console.log('line++:',locator,startPos,endPos)\n\t\t}\n\t\tlocator.columnNumber = p-lineStart+1;\n\t}\n\tvar lineStart = 0;\n\tvar lineEnd = 0;\n\tvar linePattern = /.*(?:\\r\\n?|\\n)|.*$/g\n\tvar locator = domBuilder.locator;\n\t\n\tvar parseStack = [{currentNSMap:defaultNSMapCopy}]\n\tvar closeMap = {};\n\tvar start = 0;\n\twhile(true){\n\t\ttry{\n\t\t\tvar tagStart = source.indexOf('<',start);\n\t\t\tif(tagStart<0){\n\t\t\t\tif(!source.substr(start).match(/^\\s*$/)){\n\t\t\t\t\tvar doc = domBuilder.doc;\n\t \t\t\tvar text = doc.createTextNode(source.substr(start));\n\t \t\t\tdoc.appendChild(text);\n\t \t\t\tdomBuilder.currentElement = text;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(tagStart>start){\n\t\t\t\tappendText(tagStart);\n\t\t\t}\n\t\t\tswitch(source.charAt(tagStart+1)){\n\t\t\tcase '/':\n\t\t\t\tvar end = source.indexOf('>',tagStart+3);\n\t\t\t\tvar tagName = source.substring(tagStart+2,end);\n\t\t\t\tvar config = parseStack.pop();\n\t\t\t\tif(end<0){\n\t\t\t\t\t\n\t \t\ttagName = source.substring(tagStart+2).replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' is not complete:'+config.tagName);\n\t \t\tend = tagStart+1+tagName.length;\n\t \t}else if(tagName.match(/\\s</)){\n\t \t\ttagName = tagName.replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' maybe not complete');\n\t \t\tend = tagStart+1+tagName.length;\n\t\t\t\t}\n\t\t\t\tvar localNSMap = config.localNSMap;\n\t\t\t\tvar endMatch = config.tagName == tagName;\n\t\t\t\tvar endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase()\n\t\t if(endIgnoreCaseMach){\n\t\t \tdomBuilder.endElement(config.uri,config.localName,tagName);\n\t\t\t\t\tif(localNSMap){\n\t\t\t\t\t\tfor(var prefix in localNSMap){\n\t\t\t\t\t\t\tdomBuilder.endPrefixMapping(prefix) ;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!endMatch){\n\t\t \terrorHandler.fatalError(\"end tag name: \"+tagName+' is not match the current start tagName:'+config.tagName ); // No known test case\n\t\t\t\t\t}\n\t\t }else{\n\t\t \tparseStack.push(config)\n\t\t }\n\t\t\t\t\n\t\t\t\tend++;\n\t\t\t\tbreak;\n\t\t\t\t// end elment\n\t\t\tcase '?':// <?...?>\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseInstruction(source,tagStart,domBuilder);\n\t\t\t\tbreak;\n\t\t\tcase '!':// <!doctype,<![CDATA,<!--\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseDCC(source,tagStart,domBuilder,errorHandler);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tvar el = new ElementAttributes();\n\t\t\t\tvar currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\t\t\t\t//elStartEnd\n\t\t\t\tvar end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);\n\t\t\t\tvar len = el.length;\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tif(!entityMap.nbsp){\n\t\t\t\t\t\terrorHandler.warning('unclosed xml attribute');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(locator && len){\n\t\t\t\t\tvar locator2 = copyLocator(locator,{});\n\t\t\t\t\t//try{//attribute position fixed\n\t\t\t\t\tfor(var i = 0;i<len;i++){\n\t\t\t\t\t\tvar a = el[i];\n\t\t\t\t\t\tposition(a.offset);\n\t\t\t\t\t\ta.locator = copyLocator(locator,{});\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator2\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator;\n\t\t\t\t}else{\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif(el.uri === 'http://www.w3.org/1999/xhtml' && !el.closed){\n\t\t\t\t\tend = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)\n\t\t\t\t}else{\n\t\t\t\t\tend++;\n\t\t\t\t}\n\t\t\t}\n\t\t}catch(e){\n\t\t\tif (e instanceof ParseError) {\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\terrorHandler.error('element parse error: '+e)\n\t\t\tend = -1;\n\t\t}\n\t\tif(end>start){\n\t\t\tstart = end;\n\t\t}else{\n\t\t\t//TODO: 这里有可能sax回退,有位置错误风险\n\t\t\tappendText(Math.max(tagStart,start)+1);\n\t\t}\n\t}\n}\nfunction copyLocator(f,t){\n\tt.lineNumber = f.lineNumber;\n\tt.columnNumber = f.columnNumber;\n\treturn t;\n}\n\n/**\n * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);\n * @return end of the elementStartPart(end of elementEndPart for selfClosed el)\n */\nfunction parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){\n\n\t/**\n\t * @param {string} qname\n\t * @param {string} value\n\t * @param {number} startIndex\n\t */\n\tfunction addAttribute(qname, value, startIndex) {\n\t\tif (qname in el.attributeNames) errorHandler.fatalError('Attribute ' + qname + ' redefined')\n\t\tel.addValue(qname, value, startIndex)\n\t}\n\tvar attrName;\n\tvar value;\n\tvar p = ++start;\n\tvar s = S_TAG;//status\n\twhile(true){\n\t\tvar c = source.charAt(p);\n\t\tswitch(c){\n\t\tcase '=':\n\t\t\tif(s === S_ATTR){//attrName\n\t\t\t\tattrName = source.slice(start,p);\n\t\t\t\ts = S_EQ;\n\t\t\t}else if(s === S_ATTR_SPACE){\n\t\t\t\ts = S_EQ;\n\t\t\t}else{\n\t\t\t\t//fatalError: equal must after attrName or space after attrName\n\t\t\t\tthrow new Error('attribute equal must after attrName'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '\\'':\n\t\tcase '\"':\n\t\t\tif(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE\n\t\t\t\t){//equal\n\t\t\t\tif(s === S_ATTR){\n\t\t\t\t\terrorHandler.warning('attribute value must after \"=\"')\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t}\n\t\t\t\tstart = p+1;\n\t\t\t\tp = source.indexOf(c,start)\n\t\t\t\tif(p>0){\n\t\t\t\t\tvalue = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\n\t\t\t\t\taddAttribute(attrName, value, start-1);\n\t\t\t\t\ts = S_ATTR_END;\n\t\t\t\t}else{\n\t\t\t\t\t//fatalError: no end quot match\n\t\t\t\t\tthrow new Error('attribute value no end \\''+c+'\\' match');\n\t\t\t\t}\n\t\t\t}else if(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\tvalue = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\n\t\t\t\t//console.log(attrName,value,start,p)\n\t\t\t\taddAttribute(attrName, value, start);\n\t\t\t\t//console.dir(el)\n\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+')!!');\n\t\t\t\tstart = p+1;\n\t\t\t\ts = S_ATTR_END\n\t\t\t}else{\n\t\t\t\t//fatalError: no equal before\n\t\t\t\tthrow new Error('attribute value must after \"=\"'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '/':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\ts =S_TAG_CLOSE;\n\t\t\t\tel.closed = true;\n\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\tcase S_ATTR:\n\t\t\tcase S_ATTR_SPACE:\n\t\t\t\tbreak;\n\t\t\t//case S_EQ:\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"attribute invalid close char('/')\") // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase ''://end document\n\t\t\terrorHandler.error('unexpected end of input');\n\t\t\tif(s == S_TAG){\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\t}\n\t\t\treturn p;\n\t\tcase '>':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\tbreak;//normal\n\t\t\tcase S_ATTR_NOQUOT_VALUE://Compatible state\n\t\t\tcase S_ATTR:\n\t\t\t\tvalue = source.slice(start,p);\n\t\t\t\tif(value.slice(-1) === '/'){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tvalue = value.slice(0,-1)\n\t\t\t\t}\n\t\t\tcase S_ATTR_SPACE:\n\t\t\t\tif(s === S_ATTR_SPACE){\n\t\t\t\t\tvalue = attrName;\n\t\t\t\t}\n\t\t\t\tif(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!');\n\t\t\t\t\taddAttribute(attrName, value.replace(/&#?\\w+;/g,entityReplacer), start)\n\t\t\t\t}else{\n\t\t\t\t\tif(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(value, value, start)\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase S_EQ:\n\t\t\t\tthrow new Error('attribute value missed!!');\n\t\t\t}\n//\t\t\tconsole.log(tagName,tagNamePattern,tagNamePattern.test(tagName))\n\t\t\treturn p;\n\t\t/*xml space '\\x20' | #x9 | #xD | #xA; */\n\t\tcase '\\u0080':\n\t\t\tc = ' ';\n\t\tdefault:\n\t\t\tif(c<= ' '){//space\n\t\t\t\tswitch(s){\n\t\t\t\tcase S_TAG:\n\t\t\t\t\tel.setTagName(source.slice(start,p));//tagName\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR:\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t\ts = S_ATTR_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\t\t\tvar value = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\t//case S_TAG_SPACE:\n\t\t\t\t//case S_EQ:\n\t\t\t\t//case S_ATTR_SPACE:\n\t\t\t\t//\tvoid();break;\n\t\t\t\t//case S_TAG_CLOSE:\n\t\t\t\t\t//ignore warning\n\t\t\t\t}\n\t\t\t}else{//not space\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\n\t\t\t\tswitch(s){\n\t\t\t\t//case S_TAG:void();break;\n\t\t\t\t//case S_ATTR:void();break;\n\t\t\t\t//case S_ATTR_NOQUOT_VALUE:void();break;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tvar tagName = el.tagName;\n\t\t\t\t\tif(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead2!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(attrName, attrName, start);\n\t\t\t\t\tstart = p;\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\terrorHandler.warning('attribute space is required\"'+attrName+'\"!!')\n\t\t\t\tcase S_TAG_SPACE:\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_EQ:\n\t\t\t\t\ts = S_ATTR_NOQUOT_VALUE;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_TAG_CLOSE:\n\t\t\t\t\tthrow new Error(\"elements closed character '/' and '>' must be connected to\");\n\t\t\t\t}\n\t\t\t}\n\t\t}//end outer switch\n\t\t//console.log('p++',p)\n\t\tp++;\n\t}\n}\n/**\n * @return true if has new namespace define\n */\nfunction appendElement(el,domBuilder,currentNSMap){\n\tvar tagName = el.tagName;\n\tvar localNSMap = null;\n\t//var currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\tvar i = el.length;\n\twhile(i--){\n\t\tvar a = el[i];\n\t\tvar qName = a.qName;\n\t\tvar value = a.value;\n\t\tvar nsp = qName.indexOf(':');\n\t\tif(nsp>0){\n\t\t\tvar prefix = a.prefix = qName.slice(0,nsp);\n\t\t\tvar localName = qName.slice(nsp+1);\n\t\t\tvar nsPrefix = prefix === 'xmlns' && localName\n\t\t}else{\n\t\t\tlocalName = qName;\n\t\t\tprefix = null\n\t\t\tnsPrefix = qName === 'xmlns' && ''\n\t\t}\n\t\t//can not set prefix,because prefix !== ''\n\t\ta.localName = localName ;\n\t\t//prefix == null for no ns prefix attribute \n\t\tif(nsPrefix !== false){//hack!!\n\t\t\tif(localNSMap == null){\n\t\t\t\tlocalNSMap = {}\n\t\t\t\t//console.log(currentNSMap,0)\n\t\t\t\t_copy(currentNSMap,currentNSMap={})\n\t\t\t\t//console.log(currentNSMap,1)\n\t\t\t}\n\t\t\tcurrentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;\n\t\t\ta.uri = 'http://www.w3.org/2000/xmlns/'\n\t\t\tdomBuilder.startPrefixMapping(nsPrefix, value) \n\t\t}\n\t}\n\tvar i = el.length;\n\twhile(i--){\n\t\ta = el[i];\n\t\tvar prefix = a.prefix;\n\t\tif(prefix){//no prefix attribute has no namespace\n\t\t\tif(prefix === 'xml'){\n\t\t\t\ta.uri = 'http://www.w3.org/XML/1998/namespace';\n\t\t\t}if(prefix !== 'xmlns'){\n\t\t\t\ta.uri = currentNSMap[prefix || '']\n\t\t\t\t\n\t\t\t\t//{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}\n\t\t\t}\n\t\t}\n\t}\n\tvar nsp = tagName.indexOf(':');\n\tif(nsp>0){\n\t\tprefix = el.prefix = tagName.slice(0,nsp);\n\t\tlocalName = el.localName = tagName.slice(nsp+1);\n\t}else{\n\t\tprefix = null;//important!!\n\t\tlocalName = el.localName = tagName;\n\t}\n\t//no prefix element has default namespace\n\tvar ns = el.uri = currentNSMap[prefix || ''];\n\tdomBuilder.startElement(ns,localName,tagName,el);\n\t//endPrefixMapping and startPrefixMapping have not any help for dom builder\n\t//localNSMap = null\n\tif(el.closed){\n\t\tdomBuilder.endElement(ns,localName,tagName);\n\t\tif(localNSMap){\n\t\t\tfor(prefix in localNSMap){\n\t\t\t\tdomBuilder.endPrefixMapping(prefix) \n\t\t\t}\n\t\t}\n\t}else{\n\t\tel.currentNSMap = currentNSMap;\n\t\tel.localNSMap = localNSMap;\n\t\t//parseStack.push(el);\n\t\treturn true;\n\t}\n}\nfunction parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){\n\tif(/^(?:script|textarea)$/i.test(tagName)){\n\t\tvar elEndStart = source.indexOf('</'+tagName+'>',elStartEnd);\n\t\tvar text = source.substring(elStartEnd+1,elEndStart);\n\t\tif(/[&<]/.test(text)){\n\t\t\tif(/^script$/i.test(tagName)){\n\t\t\t\t//if(!/\\]\\]>/.test(text)){\n\t\t\t\t\t//lexHandler.startCDATA();\n\t\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\t\t//lexHandler.endCDATA();\n\t\t\t\t\treturn elEndStart;\n\t\t\t\t//}\n\t\t\t}//}else{//text area\n\t\t\t\ttext = text.replace(/&#?\\w+;/g,entityReplacer);\n\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\treturn elEndStart;\n\t\t\t//}\n\t\t\t\n\t\t}\n\t}\n\treturn elStartEnd+1;\n}\nfunction fixSelfClosed(source,elStartEnd,tagName,closeMap){\n\t//if(tagName in closeMap){\n\tvar pos = closeMap[tagName];\n\tif(pos == null){\n\t\t//console.log(tagName)\n\t\tpos = source.lastIndexOf('</'+tagName+'>')\n\t\tif(pos<elStartEnd){//忘记闭合\n\t\t\tpos = source.lastIndexOf('</'+tagName)\n\t\t}\n\t\tcloseMap[tagName] =pos\n\t}\n\treturn pos<elStartEnd;\n\t//} \n}\nfunction _copy(source,target){\n\tfor(var n in source){target[n] = source[n]}\n}\nfunction parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'\n\tvar next= source.charAt(start+2)\n\tswitch(next){\n\tcase '-':\n\t\tif(source.charAt(start + 3) === '-'){\n\t\t\tvar end = source.indexOf('-->',start+4);\n\t\t\t//append comment source.substring(4,end)//<!--\n\t\t\tif(end>start){\n\t\t\t\tdomBuilder.comment(source,start+4,end-start-4);\n\t\t\t\treturn end+3;\n\t\t\t}else{\n\t\t\t\terrorHandler.error(\"Unclosed comment\");\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}else{\n\t\t\t//error\n\t\t\treturn -1;\n\t\t}\n\tdefault:\n\t\tif(source.substr(start+3,6) == 'CDATA['){\n\t\t\tvar end = source.indexOf(']]>',start+9);\n\t\t\tdomBuilder.startCDATA();\n\t\t\tdomBuilder.characters(source,start+9,end-start-9);\n\t\t\tdomBuilder.endCDATA() \n\t\t\treturn end+3;\n\t\t}\n\t\t//<!DOCTYPE\n\t\t//startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId) \n\t\tvar matchs = split(source,start);\n\t\tvar len = matchs.length;\n\t\tif(len>1 && /!doctype/i.test(matchs[0][0])){\n\t\t\tvar name = matchs[1][0];\n\t\t\tvar pubid = false;\n\t\t\tvar sysid = false;\n\t\t\tif(len>3){\n\t\t\t\tif(/^public$/i.test(matchs[2][0])){\n\t\t\t\t\tpubid = matchs[3][0];\n\t\t\t\t\tsysid = len>4 && matchs[4][0];\n\t\t\t\t}else if(/^system$/i.test(matchs[2][0])){\n\t\t\t\t\tsysid = matchs[3][0];\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar lastMatch = matchs[len-1]\n\t\t\tdomBuilder.startDTD(name, pubid, sysid);\n\t\t\tdomBuilder.endDTD();\n\t\t\t\n\t\t\treturn lastMatch.index+lastMatch[0].length\n\t\t}\n\t}\n\treturn -1;\n}\n\n\n\nfunction parseInstruction(source,start,domBuilder){\n\tvar end = source.indexOf('?>',start);\n\tif(end){\n\t\tvar match = source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);\n\t\tif(match){\n\t\t\tvar len = match[0].length;\n\t\t\tdomBuilder.processingInstruction(match[1], match[2]) ;\n\t\t\treturn end+2;\n\t\t}else{//error\n\t\t\treturn -1;\n\t\t}\n\t}\n\treturn -1;\n}\n\nfunction ElementAttributes(){\n\tthis.attributeNames = {}\n}\nElementAttributes.prototype = {\n\tsetTagName:function(tagName){\n\t\tif(!tagNamePattern.test(tagName)){\n\t\t\tthrow new Error('invalid tagName:'+tagName)\n\t\t}\n\t\tthis.tagName = tagName\n\t},\n\taddValue:function(qName, value, offset) {\n\t\tif(!tagNamePattern.test(qName)){\n\t\t\tthrow new Error('invalid attribute:'+qName)\n\t\t}\n\t\tthis.attributeNames[qName] = this.length;\n\t\tthis[this.length++] = {qName:qName,value:value,offset:offset}\n\t},\n\tlength:0,\n\tgetLocalName:function(i){return this[i].localName},\n\tgetLocator:function(i){return this[i].locator},\n\tgetQName:function(i){return this[i].qName},\n\tgetURI:function(i){return this[i].uri},\n\tgetValue:function(i){return this[i].value}\n//\t,getIndex:function(uri, localName)){\n//\t\tif(localName){\n//\t\t\t\n//\t\t}else{\n//\t\t\tvar qName = uri\n//\t\t}\n//\t},\n//\tgetValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},\n//\tgetType:function(uri,localName){}\n//\tgetType:function(i){},\n}\n\n\n\nfunction split(source,start){\n\tvar match;\n\tvar buf = [];\n\tvar reg = /'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;\n\treg.lastIndex = start;\n\treg.exec(source);//skip <\n\twhile(match = reg.exec(source)){\n\t\tbuf.push(match);\n\t\tif(match[1])return buf;\n\t}\n}\n\nexports.XMLReader = XMLReader;\nexports.ParseError = ParseError;\n","function copy(src,dest){\n\tfor(var p in src){\n\t\tdest[p] = src[p];\n\t}\n}\n/**\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*((?:.*\\{\\s*?[\\r\\n][\\s\\S]*?^})|\\S.*?(?=[;\\r\\n]));?\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*(\\S.*?(?=[;\\r\\n]));?\n */\nfunction _extends(Class,Super){\n\tvar pt = Class.prototype;\n\tif(!(pt instanceof Super)){\n\t\tfunction t(){};\n\t\tt.prototype = Super.prototype;\n\t\tt = new t();\n\t\tcopy(pt,t);\n\t\tClass.prototype = pt = t;\n\t}\n\tif(pt.constructor != Class){\n\t\tif(typeof Class != 'function'){\n\t\t\tconsole.error(\"unknow Class:\"+Class)\n\t\t}\n\t\tpt.constructor = Class\n\t}\n}\nvar htmlns = 'http://www.w3.org/1999/xhtml' ;\n// Node Types\nvar NodeType = {}\nvar ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;\nvar ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;\nvar TEXT_NODE = NodeType.TEXT_NODE = 3;\nvar CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;\nvar ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;\nvar ENTITY_NODE = NodeType.ENTITY_NODE = 6;\nvar PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;\nvar COMMENT_NODE = NodeType.COMMENT_NODE = 8;\nvar DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;\nvar DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;\nvar DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;\nvar NOTATION_NODE = NodeType.NOTATION_NODE = 12;\n\n// ExceptionCode\nvar ExceptionCode = {}\nvar ExceptionMessage = {};\nvar INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]=\"Index size error\"),1);\nvar DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]=\"DOMString size error\"),2);\nvar HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]=\"Hierarchy request error\"),3);\nvar WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]=\"Wrong document\"),4);\nvar INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]=\"Invalid character\"),5);\nvar NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]=\"No data allowed\"),6);\nvar NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]=\"No modification allowed\"),7);\nvar NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]=\"Not found\"),8);\nvar NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]=\"Not supported\"),9);\nvar INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]=\"Attribute in use\"),10);\n//level2\nvar INVALID_STATE_ERR \t= ExceptionCode.INVALID_STATE_ERR \t= ((ExceptionMessage[11]=\"Invalid state\"),11);\nvar SYNTAX_ERR \t= ExceptionCode.SYNTAX_ERR \t= ((ExceptionMessage[12]=\"Syntax error\"),12);\nvar INVALID_MODIFICATION_ERR \t= ExceptionCode.INVALID_MODIFICATION_ERR \t= ((ExceptionMessage[13]=\"Invalid modification\"),13);\nvar NAMESPACE_ERR \t= ExceptionCode.NAMESPACE_ERR \t= ((ExceptionMessage[14]=\"Invalid namespace\"),14);\nvar INVALID_ACCESS_ERR \t= ExceptionCode.INVALID_ACCESS_ERR \t= ((ExceptionMessage[15]=\"Invalid access\"),15);\n\n/**\n * DOM Level 2\n * Object DOMException\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html\n * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n */\nfunction DOMException(code, message) {\n\tif(message instanceof Error){\n\t\tvar error = message;\n\t}else{\n\t\terror = this;\n\t\tError.call(this, ExceptionMessage[code]);\n\t\tthis.message = ExceptionMessage[code];\n\t\tif(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);\n\t}\n\terror.code = code;\n\tif(message) this.message = this.message + \": \" + message;\n\treturn error;\n};\nDOMException.prototype = Error.prototype;\ncopy(ExceptionCode,DOMException)\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177\n * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.\n * The items in the NodeList are accessible via an integral index, starting from 0.\n */\nfunction NodeList() {\n};\nNodeList.prototype = {\n\t/**\n\t * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.\n\t * @standard level1\n\t */\n\tlength:0, \n\t/**\n\t * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.\n\t * @standard level1\n\t * @param index unsigned long \n\t * Index into the collection.\n\t * @return Node\n\t * \tThe node at the indexth position in the NodeList, or null if that is not a valid index. \n\t */\n\titem: function(index) {\n\t\treturn this[index] || null;\n\t},\n\ttoString:function(isHTML,nodeFilter){\n\t\tfor(var buf = [], i = 0;i<this.length;i++){\n\t\t\tserializeToString(this[i],buf,isHTML,nodeFilter);\n\t\t}\n\t\treturn buf.join('');\n\t}\n};\nfunction LiveNodeList(node,refresh){\n\tthis._node = node;\n\tthis._refresh = refresh\n\t_updateLiveList(this);\n}\nfunction _updateLiveList(list){\n\tvar inc = list._node._inc || list._node.ownerDocument._inc;\n\tif(list._inc != inc){\n\t\tvar ls = list._refresh(list._node);\n\t\t//console.log(ls.length)\n\t\t__set__(list,'length',ls.length);\n\t\tcopy(ls,list);\n\t\tlist._inc = inc;\n\t}\n}\nLiveNodeList.prototype.item = function(i){\n\t_updateLiveList(this);\n\treturn this[i];\n}\n\n_extends(LiveNodeList,NodeList);\n/**\n * \n * Objects implementing the NamedNodeMap interface are used to represent collections of nodes that can be accessed by name. Note that NamedNodeMap does not inherit from NodeList; NamedNodeMaps are not maintained in any particular order. Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index, but this is simply to allow convenient enumeration of the contents of a NamedNodeMap, and does not imply that the DOM specifies an order to these Nodes.\n * NamedNodeMap objects in the DOM are live.\n * used for attributes or DocumentType entities \n */\nfunction NamedNodeMap() {\n};\n\nfunction _findNodeIndex(list,node){\n\tvar i = list.length;\n\twhile(i--){\n\t\tif(list[i] === node){return i}\n\t}\n}\n\nfunction _addNamedNode(el,list,newAttr,oldAttr){\n\tif(oldAttr){\n\t\tlist[_findNodeIndex(list,oldAttr)] = newAttr;\n\t}else{\n\t\tlist[list.length++] = newAttr;\n\t}\n\tif(el){\n\t\tnewAttr.ownerElement = el;\n\t\tvar doc = el.ownerDocument;\n\t\tif(doc){\n\t\t\toldAttr && _onRemoveAttribute(doc,el,oldAttr);\n\t\t\t_onAddAttribute(doc,el,newAttr);\n\t\t}\n\t}\n}\nfunction _removeNamedNode(el,list,attr){\n\t//console.log('remove attr:'+attr)\n\tvar i = _findNodeIndex(list,attr);\n\tif(i>=0){\n\t\tvar lastIndex = list.length-1\n\t\twhile(i<lastIndex){\n\t\t\tlist[i] = list[++i]\n\t\t}\n\t\tlist.length = lastIndex;\n\t\tif(el){\n\t\t\tvar doc = el.ownerDocument;\n\t\t\tif(doc){\n\t\t\t\t_onRemoveAttribute(doc,el,attr);\n\t\t\t\tattr.ownerElement = null;\n\t\t\t}\n\t\t}\n\t}else{\n\t\tthrow DOMException(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr))\n\t}\n}\nNamedNodeMap.prototype = {\n\tlength:0,\n\titem:NodeList.prototype.item,\n\tgetNamedItem: function(key) {\n//\t\tif(key.indexOf(':')>0 || key == 'xmlns'){\n//\t\t\treturn null;\n//\t\t}\n\t\t//console.log()\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar attr = this[i];\n\t\t\t//console.log(attr.nodeName,key)\n\t\t\tif(attr.nodeName == key){\n\t\t\t\treturn attr;\n\t\t\t}\n\t\t}\n\t},\n\tsetNamedItem: function(attr) {\n\t\tvar el = attr.ownerElement;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\tvar oldAttr = this.getNamedItem(attr.nodeName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\t/* returns Node */\n\tsetNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR\n\t\tvar el = attr.ownerElement, oldAttr;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\toldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\n\t/* returns Node */\n\tremoveNamedItem: function(key) {\n\t\tvar attr = this.getNamedItem(key);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t\t\n\t\t\n\t},// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR\n\t\n\t//for level2\n\tremoveNamedItemNS:function(namespaceURI,localName){\n\t\tvar attr = this.getNamedItemNS(namespaceURI,localName);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t},\n\tgetNamedItemNS: function(namespaceURI, localName) {\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar node = this[i];\n\t\t\tif(node.localName == localName && node.namespaceURI == namespaceURI){\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n/**\n * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490\n */\nfunction DOMImplementation(/* Object */ features) {\n\tthis._features = {};\n\tif (features) {\n\t\tfor (var feature in features) {\n\t\t\t this._features = features[feature];\n\t\t}\n\t}\n};\n\nDOMImplementation.prototype = {\n\thasFeature: function(/* string */ feature, /* string */ version) {\n\t\tvar versions = this._features[feature.toLowerCase()];\n\t\tif (versions && (!version || version in versions)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateDocument:function(namespaceURI, qualifiedName, doctype){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR\n\t\tvar doc = new Document();\n\t\tdoc.implementation = this;\n\t\tdoc.childNodes = new NodeList();\n\t\tdoc.doctype = doctype;\n\t\tif(doctype){\n\t\t\tdoc.appendChild(doctype);\n\t\t}\n\t\tif(qualifiedName){\n\t\t\tvar root = doc.createElementNS(namespaceURI,qualifiedName);\n\t\t\tdoc.appendChild(root);\n\t\t}\n\t\treturn doc;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateDocumentType:function(qualifiedName, publicId, systemId){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR\n\t\tvar node = new DocumentType();\n\t\tnode.name = qualifiedName;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.publicId = publicId;\n\t\tnode.systemId = systemId;\n\t\t// Introduced in DOM Level 2:\n\t\t//readonly attribute DOMString internalSubset;\n\t\t\n\t\t//TODO:..\n\t\t// readonly attribute NamedNodeMap entities;\n\t\t// readonly attribute NamedNodeMap notations;\n\t\treturn node;\n\t}\n};\n\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247\n */\n\nfunction Node() {\n};\n\nNode.prototype = {\n\tfirstChild : null,\n\tlastChild : null,\n\tpreviousSibling : null,\n\tnextSibling : null,\n\tattributes : null,\n\tparentNode : null,\n\tchildNodes : null,\n\townerDocument : null,\n\tnodeValue : null,\n\tnamespaceURI : null,\n\tprefix : null,\n\tlocalName : null,\n\t// Modified in DOM Level 2:\n\tinsertBefore:function(newChild, refChild){//raises \n\t\treturn _insertBefore(this,newChild,refChild);\n\t},\n\treplaceChild:function(newChild, oldChild){//raises \n\t\tthis.insertBefore(newChild,oldChild);\n\t\tif(oldChild){\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t},\n\tremoveChild:function(oldChild){\n\t\treturn _removeChild(this,oldChild);\n\t},\n\tappendChild:function(newChild){\n\t\treturn this.insertBefore(newChild,null);\n\t},\n\thasChildNodes:function(){\n\t\treturn this.firstChild != null;\n\t},\n\tcloneNode:function(deep){\n\t\treturn cloneNode(this.ownerDocument||this,this,deep);\n\t},\n\t// Modified in DOM Level 2:\n\tnormalize:function(){\n\t\tvar child = this.firstChild;\n\t\twhile(child){\n\t\t\tvar next = child.nextSibling;\n\t\t\tif(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){\n\t\t\t\tthis.removeChild(next);\n\t\t\t\tchild.appendData(next.data);\n\t\t\t}else{\n\t\t\t\tchild.normalize();\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t}\n\t},\n \t// Introduced in DOM Level 2:\n\tisSupported:function(feature, version){\n\t\treturn this.ownerDocument.implementation.hasFeature(feature,version);\n\t},\n // Introduced in DOM Level 2:\n hasAttributes:function(){\n \treturn this.attributes.length>0;\n },\n lookupPrefix:function(namespaceURI){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tfor(var n in map){\n \t\t\t\tif(map[n] == namespaceURI){\n \t\t\t\t\treturn n;\n \t\t\t\t}\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n lookupNamespaceURI:function(prefix){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tif(prefix in map){\n \t\t\t\treturn map[prefix] ;\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n isDefaultNamespace:function(namespaceURI){\n \tvar prefix = this.lookupPrefix(namespaceURI);\n \treturn prefix == null;\n }\n};\n\n\nfunction _xmlEncoder(c){\n\treturn c == '<' && '&lt;' ||\n c == '>' && '&gt;' ||\n c == '&' && '&amp;' ||\n c == '\"' && '&quot;' ||\n '&#'+c.charCodeAt()+';'\n}\n\n\ncopy(NodeType,Node);\ncopy(NodeType,Node.prototype);\n\n/**\n * @param callback return true for continue,false for break\n * @return boolean true: break visit;\n */\nfunction _visitNode(node,callback){\n\tif(callback(node)){\n\t\treturn true;\n\t}\n\tif(node = node.firstChild){\n\t\tdo{\n\t\t\tif(_visitNode(node,callback)){return true}\n }while(node=node.nextSibling)\n }\n}\n\n\n\nfunction Document(){\n}\nfunction _onAddAttribute(doc,el,newAttr){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns == 'http://www.w3.org/2000/xmlns/'){\n\t\t//update namespace\n\t\tel._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value\n\t}\n}\nfunction _onRemoveAttribute(doc,el,newAttr,remove){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns == 'http://www.w3.org/2000/xmlns/'){\n\t\t//update namespace\n\t\tdelete el._nsMap[newAttr.prefix?newAttr.localName:'']\n\t}\n}\nfunction _onUpdateChild(doc,el,newChild){\n\tif(doc && doc._inc){\n\t\tdoc._inc++;\n\t\t//update childNodes\n\t\tvar cs = el.childNodes;\n\t\tif(newChild){\n\t\t\tcs[cs.length++] = newChild;\n\t\t}else{\n\t\t\t//console.log(1)\n\t\t\tvar child = el.firstChild;\n\t\t\tvar i = 0;\n\t\t\twhile(child){\n\t\t\t\tcs[i++] = child;\n\t\t\t\tchild =child.nextSibling;\n\t\t\t}\n\t\t\tcs.length = i;\n\t\t}\n\t}\n}\n\n/**\n * attributes;\n * children;\n * \n * writeable properties:\n * nodeValue,Attr:value,CharacterData:data\n * prefix\n */\nfunction _removeChild(parentNode,child){\n\tvar previous = child.previousSibling;\n\tvar next = child.nextSibling;\n\tif(previous){\n\t\tprevious.nextSibling = next;\n\t}else{\n\t\tparentNode.firstChild = next\n\t}\n\tif(next){\n\t\tnext.previousSibling = previous;\n\t}else{\n\t\tparentNode.lastChild = previous;\n\t}\n\t_onUpdateChild(parentNode.ownerDocument,parentNode);\n\treturn child;\n}\n/**\n * preformance key(refChild == null)\n */\nfunction _insertBefore(parentNode,newChild,nextChild){\n\tvar cp = newChild.parentNode;\n\tif(cp){\n\t\tcp.removeChild(newChild);//remove and update\n\t}\n\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\tvar newFirst = newChild.firstChild;\n\t\tif (newFirst == null) {\n\t\t\treturn newChild;\n\t\t}\n\t\tvar newLast = newChild.lastChild;\n\t}else{\n\t\tnewFirst = newLast = newChild;\n\t}\n\tvar pre = nextChild ? nextChild.previousSibling : parentNode.lastChild;\n\n\tnewFirst.previousSibling = pre;\n\tnewLast.nextSibling = nextChild;\n\t\n\t\n\tif(pre){\n\t\tpre.nextSibling = newFirst;\n\t}else{\n\t\tparentNode.firstChild = newFirst;\n\t}\n\tif(nextChild == null){\n\t\tparentNode.lastChild = newLast;\n\t}else{\n\t\tnextChild.previousSibling = newLast;\n\t}\n\tdo{\n\t\tnewFirst.parentNode = parentNode;\n\t}while(newFirst !== newLast && (newFirst= newFirst.nextSibling))\n\t_onUpdateChild(parentNode.ownerDocument||parentNode,parentNode);\n\t//console.log(parentNode.lastChild.nextSibling == null)\n\tif (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {\n\t\tnewChild.firstChild = newChild.lastChild = null;\n\t}\n\treturn newChild;\n}\nfunction _appendSingleChild(parentNode,newChild){\n\tvar cp = newChild.parentNode;\n\tif(cp){\n\t\tvar pre = parentNode.lastChild;\n\t\tcp.removeChild(newChild);//remove and update\n\t\tvar pre = parentNode.lastChild;\n\t}\n\tvar pre = parentNode.lastChild;\n\tnewChild.parentNode = parentNode;\n\tnewChild.previousSibling = pre;\n\tnewChild.nextSibling = null;\n\tif(pre){\n\t\tpre.nextSibling = newChild;\n\t}else{\n\t\tparentNode.firstChild = newChild;\n\t}\n\tparentNode.lastChild = newChild;\n\t_onUpdateChild(parentNode.ownerDocument,parentNode,newChild);\n\treturn newChild;\n\t//console.log(\"__aa\",parentNode.lastChild.nextSibling == null)\n}\nDocument.prototype = {\n\t//implementation : null,\n\tnodeName : '#document',\n\tnodeType : DOCUMENT_NODE,\n\tdoctype : null,\n\tdocumentElement : null,\n\t_inc : 1,\n\t\n\tinsertBefore : function(newChild, refChild){//raises \n\t\tif(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){\n\t\t\tvar child = newChild.firstChild;\n\t\t\twhile(child){\n\t\t\t\tvar next = child.nextSibling;\n\t\t\t\tthis.insertBefore(child,refChild);\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t\treturn newChild;\n\t\t}\n\t\tif(this.documentElement == null && newChild.nodeType == ELEMENT_NODE){\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\t\t\n\t\treturn _insertBefore(this,newChild,refChild),(newChild.ownerDocument = this),newChild;\n\t},\n\tremoveChild : function(oldChild){\n\t\tif(this.documentElement == oldChild){\n\t\t\tthis.documentElement = null;\n\t\t}\n\t\treturn _removeChild(this,oldChild);\n\t},\n\t// Introduced in DOM Level 2:\n\timportNode : function(importedNode,deep){\n\t\treturn importNode(this,importedNode,deep);\n\t},\n\t// Introduced in DOM Level 2:\n\tgetElementById :\tfunction(id){\n\t\tvar rtv = null;\n\t\t_visitNode(this.documentElement,function(node){\n\t\t\tif(node.nodeType == ELEMENT_NODE){\n\t\t\t\tif(node.getAttribute('id') == id){\n\t\t\t\t\trtv = node;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn rtv;\n\t},\n\t\n\tgetElementsByClassName: function(className) {\n\t\tvar pattern = new RegExp(\"(^|\\\\s)\" + className + \"(\\\\s|$)\");\n\t\treturn new LiveNodeList(this, function(base) {\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base.documentElement, function(node) {\n\t\t\t\tif(node !== base && node.nodeType == ELEMENT_NODE) {\n\t\t\t\t\tif(pattern.test(node.getAttribute('class'))) {\n\t\t\t\t\t\tls.push(node);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t});\n\t},\n\t\n\t//document factory method:\n\tcreateElement :\tfunction(tagName){\n\t\tvar node = new Element();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = tagName;\n\t\tnode.tagName = tagName;\n\t\tnode.childNodes = new NodeList();\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\tcreateDocumentFragment :\tfunction(){\n\t\tvar node = new DocumentFragment();\n\t\tnode.ownerDocument = this;\n\t\tnode.childNodes = new NodeList();\n\t\treturn node;\n\t},\n\tcreateTextNode :\tfunction(data){\n\t\tvar node = new Text();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateComment :\tfunction(data){\n\t\tvar node = new Comment();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateCDATASection :\tfunction(data){\n\t\tvar node = new CDATASection();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateProcessingInstruction :\tfunction(target,data){\n\t\tvar node = new ProcessingInstruction();\n\t\tnode.ownerDocument = this;\n\t\tnode.tagName = node.target = target;\n\t\tnode.nodeValue= node.data = data;\n\t\treturn node;\n\t},\n\tcreateAttribute :\tfunction(name){\n\t\tvar node = new Attr();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.name = name;\n\t\tnode.nodeName\t= name;\n\t\tnode.localName = name;\n\t\tnode.specified = true;\n\t\treturn node;\n\t},\n\tcreateEntityReference :\tfunction(name){\n\t\tvar node = new EntityReference();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.nodeName\t= name;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateElementNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Element();\n\t\tvar pl = qualifiedName.split(':');\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tnode.childNodes = new NodeList();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.tagName = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateAttributeNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Attr();\n\t\tvar pl = qualifiedName.split(':');\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.name = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tnode.specified = true;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\treturn node;\n\t}\n};\n_extends(Document,Node);\n\n\nfunction Element() {\n\tthis._nsMap = {};\n};\nElement.prototype = {\n\tnodeType : ELEMENT_NODE,\n\thasAttribute : function(name){\n\t\treturn this.getAttributeNode(name)!=null;\n\t},\n\tgetAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name);\n\t\treturn attr && attr.value || '';\n\t},\n\tgetAttributeNode : function(name){\n\t\treturn this.attributes.getNamedItem(name);\n\t},\n\tsetAttribute : function(name, value){\n\t\tvar attr = this.ownerDocument.createAttribute(name);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tremoveAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name)\n\t\tattr && this.removeAttributeNode(attr);\n\t},\n\t\n\t//four real opeartion method\n\tappendChild:function(newChild){\n\t\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\t\treturn this.insertBefore(newChild,null);\n\t\t}else{\n\t\t\treturn _appendSingleChild(this,newChild);\n\t\t}\n\t},\n\tsetAttributeNode : function(newAttr){\n\t\treturn this.attributes.setNamedItem(newAttr);\n\t},\n\tsetAttributeNodeNS : function(newAttr){\n\t\treturn this.attributes.setNamedItemNS(newAttr);\n\t},\n\tremoveAttributeNode : function(oldAttr){\n\t\t//console.log(this == oldAttr.ownerElement)\n\t\treturn this.attributes.removeNamedItem(oldAttr.nodeName);\n\t},\n\t//get real attribute name,and remove it by removeAttributeNode\n\tremoveAttributeNS : function(namespaceURI, localName){\n\t\tvar old = this.getAttributeNodeNS(namespaceURI, localName);\n\t\told && this.removeAttributeNode(old);\n\t},\n\t\n\thasAttributeNS : function(namespaceURI, localName){\n\t\treturn this.getAttributeNodeNS(namespaceURI, localName)!=null;\n\t},\n\tgetAttributeNS : function(namespaceURI, localName){\n\t\tvar attr = this.getAttributeNodeNS(namespaceURI, localName);\n\t\treturn attr && attr.value || '';\n\t},\n\tsetAttributeNS : function(namespaceURI, qualifiedName, value){\n\t\tvar attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tgetAttributeNodeNS : function(namespaceURI, localName){\n\t\treturn this.attributes.getNamedItemNS(namespaceURI, localName);\n\t},\n\t\n\tgetElementsByTagName : function(tagName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t});\n\t},\n\tgetElementsByTagNameNS : function(namespaceURI, localName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t\t\n\t\t});\n\t}\n};\nDocument.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;\nDocument.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;\n\n\n_extends(Element,Node);\nfunction Attr() {\n};\nAttr.prototype.nodeType = ATTRIBUTE_NODE;\n_extends(Attr,Node);\n\n\nfunction CharacterData() {\n};\nCharacterData.prototype = {\n\tdata : '',\n\tsubstringData : function(offset, count) {\n\t\treturn this.data.substring(offset, offset+count);\n\t},\n\tappendData: function(text) {\n\t\ttext = this.data+text;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t},\n\tinsertData: function(offset,text) {\n\t\tthis.replaceData(offset,0,text);\n\t\n\t},\n\tappendChild:function(newChild){\n\t\tthrow new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])\n\t},\n\tdeleteData: function(offset, count) {\n\t\tthis.replaceData(offset,count,\"\");\n\t},\n\treplaceData: function(offset, count, text) {\n\t\tvar start = this.data.substring(0,offset);\n\t\tvar end = this.data.substring(offset+count);\n\t\ttext = start + text + end;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t}\n}\n_extends(CharacterData,Node);\nfunction Text() {\n};\nText.prototype = {\n\tnodeName : \"#text\",\n\tnodeType : TEXT_NODE,\n\tsplitText : function(offset) {\n\t\tvar text = this.data;\n\t\tvar newText = text.substring(offset);\n\t\ttext = text.substring(0, offset);\n\t\tthis.data = this.nodeValue = text;\n\t\tthis.length = text.length;\n\t\tvar newNode = this.ownerDocument.createTextNode(newText);\n\t\tif(this.parentNode){\n\t\t\tthis.parentNode.insertBefore(newNode, this.nextSibling);\n\t\t}\n\t\treturn newNode;\n\t}\n}\n_extends(Text,CharacterData);\nfunction Comment() {\n};\nComment.prototype = {\n\tnodeName : \"#comment\",\n\tnodeType : COMMENT_NODE\n}\n_extends(Comment,CharacterData);\n\nfunction CDATASection() {\n};\nCDATASection.prototype = {\n\tnodeName : \"#cdata-section\",\n\tnodeType : CDATA_SECTION_NODE\n}\n_extends(CDATASection,CharacterData);\n\n\nfunction DocumentType() {\n};\nDocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;\n_extends(DocumentType,Node);\n\nfunction Notation() {\n};\nNotation.prototype.nodeType = NOTATION_NODE;\n_extends(Notation,Node);\n\nfunction Entity() {\n};\nEntity.prototype.nodeType = ENTITY_NODE;\n_extends(Entity,Node);\n\nfunction EntityReference() {\n};\nEntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;\n_extends(EntityReference,Node);\n\nfunction DocumentFragment() {\n};\nDocumentFragment.prototype.nodeName =\t\"#document-fragment\";\nDocumentFragment.prototype.nodeType =\tDOCUMENT_FRAGMENT_NODE;\n_extends(DocumentFragment,Node);\n\n\nfunction ProcessingInstruction() {\n}\nProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;\n_extends(ProcessingInstruction,Node);\nfunction XMLSerializer(){}\nXMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){\n\treturn nodeSerializeToString.call(node,isHtml,nodeFilter);\n}\nNode.prototype.toString = nodeSerializeToString;\nfunction nodeSerializeToString(isHtml,nodeFilter){\n\tvar buf = [];\n\tvar refNode = this.nodeType == 9 && this.documentElement || this;\n\tvar prefix = refNode.prefix;\n\tvar uri = refNode.namespaceURI;\n\t\n\tif(uri && prefix == null){\n\t\t//console.log(prefix)\n\t\tvar prefix = refNode.lookupPrefix(uri);\n\t\tif(prefix == null){\n\t\t\t//isHTML = true;\n\t\t\tvar visibleNamespaces=[\n\t\t\t{namespace:uri,prefix:null}\n\t\t\t//{namespace:uri,prefix:''}\n\t\t\t]\n\t\t}\n\t}\n\tserializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);\n\t//console.log('###',this.nodeType,uri,prefix,buf.join(''))\n\treturn buf.join('');\n}\nfunction needNamespaceDefine(node,isHTML, visibleNamespaces) {\n\tvar prefix = node.prefix||'';\n\tvar uri = node.namespaceURI;\n\tif (!prefix && !uri){\n\t\treturn false;\n\t}\n\tif (prefix === \"xml\" && uri === \"http://www.w3.org/XML/1998/namespace\" \n\t\t|| uri == 'http://www.w3.org/2000/xmlns/'){\n\t\treturn false;\n\t}\n\t\n\tvar i = visibleNamespaces.length \n\t//console.log('@@@@',node.tagName,prefix,uri,visibleNamespaces)\n\twhile (i--) {\n\t\tvar ns = visibleNamespaces[i];\n\t\t// get namespace prefix\n\t\t//console.log(node.nodeType,node.tagName,ns.prefix,prefix)\n\t\tif (ns.prefix == prefix){\n\t\t\treturn ns.namespace != uri;\n\t\t}\n\t}\n\t//console.log(isHTML,uri,prefix=='')\n\t//if(isHTML && prefix ==null && uri == 'http://www.w3.org/1999/xhtml'){\n\t//\treturn false;\n\t//}\n\t//node.flag = '11111'\n\t//console.error(3,true,node.flag,node.prefix,node.namespaceURI)\n\treturn true;\n}\nfunction serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){\n\tif(nodeFilter){\n\t\tnode = nodeFilter(node);\n\t\tif(node){\n\t\t\tif(typeof node == 'string'){\n\t\t\t\tbuf.push(node);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\t//buf.sort.apply(attrs, attributeSorter);\n\t}\n\tswitch(node.nodeType){\n\tcase ELEMENT_NODE:\n\t\tif (!visibleNamespaces) visibleNamespaces = [];\n\t\tvar startVisibleNamespaces = visibleNamespaces.length;\n\t\tvar attrs = node.attributes;\n\t\tvar len = attrs.length;\n\t\tvar child = node.firstChild;\n\t\tvar nodeName = node.tagName;\n\t\t\n\t\tisHTML = (htmlns === node.namespaceURI) ||isHTML \n\t\tbuf.push('<',nodeName);\n\t\t\n\t\t\n\t\t\n\t\tfor(var i=0;i<len;i++){\n\t\t\t// add namespaces for attributes\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (attr.prefix == 'xmlns') {\n\t\t\t\tvisibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });\n\t\t\t}else if(attr.nodeName == 'xmlns'){\n\t\t\t\tvisibleNamespaces.push({ prefix: '', namespace: attr.value });\n\t\t\t}\n\t\t}\n\t\tfor(var i=0;i<len;i++){\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {\n\t\t\t\tvar prefix = attr.prefix||'';\n\t\t\t\tvar uri = attr.namespaceURI;\n\t\t\t\tvar ns = prefix ? ' xmlns:' + prefix : \" xmlns\";\n\t\t\t\tbuf.push(ns, '=\"' , uri , '\"');\n\t\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t\t}\n\t\t\tserializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t}\n\t\t// add namespace for current node\t\t\n\t\tif (needNamespaceDefine(node,isHTML, visibleNamespaces)) {\n\t\t\tvar prefix = node.prefix||'';\n\t\t\tvar uri = node.namespaceURI;\n\t\t\tif (uri) {\n\t\t\t\t// Avoid empty namespace value like xmlns:ds=\"\"\n\t\t\t\t// Empty namespace URL will we produce an invalid XML document\n\t\t\t\tvar ns = prefix ? ' xmlns:' + prefix : \" xmlns\";\n\t\t\t\tbuf.push(ns, '=\"' , uri , '\"');\n\t\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t\t}\n\t\t}\n\t\t\n\t\tif(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){\n\t\t\tbuf.push('>');\n\t\t\t//if is cdata child node\n\t\t\tif(isHTML && /^script$/i.test(nodeName)){\n\t\t\t\twhile(child){\n\t\t\t\t\tif(child.data){\n\t\t\t\t\t\tbuf.push(child.data);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\t\t\t}\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\n\t\t\t\twhile(child){\n\t\t\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuf.push('</',nodeName,'>');\n\t\t}else{\n\t\t\tbuf.push('/>');\n\t\t}\n\t\t// remove added visible namespaces\n\t\t//visibleNamespaces.length = startVisibleNamespaces;\n\t\treturn;\n\tcase DOCUMENT_NODE:\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t\treturn;\n\tcase ATTRIBUTE_NODE:\n\t\t/**\n\t\t * Well-formedness constraint: No < in Attribute Values\n\t\t * The replacement text of any entity referred to directly or indirectly in an attribute value must not contain a <.\n\t\t * @see https://www.w3.org/TR/xml/#CleanAttrVals\n\t\t * @see https://www.w3.org/TR/xml/#NT-AttValue\n\t\t */\n\t\treturn buf.push(' ', node.name, '=\"', node.value.replace(/[<&\"]/g,_xmlEncoder), '\"');\n\tcase TEXT_NODE:\n\t\t/**\n\t\t * The ampersand character (&) and the left angle bracket (<) must not appear in their literal form,\n\t\t * except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section.\n\t\t * If they are needed elsewhere, they must be escaped using either numeric character references or the strings\n\t\t * `&amp;` and `&lt;` respectively.\n\t\t * The right angle bracket (>) may be represented using the string \" &gt; \", and must, for compatibility,\n\t\t * be escaped using either `&gt;` or a character reference when it appears in the string `]]>` in content,\n\t\t * when that string is not marking the end of a CDATA section.\n\t\t *\n\t\t * In the content of elements, character data is any string of characters\n\t\t * which does not contain the start-delimiter of any markup\n\t\t * and does not include the CDATA-section-close delimiter, `]]>`.\n\t\t *\n\t\t * @see https://www.w3.org/TR/xml/#NT-CharData\n\t\t */\n\t\treturn buf.push(node.data\n\t\t\t.replace(/[<&]/g,_xmlEncoder)\n\t\t\t.replace(/]]>/g, ']]&gt;')\n\t\t);\n\tcase CDATA_SECTION_NODE:\n\t\treturn buf.push( '<![CDATA[',node.data,']]>');\n\tcase COMMENT_NODE:\n\t\treturn buf.push( \"<!--\",node.data,\"-->\");\n\tcase DOCUMENT_TYPE_NODE:\n\t\tvar pubid = node.publicId;\n\t\tvar sysid = node.systemId;\n\t\tbuf.push('<!DOCTYPE ',node.name);\n\t\tif(pubid){\n\t\t\tbuf.push(' PUBLIC ', pubid);\n\t\t\tif (sysid && sysid!='.') {\n\t\t\t\tbuf.push(' ', sysid);\n\t\t\t}\n\t\t\tbuf.push('>');\n\t\t}else if(sysid && sysid!='.'){\n\t\t\tbuf.push(' SYSTEM ', sysid, '>');\n\t\t}else{\n\t\t\tvar sub = node.internalSubset;\n\t\t\tif(sub){\n\t\t\t\tbuf.push(\" [\",sub,\"]\");\n\t\t\t}\n\t\t\tbuf.push(\">\");\n\t\t}\n\t\treturn;\n\tcase PROCESSING_INSTRUCTION_NODE:\n\t\treturn buf.push( \"<?\",node.target,\" \",node.data,\"?>\");\n\tcase ENTITY_REFERENCE_NODE:\n\t\treturn buf.push( '&',node.nodeName,';');\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\tdefault:\n\t\tbuf.push('??',node.nodeName);\n\t}\n}\nfunction importNode(doc,node,deep){\n\tvar node2;\n\tswitch (node.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tnode2 = node.cloneNode(false);\n\t\tnode2.ownerDocument = doc;\n\t\t//var attrs = node2.attributes;\n\t\t//var len = attrs.length;\n\t\t//for(var i=0;i<len;i++){\n\t\t\t//node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));\n\t\t//}\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tbreak;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t\tbreak;\n\t//case ENTITY_REFERENCE_NODE:\n\t//case PROCESSING_INSTRUCTION_NODE:\n\t////case TEXT_NODE:\n\t//case CDATA_SECTION_NODE:\n\t//case COMMENT_NODE:\n\t//\tdeep = false;\n\t//\tbreak;\n\t//case DOCUMENT_NODE:\n\t//case DOCUMENT_TYPE_NODE:\n\t//cannot be imported.\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\t//can not hit in level3\n\t//default:throw e;\n\t}\n\tif(!node2){\n\t\tnode2 = node.cloneNode(false);//false\n\t}\n\tnode2.ownerDocument = doc;\n\tnode2.parentNode = null;\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(importNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n//\n//var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,\n//\t\t\t\t\tattributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};\nfunction cloneNode(doc,node,deep){\n\tvar node2 = new node.constructor();\n\tfor(var n in node){\n\t\tvar v = node[n];\n\t\tif(typeof v != 'object' ){\n\t\t\tif(v != node2[n]){\n\t\t\t\tnode2[n] = v;\n\t\t\t}\n\t\t}\n\t}\n\tif(node.childNodes){\n\t\tnode2.childNodes = new NodeList();\n\t}\n\tnode2.ownerDocument = doc;\n\tswitch (node2.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tvar attrs\t= node.attributes;\n\t\tvar attrs2\t= node2.attributes = new NamedNodeMap();\n\t\tvar len = attrs.length\n\t\tattrs2._ownerElement = node2;\n\t\tfor(var i=0;i<len;i++){\n\t\t\tnode2.setAttributeNode(cloneNode(doc,attrs.item(i),true));\n\t\t}\n\t\tbreak;;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t}\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(cloneNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n\nfunction __set__(object,key,value){\n\tobject[key] = value\n}\n//do dynamic\ntry{\n\tif(Object.defineProperty){\n\t\tObject.defineProperty(LiveNodeList.prototype,'length',{\n\t\t\tget:function(){\n\t\t\t\t_updateLiveList(this);\n\t\t\t\treturn this.$$length;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(Node.prototype,'textContent',{\n\t\t\tget:function(){\n\t\t\t\treturn getTextContent(this);\n\t\t\t},\n\t\t\tset:function(data){\n\t\t\t\tswitch(this.nodeType){\n\t\t\t\tcase ELEMENT_NODE:\n\t\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\t\twhile(this.firstChild){\n\t\t\t\t\t\tthis.removeChild(this.firstChild);\n\t\t\t\t\t}\n\t\t\t\t\tif(data || String(data)){\n\t\t\t\t\t\tthis.appendChild(this.ownerDocument.createTextNode(data));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\t//TODO:\n\t\t\t\t\tthis.data = data;\n\t\t\t\t\tthis.value = data;\n\t\t\t\t\tthis.nodeValue = data;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\t\n\t\tfunction getTextContent(node){\n\t\t\tswitch(node.nodeType){\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\tvar buf = [];\n\t\t\t\tnode = node.firstChild;\n\t\t\t\twhile(node){\n\t\t\t\t\tif(node.nodeType!==7 && node.nodeType !==8){\n\t\t\t\t\t\tbuf.push(getTextContent(node));\n\t\t\t\t\t}\n\t\t\t\t\tnode = node.nextSibling;\n\t\t\t\t}\n\t\t\t\treturn buf.join('');\n\t\t\tdefault:\n\t\t\t\treturn node.nodeValue;\n\t\t\t}\n\t\t}\n\t\t__set__ = function(object,key,value){\n\t\t\t//console.log(value)\n\t\t\tobject['$$'+key] = value\n\t\t}\n\t}\n}catch(e){//ie8\n}\n\n//if(typeof require == 'function'){\n\texports.Node = Node;\n\texports.DOMException = DOMException;\n\texports.DOMImplementation = DOMImplementation;\n\texports.XMLSerializer = XMLSerializer;\n//}\n","function DOMParser(options){\n\tthis.options = options ||{locator:{}};\n}\n\nDOMParser.prototype.parseFromString = function(source,mimeType){\n\tvar options = this.options;\n\tvar sax = new XMLReader();\n\tvar domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler\n\tvar errorHandler = options.errorHandler;\n\tvar locator = options.locator;\n\tvar defaultNSMap = options.xmlns||{};\n\tvar isHTML = /\\/x?html?$/.test(mimeType);//mimeType.toLowerCase().indexOf('html') > -1;\n \tvar entityMap = isHTML?htmlEntity.entityMap:{'lt':'<','gt':'>','amp':'&','quot':'\"','apos':\"'\"};\n\tif(locator){\n\t\tdomBuilder.setDocumentLocator(locator)\n\t}\n\n\tsax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);\n\tsax.domBuilder = options.domBuilder || domBuilder;\n\tif(isHTML){\n\t\tdefaultNSMap['']= 'http://www.w3.org/1999/xhtml';\n\t}\n\tdefaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace';\n\tif(source && typeof source === 'string'){\n\t\tsax.parse(source,defaultNSMap,entityMap);\n\t}else{\n\t\tsax.errorHandler.error(\"invalid doc source\");\n\t}\n\treturn domBuilder.doc;\n}\nfunction buildErrorHandler(errorImpl,domBuilder,locator){\n\tif(!errorImpl){\n\t\tif(domBuilder instanceof DOMHandler){\n\t\t\treturn domBuilder;\n\t\t}\n\t\terrorImpl = domBuilder ;\n\t}\n\tvar errorHandler = {}\n\tvar isCallback = errorImpl instanceof Function;\n\tlocator = locator||{}\n\tfunction build(key){\n\t\tvar fn = errorImpl[key];\n\t\tif(!fn && isCallback){\n\t\t\tfn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;\n\t\t}\n\t\terrorHandler[key] = fn && function(msg){\n\t\t\tfn('[xmldom '+key+']\\t'+msg+_locator(locator));\n\t\t}||function(){};\n\t}\n\tbuild('warning');\n\tbuild('error');\n\tbuild('fatalError');\n\treturn errorHandler;\n}\n\n//console.log('#\\n\\n\\n\\n\\n\\n\\n####')\n/**\n * +ContentHandler+ErrorHandler\n * +LexicalHandler+EntityResolver2\n * -DeclHandler-DTDHandler\n *\n * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler\n * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2\n * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html\n */\nfunction DOMHandler() {\n this.cdata = false;\n}\nfunction position(locator,node){\n\tnode.lineNumber = locator.lineNumber;\n\tnode.columnNumber = locator.columnNumber;\n}\n/**\n * @see org.xml.sax.ContentHandler#startDocument\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html\n */\nDOMHandler.prototype = {\n\tstartDocument : function() {\n \tthis.doc = new DOMImplementation().createDocument(null, null, null);\n \tif (this.locator) {\n \tthis.doc.documentURI = this.locator.systemId;\n \t}\n\t},\n\tstartElement:function(namespaceURI, localName, qName, attrs) {\n\t\tvar doc = this.doc;\n\t var el = doc.createElementNS(namespaceURI, qName||localName);\n\t var len = attrs.length;\n\t appendElement(this, el);\n\t this.currentElement = el;\n\n\t\tthis.locator && position(this.locator,el)\n\t for (var i = 0 ; i < len; i++) {\n\t var namespaceURI = attrs.getURI(i);\n\t var value = attrs.getValue(i);\n\t var qName = attrs.getQName(i);\n\t\t\tvar attr = doc.createAttributeNS(namespaceURI, qName);\n\t\t\tthis.locator &&position(attrs.getLocator(i),attr);\n\t\t\tattr.value = attr.nodeValue = value;\n\t\t\tel.setAttributeNode(attr)\n\t }\n\t},\n\tendElement:function(namespaceURI, localName, qName) {\n\t\tvar current = this.currentElement\n\t\tvar tagName = current.tagName;\n\t\tthis.currentElement = current.parentNode;\n\t},\n\tstartPrefixMapping:function(prefix, uri) {\n\t},\n\tendPrefixMapping:function(prefix) {\n\t},\n\tprocessingInstruction:function(target, data) {\n\t var ins = this.doc.createProcessingInstruction(target, data);\n\t this.locator && position(this.locator,ins)\n\t appendElement(this, ins);\n\t},\n\tignorableWhitespace:function(ch, start, length) {\n\t},\n\tcharacters:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t\t//console.log(chars)\n\t\tif(chars){\n\t\t\tif (this.cdata) {\n\t\t\t\tvar charNode = this.doc.createCDATASection(chars);\n\t\t\t} else {\n\t\t\t\tvar charNode = this.doc.createTextNode(chars);\n\t\t\t}\n\t\t\tif(this.currentElement){\n\t\t\t\tthis.currentElement.appendChild(charNode);\n\t\t\t}else if(/^\\s*$/.test(chars)){\n\t\t\t\tthis.doc.appendChild(charNode);\n\t\t\t\t//process xml\n\t\t\t}\n\t\t\tthis.locator && position(this.locator,charNode)\n\t\t}\n\t},\n\tskippedEntity:function(name) {\n\t},\n\tendDocument:function() {\n\t\tthis.doc.normalize();\n\t},\n\tsetDocumentLocator:function (locator) {\n\t if(this.locator = locator){// && !('lineNumber' in locator)){\n\t \tlocator.lineNumber = 0;\n\t }\n\t},\n\t//LexicalHandler\n\tcomment:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t var comm = this.doc.createComment(chars);\n\t this.locator && position(this.locator,comm)\n\t appendElement(this, comm);\n\t},\n\n\tstartCDATA:function() {\n\t //used in characters() methods\n\t this.cdata = true;\n\t},\n\tendCDATA:function() {\n\t this.cdata = false;\n\t},\n\n\tstartDTD:function(name, publicId, systemId) {\n\t\tvar impl = this.doc.implementation;\n\t if (impl && impl.createDocumentType) {\n\t var dt = impl.createDocumentType(name, publicId, systemId);\n\t this.locator && position(this.locator,dt)\n\t appendElement(this, dt);\n\t }\n\t},\n\t/**\n\t * @see org.xml.sax.ErrorHandler\n\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\n\t */\n\twarning:function(error) {\n\t\tconsole.warn('[xmldom warning]\\t'+error,_locator(this.locator));\n\t},\n\terror:function(error) {\n\t\tconsole.error('[xmldom error]\\t'+error,_locator(this.locator));\n\t},\n\tfatalError:function(error) {\n\t\tthrow new ParseError(error, this.locator);\n\t}\n}\nfunction _locator(l){\n\tif(l){\n\t\treturn '\\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'\n\t}\n}\nfunction _toString(chars,start,length){\n\tif(typeof chars == 'string'){\n\t\treturn chars.substr(start,length)\n\t}else{//java sax connect width xmldom on rhino(what about: \"? && !(chars instanceof String)\")\n\t\tif(chars.length >= start+length || start){\n\t\t\treturn new java.lang.String(chars,start,length)+'';\n\t\t}\n\t\treturn chars;\n\t}\n}\n\n/*\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html\n * used method of org.xml.sax.ext.LexicalHandler:\n * #comment(chars, start, length)\n * #startCDATA()\n * #endCDATA()\n * #startDTD(name, publicId, systemId)\n *\n *\n * IGNORED method of org.xml.sax.ext.LexicalHandler:\n * #endDTD()\n * #startEntity(name)\n * #endEntity(name)\n *\n *\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html\n * IGNORED method of org.xml.sax.ext.DeclHandler\n * \t#attributeDecl(eName, aName, type, mode, value)\n * #elementDecl(name, model)\n * #externalEntityDecl(name, publicId, systemId)\n * #internalEntityDecl(name, value)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html\n * IGNORED method of org.xml.sax.EntityResolver2\n * #resolveEntity(String name,String publicId,String baseURI,String systemId)\n * #resolveEntity(publicId, systemId)\n * #getExternalSubset(name, baseURI)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html\n * IGNORED method of org.xml.sax.DTDHandler\n * #notationDecl(name, publicId, systemId) {};\n * #unparsedEntityDecl(name, publicId, systemId, notationName) {};\n */\n\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){\n\tDOMHandler.prototype[key] = function(){return null}\n})\n\n/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */\nfunction appendElement (hander,node) {\n if (!hander.currentElement) {\n hander.doc.appendChild(node);\n } else {\n hander.currentElement.appendChild(node);\n }\n}//appendChild and setAttributeNS are preformance key\n\n//if(typeof require == 'function'){\nvar htmlEntity = require('./entities');\nvar sax = require('./sax');\nvar XMLReader = sax.XMLReader;\nvar ParseError = sax.ParseError;\nvar DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation;\nexports.XMLSerializer = require('./dom').XMLSerializer ;\nexports.DOMParser = DOMParser;\nexports.__DOMHandler = DOMHandler;\n//}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["marker","symbol","_a","_AISDKError","AISDKError","name","marker2","symbol2","_a2","APICallError","name2","marker3","symbol3","_a3","EmptyResponseBodyError","getErrorMessage","name3","marker4","symbol4","_a4","InvalidArgumentError","name4","marker5","symbol5","_a5","InvalidPromptError","name5","marker6","symbol6","_a6","InvalidResponseDataError","name6","marker7","symbol7","_a7","JSONParseError","name7","marker8","symbol8","_a8","LoadAPIKeyError","name12","marker13","symbol13","_a13","_TypeValidationError","TypeValidationError","name13","marker14","symbol14","_a14","UnsupportedFunctionalityError","secureJsonParseModule","combineHeaders","splitLines","extractResponseHeaders","createIdGenerator","generateId","removeUndefinedEntries","isAbortError","loadApiKey","validatorSymbol","validator","isValidator","asValidator","zodValidator","validateTypes","safeValidateTypes","parseJSON","TypeValidationError2","safeParseJSON","isParsableJson","InvalidArgumentError2","getOriginalFetch2","postJsonToApi","postToApi","APICallError2","createJsonErrorResponseHandler","APICallError3","createEventSourceResponseHandler","createJsonResponseHandler","btoa","atob","convertUint8ArrayToBase64","withoutTrailingSlash","prepareTools","UnsupportedFunctionalityError2","UnsupportedFunctionalityError3","z2","UnsupportedFunctionalityError4","UnsupportedFunctionalityError5","postJsonToApi2","combineHeaders2","createJsonResponseHandler2","createEventSourceResponseHandler2","z3","postJsonToApi3","combineHeaders3","createJsonResponseHandler3","z4","modelMaxImagesPerCall","postJsonToApi4","combineHeaders4","createJsonResponseHandler4","z5","z6","combineHeaders5","createJsonResponseHandler5","convertUint8ArrayToBase642","UnsupportedFunctionalityError6","UnsupportedFunctionalityError7","parseProviderOptions2","postJsonToApi5","combineHeaders6","createJsonResponseHandler6","z7","generateId2","createEventSourceResponseHandler3","z8","z9","parseProviderOptions3","postJsonToApi6","combineHeaders7","groupIntoBlocks","resolve2","fromString","Buffer","fromUtf8","fromUtf8Browser","createJsonErrorResponseHandler2","resolve3","createJsonErrorResponseHandler3","withoutTrailingSlash2","loadApiKey2","require$$0","require$$1","require$$2","DOMParser","XMLSerializer","TOOL_NAME","human_interact","variable_storage","foreach_task","watch_trigger","task_node_status","memory.extractUsedTool","memory.removeDuplicateToolUse","memory.handleLargeContextMessages","memory.compressAgentMessages","AGENT_NAME","chat_agent_name"],"mappings":"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,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;AAClD,IAAI,UAAU,EAAE,UAAU,EA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","x_google_ignoreList":[3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38]}