@mastra/server 1.63.1-alpha.0 → 1.63.1-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/LICENSE.md +6 -4
- package/dist/{a2a-BtXFFv-0.cjs → a2a-C7OgMND3.cjs} +2 -2
- package/dist/{a2a-BtXFFv-0.cjs.map → a2a-C7OgMND3.cjs.map} +1 -1
- package/dist/{a2a-DZhtQeFL.js → a2a-CMi5AZNR.js} +2 -2
- package/dist/{a2a-DZhtQeFL.js.map → a2a-CMi5AZNR.js.map} +1 -1
- package/dist/{api-schema-manifest-DrTLp1Fv.cjs → api-schema-manifest-BC-yts9Q.cjs} +3 -3
- package/dist/{api-schema-manifest-DrTLp1Fv.cjs.map → api-schema-manifest-BC-yts9Q.cjs.map} +1 -1
- package/dist/{api-schema-manifest-BVgosvca.js → api-schema-manifest-C0fowe3V.js} +3 -3
- package/dist/{api-schema-manifest-BVgosvca.js.map → api-schema-manifest-C0fowe3V.js.map} +1 -1
- package/dist/{background-tasks-8M9W_27g.cjs → background-tasks-BJhziawt.cjs} +2 -2
- package/dist/{background-tasks-8M9W_27g.cjs.map → background-tasks-BJhziawt.cjs.map} +1 -1
- package/dist/{background-tasks-BtWM0sZs.js → background-tasks-Bl7Hn8h9.js} +2 -2
- package/dist/{background-tasks-BtWM0sZs.js.map → background-tasks-Bl7Hn8h9.js.map} +1 -1
- package/dist/{builder-registry-Dcd_ApmT.cjs → builder-registry-BINitddV.cjs} +2 -2
- package/dist/{builder-registry-Dcd_ApmT.cjs.map → builder-registry-BINitddV.cjs.map} +1 -1
- package/dist/{builder-registry-DnEa4qnF.js → builder-registry-Bcpr74BB.js} +2 -2
- package/dist/{builder-registry-DnEa4qnF.js.map → builder-registry-Bcpr74BB.js.map} +1 -1
- package/dist/{channels-BO3Zd38V.js → channels-CnEljW9e.js} +2 -2
- package/dist/{channels-BO3Zd38V.js.map → channels-CnEljW9e.js.map} +1 -1
- package/dist/{channels-D9WRnKzU.cjs → channels-D8e5YDTn.cjs} +2 -2
- package/dist/{channels-D9WRnKzU.cjs.map → channels-D8e5YDTn.cjs.map} +1 -1
- package/dist/{dist-CJKQBH69.cjs → dist-B6qmZNb0.cjs} +4 -4
- package/dist/dist-B6qmZNb0.cjs.map +1 -0
- package/dist/{dist-D4NzuG3G.cjs → dist-C76EmJsT.cjs} +3 -3
- package/dist/{dist-D4NzuG3G.cjs.map → dist-C76EmJsT.cjs.map} +1 -1
- package/dist/{dist-8-Z5v77M.cjs → dist-C9yKk16g.cjs} +3 -3
- package/dist/{dist-8-Z5v77M.cjs.map → dist-C9yKk16g.cjs.map} +1 -1
- package/dist/{dist-2zVeGGHi.cjs → dist-CLQt62Pi.cjs} +3 -3
- package/dist/{dist-2zVeGGHi.cjs.map → dist-CLQt62Pi.cjs.map} +1 -1
- package/dist/{dist-F_Ql1co6.js → dist-Chgswf37.js} +4 -4
- package/dist/dist-Chgswf37.js.map +1 -0
- package/dist/{dist-Be7Caz3Z.cjs → dist-D6F_HzDS.cjs} +4 -4
- package/dist/{dist-Be7Caz3Z.cjs.map → dist-D6F_HzDS.cjs.map} +1 -1
- package/dist/{dist-Jn3uXsoB.js → dist-Da8AufS5.js} +4 -4
- package/dist/{dist-Jn3uXsoB.js.map → dist-Da8AufS5.js.map} +1 -1
- package/dist/{dist-L0EogwX_.js → dist-DmVdNrSg.js} +79 -19
- package/dist/dist-DmVdNrSg.js.map +1 -0
- package/dist/{dist-bAFqx06T.js → dist-DoTDZ7wF.js} +3 -3
- package/dist/{dist-bAFqx06T.js.map → dist-DoTDZ7wF.js.map} +1 -1
- package/dist/{dist-BfVTO0pC.cjs → dist-DpM-6UBk.cjs} +3 -3
- package/dist/{dist-BfVTO0pC.cjs.map → dist-DpM-6UBk.cjs.map} +1 -1
- package/dist/{dist-CRgxcDTg.js → dist-Wjq6PT76.js} +3 -3
- package/dist/{dist-CRgxcDTg.js.map → dist-Wjq6PT76.js.map} +1 -1
- package/dist/{dist-CHJcZQdS.js → dist-XnA2Lowr.js} +3 -3
- package/dist/{dist-CHJcZQdS.js.map → dist-XnA2Lowr.js.map} +1 -1
- package/dist/{dist-Xj9TvH1A.cjs → dist-fQ5zEP_z.cjs} +78 -18
- package/dist/dist-fQ5zEP_z.cjs.map +1 -0
- package/dist/{dist-CscF1cF8.js → dist-k6UeNFHu.js} +3 -3
- package/dist/{dist-CscF1cF8.js.map → dist-k6UeNFHu.js.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{dynamic-workflows-BZ5ru36x.cjs → dynamic-workflows-BT_ryQUl.cjs} +2 -2
- package/dist/{dynamic-workflows-BZ5ru36x.cjs.map → dynamic-workflows-BT_ryQUl.cjs.map} +1 -1
- package/dist/{dynamic-workflows-C6U0Rdoc.js → dynamic-workflows-CzkrhMwZ.js} +2 -2
- package/dist/{dynamic-workflows-C6U0Rdoc.js.map → dynamic-workflows-CzkrhMwZ.js.map} +1 -1
- package/dist/{editor-builder-BmRQift0.cjs → editor-builder-B-KatZ10.cjs} +2 -2
- package/dist/{editor-builder-BmRQift0.cjs.map → editor-builder-B-KatZ10.cjs.map} +1 -1
- package/dist/{editor-builder-EP9FAtQm.js → editor-builder-c7QiLUV9.js} +2 -2
- package/dist/{editor-builder-EP9FAtQm.js.map → editor-builder-c7QiLUV9.js.map} +1 -1
- package/dist/{observability-new-endpoints-4GcBP0uJ.cjs → observability-new-endpoints-BGXu1TX-.cjs} +2 -2
- package/dist/{observability-new-endpoints-4GcBP0uJ.cjs.map → observability-new-endpoints-BGXu1TX-.cjs.map} +1 -1
- package/dist/{observability-new-endpoints-0RLfcyw6.js → observability-new-endpoints-CsXPhgyd.js} +2 -2
- package/dist/{observability-new-endpoints-0RLfcyw6.js.map → observability-new-endpoints-CsXPhgyd.js.map} +1 -1
- package/dist/{route-builder-YQ_gLIvW.js → route-builder-BveLN9LU.js} +2 -2
- package/dist/route-builder-BveLN9LU.js.map +1 -0
- package/dist/{route-builder-CWsok5ci.cjs → route-builder-C8n4ugUf.cjs} +2 -2
- package/dist/route-builder-C8n4ugUf.cjs.map +1 -0
- package/dist/{routes-CDsvr7BB.cjs → routes-BAnhbh9P.cjs} +10 -10
- package/dist/{routes-CDsvr7BB.cjs.map → routes-BAnhbh9P.cjs.map} +1 -1
- package/dist/{routes-DCEudTA7.js → routes-D9HqtkO2.js} +10 -10
- package/dist/{routes-DCEudTA7.js.map → routes-D9HqtkO2.js.map} +1 -1
- package/dist/{schedules-RjPcNOmY.js → schedules-BcEUUuX_.js} +2 -2
- package/dist/{schedules-RjPcNOmY.js.map → schedules-BcEUUuX_.js.map} +1 -1
- package/dist/{schedules-7YUg_TRM.cjs → schedules-fj9U0_tA.cjs} +2 -2
- package/dist/{schedules-7YUg_TRM.cjs.map → schedules-fj9U0_tA.cjs.map} +1 -1
- package/dist/server/handlers/a2a.cjs +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +2 -2
- package/dist/server/handlers/agent-builder.js +2 -2
- package/dist/server/handlers/agent-controller.cjs +1 -1
- package/dist/server/handlers/agent-controller.js +1 -1
- package/dist/server/handlers/agent-versions.cjs +1 -1
- package/dist/server/handlers/agent-versions.js +1 -1
- package/dist/server/handlers/agents.cjs +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +1 -1
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/background-tasks.cjs +1 -1
- package/dist/server/handlers/background-tasks.js +1 -1
- package/dist/server/handlers/builder-registry.cjs +1 -1
- package/dist/server/handlers/builder-registry.js +1 -1
- package/dist/server/handlers/channels.cjs +1 -1
- package/dist/server/handlers/channels.js +1 -1
- package/dist/server/handlers/conversations.cjs +1 -1
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/datasets.cjs +1 -1
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/dynamic-workflows.cjs +1 -1
- package/dist/server/handlers/dynamic-workflows.js +1 -1
- package/dist/server/handlers/editor-builder.cjs +1 -1
- package/dist/server/handlers/editor-builder.js +1 -1
- package/dist/server/handlers/favorites-enrichment.cjs +1 -1
- package/dist/server/handlers/favorites-enrichment.js +1 -1
- package/dist/server/handlers/logs.cjs +1 -1
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp-client-versions.cjs +1 -1
- package/dist/server/handlers/mcp-client-versions.js +1 -1
- package/dist/server/handlers/mcp.cjs +1 -1
- package/dist/server/handlers/mcp.js +1 -1
- package/dist/server/handlers/memory.cjs +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability-new-endpoints.cjs +1 -1
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability-shared.cjs +1 -1
- package/dist/server/handlers/observability-shared.js +1 -1
- package/dist/server/handlers/observability.cjs +2 -2
- package/dist/server/handlers/observability.js +2 -2
- package/dist/server/handlers/plans.cjs +1 -1
- package/dist/server/handlers/plans.js +1 -1
- package/dist/server/handlers/processor-providers.cjs +1 -1
- package/dist/server/handlers/processor-providers.js +1 -1
- package/dist/server/handlers/processors.cjs +1 -1
- package/dist/server/handlers/processors.js +1 -1
- package/dist/server/handlers/prompt-block-versions.cjs +1 -1
- package/dist/server/handlers/prompt-block-versions.js +1 -1
- package/dist/server/handlers/responses.cjs +1 -1
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/schedules.cjs +1 -1
- package/dist/server/handlers/schedules.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +1 -1
- package/dist/server/handlers/scorer-versions.js +1 -1
- package/dist/server/handlers/scores.cjs +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agent-favorites.cjs +2 -2
- package/dist/server/handlers/stored-agent-favorites.js +2 -2
- package/dist/server/handlers/stored-agents.cjs +2 -2
- package/dist/server/handlers/stored-agents.js +2 -2
- package/dist/server/handlers/stored-mcp-clients.cjs +1 -1
- package/dist/server/handlers/stored-mcp-clients.js +1 -1
- package/dist/server/handlers/stored-prompt-blocks.cjs +1 -1
- package/dist/server/handlers/stored-prompt-blocks.js +1 -1
- package/dist/server/handlers/stored-scorers.cjs +1 -1
- package/dist/server/handlers/stored-scorers.js +1 -1
- package/dist/server/handlers/stored-skill-favorites.cjs +2 -2
- package/dist/server/handlers/stored-skill-favorites.js +2 -2
- package/dist/server/handlers/stored-skills.cjs +2 -2
- package/dist/server/handlers/stored-skills.js +2 -2
- package/dist/server/handlers/stored-workspaces.cjs +1 -1
- package/dist/server/handlers/stored-workspaces.js +1 -1
- package/dist/server/handlers/system.cjs +2 -2
- package/dist/server/handlers/system.js +2 -2
- package/dist/server/handlers/tool-providers.cjs +1 -1
- package/dist/server/handlers/tool-providers.js +1 -1
- package/dist/server/handlers/tools.cjs +1 -1
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/vector.cjs +1 -1
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/workflows.cjs +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers/workspace.cjs +1 -1
- package/dist/server/handlers/workspace.js +1 -1
- package/dist/server/handlers.cjs +2 -2
- package/dist/server/handlers.js +2 -2
- package/dist/server/server-adapter/index.cjs +2 -2
- package/dist/server/server-adapter/index.js +2 -2
- package/package.json +5 -5
- package/dist/dist-CJKQBH69.cjs.map +0 -1
- package/dist/dist-F_Ql1co6.js.map +0 -1
- package/dist/dist-L0EogwX_.js.map +0 -1
- package/dist/dist-Xj9TvH1A.cjs.map +0 -1
- package/dist/route-builder-CWsok5ci.cjs.map +0 -1
- package/dist/route-builder-YQ_gLIvW.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dist-Jn3uXsoB.js","names":["_exhaustiveCheck","z","UnsupportedFunctionalityError2","z2","z3","z4","postJsonToApi4","combineHeaders4","createJsonErrorResponseHandler4","createJsonResponseHandler4","z5","z"],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@ai-sdk/openai-compatible/0.2.16/14d16023375e4285f28bf43f0144b3a20c76cf33b87a5f1aa78442edd8cdb72b/node_modules/@ai-sdk/openai-compatible/dist/index.mjs","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@ai-sdk/xai/1.2.18/e3f955585c44d055f94d715b8082af482ddc3dc0afe91d2240c8fec8ec5bfec4/node_modules/@ai-sdk/xai/dist/index.mjs"],"sourcesContent":["// src/openai-compatible-chat-language-model.ts\nimport {\n InvalidResponseDataError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonErrorResponseHandler,\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-compatible-chat-messages.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport { convertUint8ArrayToBase64 } from \"@ai-sdk/provider-utils\";\nfunction getOpenAIMetadata(message) {\n var _a, _b;\n return (_b = (_a = message == null ? void 0 : message.providerMetadata) == null ? void 0 : _a.openaiCompatible) != null ? _b : {};\n}\nfunction convertToOpenAICompatibleChatMessages(prompt) {\n const messages = [];\n for (const { role, content, ...message } of prompt) {\n const metadata = getOpenAIMetadata({ ...message });\n switch (role) {\n case \"system\": {\n messages.push({ role: \"system\", content, ...metadata });\n break;\n }\n case \"user\": {\n if (content.length === 1 && content[0].type === \"text\") {\n messages.push({\n role: \"user\",\n content: content[0].text,\n ...getOpenAIMetadata(content[0])\n });\n break;\n }\n messages.push({\n role: \"user\",\n content: content.map((part) => {\n var _a;\n const partMetadata = getOpenAIMetadata(part);\n switch (part.type) {\n case \"text\": {\n return { type: \"text\", text: part.text, ...partMetadata };\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 },\n ...partMetadata\n };\n }\n case \"file\": {\n throw new UnsupportedFunctionalityError({\n functionality: \"File content parts in user messages\"\n });\n }\n }\n }),\n ...metadata\n });\n break;\n }\n case \"assistant\": {\n let text = \"\";\n const toolCalls = [];\n for (const part of content) {\n const partMetadata = getOpenAIMetadata(part);\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 ...partMetadata\n });\n break;\n }\n }\n }\n messages.push({\n role: \"assistant\",\n content: text,\n tool_calls: toolCalls.length > 0 ? toolCalls : void 0,\n ...metadata\n });\n break;\n }\n case \"tool\": {\n for (const toolResponse of content) {\n const toolResponseMetadata = getOpenAIMetadata(toolResponse);\n messages.push({\n role: \"tool\",\n tool_call_id: toolResponse.toolCallId,\n content: JSON.stringify(toolResponse.result),\n ...toolResponseMetadata\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/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/map-openai-compatible-finish-reason.ts\nfunction mapOpenAICompatibleFinishReason(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-compatible-error.ts\nimport { z } from \"zod\";\nvar openaiCompatibleErrorDataSchema = 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 defaultOpenAICompatibleErrorStructure = {\n errorSchema: openaiCompatibleErrorDataSchema,\n errorToMessage: (data) => data.error.message\n};\n\n// src/openai-compatible-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nfunction prepareTools({\n mode,\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 const openaiCompatTools = [];\n for (const tool of tools) {\n if (tool.type === \"provider-defined\") {\n toolWarnings.push({ type: \"unsupported-tool\", tool });\n } else {\n openaiCompatTools.push({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.parameters\n }\n });\n }\n }\n if (toolChoice == null) {\n return { tools: openaiCompatTools, 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: openaiCompatTools, tool_choice: type, toolWarnings };\n case \"tool\":\n return {\n tools: openaiCompatTools,\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-compatible-chat-language-model.ts\nvar OpenAICompatibleChatLanguageModel = class {\n // type inferred via constructor\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n var _a, _b;\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n const errorStructure = (_a = config.errorStructure) != null ? _a : defaultOpenAICompatibleErrorStructure;\n this.chunkSchema = createOpenAICompatibleChatChunkSchema(\n errorStructure.errorSchema\n );\n this.failedResponseHandler = createJsonErrorResponseHandler(errorStructure);\n this.supportsStructuredOutputs = (_b = config.supportsStructuredOutputs) != null ? _b : false;\n }\n get defaultObjectGenerationMode() {\n return this.config.defaultObjectGenerationMode;\n }\n get provider() {\n return this.config.provider;\n }\n get providerOptionsName() {\n return this.config.provider.split(\".\")[0].trim();\n }\n getArgs({\n mode,\n prompt,\n maxTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n providerMetadata,\n stopSequences,\n responseFormat,\n seed\n }) {\n var _a, _b, _c, _d, _e;\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 baseArgs = {\n // model id:\n model: this.modelId,\n // model specific settings:\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 response_format: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? this.supportsStructuredOutputs === true && responseFormat.schema != null ? {\n type: \"json_schema\",\n json_schema: {\n schema: responseFormat.schema,\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 ...providerMetadata == null ? void 0 : providerMetadata[this.providerOptionsName],\n reasoning_effort: (_d = (_b = providerMetadata == null ? void 0 : providerMetadata[this.providerOptionsName]) == null ? void 0 : _b.reasoningEffort) != null ? _d : (_c = providerMetadata == null ? void 0 : providerMetadata[\"openai-compatible\"]) == null ? void 0 : _c.reasoningEffort,\n // messages:\n messages: convertToOpenAICompatibleChatMessages(prompt)\n };\n switch (type) {\n case \"regular\": {\n const { tools, tool_choice, toolWarnings } = prepareTools({\n mode,\n structuredOutputs: this.supportsStructuredOutputs\n });\n return {\n args: { ...baseArgs, tools, tool_choice },\n warnings: [...warnings, ...toolWarnings]\n };\n }\n case \"object-json\": {\n return {\n args: {\n ...baseArgs,\n response_format: this.supportsStructuredOutputs === true && mode.schema != null ? {\n type: \"json_schema\",\n json_schema: {\n schema: mode.schema,\n name: (_e = mode.name) != null ? _e : \"response\",\n description: mode.description\n }\n } : { type: \"json_object\" }\n },\n warnings\n };\n }\n case \"object-tool\": {\n return {\n args: {\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 }\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, _i, _j, _k;\n const { args, warnings } = this.getArgs({ ...options });\n const body = JSON.stringify(args);\n const {\n responseHeaders,\n value: responseBody,\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: args,\n failedResponseHandler: this.failedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n OpenAICompatibleChatResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { messages: rawPrompt, ...rawSettings } = args;\n const choice = responseBody.choices[0];\n const providerMetadata = {\n [this.providerOptionsName]: {},\n ...(_b = (_a = this.config.metadataExtractor) == null ? void 0 : _a.extractMetadata) == null ? void 0 : _b.call(_a, {\n parsedBody: rawResponse\n })\n };\n const completionTokenDetails = (_c = responseBody.usage) == null ? void 0 : _c.completion_tokens_details;\n const promptTokenDetails = (_d = responseBody.usage) == null ? void 0 : _d.prompt_tokens_details;\n if ((completionTokenDetails == null ? void 0 : completionTokenDetails.reasoning_tokens) != null) {\n providerMetadata[this.providerOptionsName].reasoningTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.reasoning_tokens;\n }\n if ((completionTokenDetails == null ? void 0 : completionTokenDetails.accepted_prediction_tokens) != null) {\n providerMetadata[this.providerOptionsName].acceptedPredictionTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.accepted_prediction_tokens;\n }\n if ((completionTokenDetails == null ? void 0 : completionTokenDetails.rejected_prediction_tokens) != null) {\n providerMetadata[this.providerOptionsName].rejectedPredictionTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.rejected_prediction_tokens;\n }\n if ((promptTokenDetails == null ? void 0 : promptTokenDetails.cached_tokens) != null) {\n providerMetadata[this.providerOptionsName].cachedPromptTokens = promptTokenDetails == null ? void 0 : promptTokenDetails.cached_tokens;\n }\n return {\n text: (_e = choice.message.content) != null ? _e : void 0,\n reasoning: (_f = choice.message.reasoning_content) != null ? _f : void 0,\n toolCalls: (_g = choice.message.tool_calls) == null ? void 0 : _g.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: mapOpenAICompatibleFinishReason(choice.finish_reason),\n usage: {\n promptTokens: (_i = (_h = responseBody.usage) == null ? void 0 : _h.prompt_tokens) != null ? _i : NaN,\n completionTokens: (_k = (_j = responseBody.usage) == null ? void 0 : _j.completion_tokens) != null ? _k : NaN\n },\n providerMetadata,\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders, body: rawResponse },\n response: getResponseMetadata(responseBody),\n warnings,\n request: { body }\n };\n }\n async doStream(options) {\n var _a;\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.reasoning) {\n if (Array.isArray(result.reasoning)) {\n for (const part of result.reasoning) {\n if (part.type === \"text\") {\n controller.enqueue({\n type: \"reasoning\",\n textDelta: part.text\n });\n }\n }\n } else {\n controller.enqueue({\n type: \"reasoning\",\n textDelta: result.reasoning\n });\n }\n }\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\",\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.includeUsage ? { include_usage: true } : void 0\n };\n const metadataExtractor = (_a = this.config.metadataExtractor) == null ? void 0 : _a.createStreamExtractor();\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: this.failedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n this.chunkSchema\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 completionTokens: void 0,\n completionTokensDetails: {\n reasoningTokens: void 0,\n acceptedPredictionTokens: void 0,\n rejectedPredictionTokens: void 0\n },\n promptTokens: void 0,\n promptTokensDetails: {\n cachedTokens: void 0\n }\n };\n let isFirstChunk = true;\n let providerOptionsName = this.providerOptionsName;\n return {\n stream: response.pipeThrough(\n new TransformStream({\n // TODO we lost type safety on Chunk, most likely due to the error schema. MUST FIX\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 metadataExtractor == null ? void 0 : metadataExtractor.processChunk(chunk.rawValue);\n if (\"error\" in value) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: value.error.message });\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.promptTokens = prompt_tokens != null ? prompt_tokens : void 0;\n usage.completionTokens = completion_tokens != null ? completion_tokens : void 0;\n if ((completion_tokens_details == null ? void 0 : completion_tokens_details.reasoning_tokens) != null) {\n usage.completionTokensDetails.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 usage.completionTokensDetails.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 usage.completionTokensDetails.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 usage.promptTokensDetails.cachedTokens = 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 = mapOpenAICompatibleFinishReason(\n choice.finish_reason\n );\n }\n if ((choice == null ? void 0 : choice.delta) == null) {\n return;\n }\n const delta = choice.delta;\n if (delta.reasoning_content != null) {\n controller.enqueue({\n type: \"reasoning\",\n textDelta: delta.reasoning_content\n });\n }\n if (delta.content != null) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: delta.content\n });\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 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 _a2, _b;\n const providerMetadata = {\n [providerOptionsName]: {},\n ...metadataExtractor == null ? void 0 : metadataExtractor.buildMetadata()\n };\n if (usage.completionTokensDetails.reasoningTokens != null) {\n providerMetadata[providerOptionsName].reasoningTokens = usage.completionTokensDetails.reasoningTokens;\n }\n if (usage.completionTokensDetails.acceptedPredictionTokens != null) {\n providerMetadata[providerOptionsName].acceptedPredictionTokens = usage.completionTokensDetails.acceptedPredictionTokens;\n }\n if (usage.completionTokensDetails.rejectedPredictionTokens != null) {\n providerMetadata[providerOptionsName].rejectedPredictionTokens = usage.completionTokensDetails.rejectedPredictionTokens;\n }\n if (usage.promptTokensDetails.cachedTokens != null) {\n providerMetadata[providerOptionsName].cachedPromptTokens = usage.promptTokensDetails.cachedTokens;\n }\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: {\n promptTokens: (_a2 = usage.promptTokens) != null ? _a2 : NaN,\n completionTokens: (_b = usage.completionTokens) != null ? _b : NaN\n },\n providerMetadata\n });\n }\n })\n ),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings,\n request: { body: JSON.stringify(body) }\n };\n }\n};\nvar openaiCompatibleTokenUsageSchema = 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 OpenAICompatibleChatResponseSchema = 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 reasoning_content: z2.string().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 finish_reason: z2.string().nullish()\n })\n ),\n usage: openaiCompatibleTokenUsageSchema\n});\nvar createOpenAICompatibleChatChunkSchema = (errorSchema) => 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 reasoning_content: z2.string().nullish(),\n tool_calls: z2.array(\n z2.object({\n index: z2.number().optional(),\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 finish_reason: z2.string().nullish()\n })\n ),\n usage: openaiCompatibleTokenUsageSchema\n }),\n errorSchema\n]);\n\n// src/openai-compatible-completion-language-model.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError4\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders2,\n createEventSourceResponseHandler as createEventSourceResponseHandler2,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler2,\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-compatible-completion-prompt.ts\nimport {\n InvalidPromptError,\n UnsupportedFunctionalityError as UnsupportedFunctionalityError3\n} from \"@ai-sdk/provider\";\nfunction convertToOpenAICompatibleCompletionPrompt({\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 UnsupportedFunctionalityError3({\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 UnsupportedFunctionalityError3({\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 UnsupportedFunctionalityError3({\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/openai-compatible-completion-language-model.ts\nvar OpenAICompatibleCompletionLanguageModel = class {\n // type inferred via constructor\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n this.defaultObjectGenerationMode = void 0;\n var _a;\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n const errorStructure = (_a = config.errorStructure) != null ? _a : defaultOpenAICompatibleErrorStructure;\n this.chunkSchema = createOpenAICompatibleCompletionChunkSchema(\n errorStructure.errorSchema\n );\n this.failedResponseHandler = createJsonErrorResponseHandler2(errorStructure);\n }\n get provider() {\n return this.config.provider;\n }\n get providerOptionsName() {\n return this.config.provider.split(\".\")[0].trim();\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 providerMetadata\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 } = convertToOpenAICompatibleCompletionPrompt({ 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 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 ...providerMetadata == null ? void 0 : providerMetadata[this.providerOptionsName],\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 UnsupportedFunctionalityError4({\n functionality: \"tools\"\n });\n }\n if (mode.toolChoice) {\n throw new UnsupportedFunctionalityError4({\n functionality: \"toolChoice\"\n });\n }\n return { args: baseArgs, warnings };\n }\n case \"object-json\": {\n throw new UnsupportedFunctionalityError4({\n functionality: \"object-json mode\"\n });\n }\n case \"object-tool\": {\n throw new UnsupportedFunctionalityError4({\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 var _a, _b, _c, _d;\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: this.failedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n openaiCompatibleCompletionResponseSchema\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: (_b = (_a = response.usage) == null ? void 0 : _a.prompt_tokens) != null ? _b : NaN,\n completionTokens: (_d = (_c = response.usage) == null ? void 0 : _c.completion_tokens) != null ? _d : NaN\n },\n finishReason: mapOpenAICompatibleFinishReason(choice.finish_reason),\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.includeUsage ? { 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: this.failedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler2(\n this.chunkSchema\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 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 = mapOpenAICompatibleFinishReason(\n choice.finish_reason\n );\n }\n if ((choice == null ? void 0 : choice.text) != null) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: choice.text\n });\n }\n },\n flush(controller) {\n controller.enqueue({\n type: \"finish\",\n finishReason,\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 openaiCompatibleCompletionResponseSchema = 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 })\n ),\n usage: z3.object({\n prompt_tokens: z3.number(),\n completion_tokens: z3.number()\n }).nullish()\n});\nvar createOpenAICompatibleCompletionChunkSchema = (errorSchema) => 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 })\n ),\n usage: z3.object({\n prompt_tokens: z3.number(),\n completion_tokens: z3.number()\n }).nullish()\n }),\n errorSchema\n]);\n\n// src/openai-compatible-embedding-model.ts\nimport {\n TooManyEmbeddingValuesForCallError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders3,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler3,\n createJsonResponseHandler as createJsonResponseHandler3,\n postJsonToApi as postJsonToApi3\n} from \"@ai-sdk/provider-utils\";\nimport { z as z4 } from \"zod\";\nvar OpenAICompatibleEmbeddingModel = 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.config.maxEmbeddingsPerCall) != null ? _a : 2048;\n }\n get supportsParallelCalls() {\n var _a;\n return (_a = this.config.supportsParallelCalls) != null ? _a : true;\n }\n async doEmbed({\n values,\n headers,\n abortSignal\n }) {\n var _a;\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: createJsonErrorResponseHandler3(\n (_a = this.config.errorStructure) != null ? _a : defaultOpenAICompatibleErrorStructure\n ),\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-compatible-image-model.ts\nimport {\n combineHeaders as combineHeaders4,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler4,\n createJsonResponseHandler as createJsonResponseHandler4,\n postJsonToApi as postJsonToApi4\n} from \"@ai-sdk/provider-utils\";\nimport { z as z5 } from \"zod\";\nvar OpenAICompatibleImageModel = 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;\n return (_a = this.settings.maxImagesPerCall) != null ? _a : 10;\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, _e;\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 response_format: \"b64_json\",\n ...this.settings.user ? { user: this.settings.user } : {}\n },\n failedResponseHandler: createJsonErrorResponseHandler4(\n (_e = this.config.errorStructure) != null ? _e : defaultOpenAICompatibleErrorStructure\n ),\n successfulResponseHandler: createJsonResponseHandler4(\n openaiCompatibleImageResponseSchema\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 openaiCompatibleImageResponseSchema = z5.object({\n data: z5.array(z5.object({ b64_json: z5.string() }))\n});\n\n// src/openai-compatible-provider.ts\nimport { withoutTrailingSlash } from \"@ai-sdk/provider-utils\";\nfunction createOpenAICompatible(options) {\n const baseURL = withoutTrailingSlash(options.baseURL);\n const providerName = options.name;\n const getHeaders = () => ({\n ...options.apiKey && { Authorization: `Bearer ${options.apiKey}` },\n ...options.headers\n });\n const getCommonModelConfig = (modelType) => ({\n provider: `${providerName}.${modelType}`,\n url: ({ path }) => {\n const url = new URL(`${baseURL}${path}`);\n if (options.queryParams) {\n url.search = new URLSearchParams(options.queryParams).toString();\n }\n return url.toString();\n },\n headers: getHeaders,\n fetch: options.fetch\n });\n const createLanguageModel = (modelId, settings = {}, config) => createChatModel(modelId, settings, config);\n const createChatModel = (modelId, settings = {}, config) => new OpenAICompatibleChatLanguageModel(modelId, settings, {\n ...getCommonModelConfig(\"chat\"),\n defaultObjectGenerationMode: \"tool\",\n ...config\n });\n const createCompletionModel = (modelId, settings = {}) => new OpenAICompatibleCompletionLanguageModel(\n modelId,\n settings,\n getCommonModelConfig(\"completion\")\n );\n const createEmbeddingModel = (modelId, settings = {}) => new OpenAICompatibleEmbeddingModel(\n modelId,\n settings,\n getCommonModelConfig(\"embedding\")\n );\n const createImageModel = (modelId, settings = {}) => new OpenAICompatibleImageModel(\n modelId,\n settings,\n getCommonModelConfig(\"image\")\n );\n const provider = (modelId, settings, config) => createLanguageModel(modelId, settings, config);\n provider.languageModel = createLanguageModel;\n provider.chatModel = createChatModel;\n provider.completionModel = createCompletionModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.imageModel = createImageModel;\n return provider;\n}\nexport {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel,\n OpenAICompatibleImageModel,\n createOpenAICompatible\n};\n//# sourceMappingURL=index.mjs.map","// src/xai-provider.ts\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleImageModel\n} from \"@ai-sdk/openai-compatible\";\nimport {\n loadApiKey,\n withoutTrailingSlash\n} from \"@ai-sdk/provider-utils\";\n\n// src/xai-chat-settings.ts\nfunction supportsStructuredOutputs(modelId) {\n return [\n \"grok-3\",\n \"grok-3-beta\",\n \"grok-3-latest\",\n \"grok-3-fast\",\n \"grok-3-fast-beta\",\n \"grok-3-fast-latest\",\n \"grok-3-mini\",\n \"grok-3-mini-beta\",\n \"grok-3-mini-latest\",\n \"grok-3-mini-fast\",\n \"grok-3-mini-fast-beta\",\n \"grok-3-mini-fast-latest\",\n \"grok-2-1212\",\n \"grok-2-vision-1212\"\n ].includes(modelId);\n}\n\n// src/xai-error.ts\nimport { z } from \"zod\";\nvar xaiErrorSchema = z.object({\n code: z.string(),\n error: z.string()\n});\n\n// src/xai-provider.ts\nvar xaiErrorStructure = {\n errorSchema: xaiErrorSchema,\n errorToMessage: (data) => data.error\n};\nfunction createXai(options = {}) {\n var _a;\n const baseURL = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.x.ai/v1\"\n );\n const getHeaders = () => ({\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"XAI_API_KEY\",\n description: \"xAI API key\"\n })}`,\n ...options.headers\n });\n const createLanguageModel = (modelId, settings = {}) => {\n const structuredOutputs = supportsStructuredOutputs(modelId);\n return new OpenAICompatibleChatLanguageModel(modelId, settings, {\n provider: \"xai.chat\",\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n defaultObjectGenerationMode: structuredOutputs ? \"json\" : \"tool\",\n errorStructure: xaiErrorStructure,\n supportsStructuredOutputs: structuredOutputs,\n includeUsage: true\n });\n };\n const createImageModel = (modelId, settings = {}) => {\n return new OpenAICompatibleImageModel(modelId, settings, {\n provider: \"xai.image\",\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n errorStructure: xaiErrorStructure\n });\n };\n const provider = (modelId, settings) => createLanguageModel(modelId, settings);\n provider.languageModel = createLanguageModel;\n provider.chat = createLanguageModel;\n provider.textEmbeddingModel = (modelId) => {\n throw new NoSuchModelError({ modelId, modelType: \"textEmbeddingModel\" });\n };\n provider.imageModel = createImageModel;\n provider.image = createImageModel;\n return provider;\n}\nvar xai = createXai();\nexport {\n createXai,\n xai\n};\n//# sourceMappingURL=index.mjs.map"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dist-Da8AufS5.js","names":["_exhaustiveCheck","z","UnsupportedFunctionalityError2","z2","z3","z4","postJsonToApi4","combineHeaders4","createJsonErrorResponseHandler4","createJsonResponseHandler4","z5","z"],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@ai-sdk/openai-compatible/0.2.16/63d67b12d91b4b6d70e19e8f5de070192c46e48fc7e6530421aaae42ee391469/node_modules/@ai-sdk/openai-compatible/dist/index.mjs","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@ai-sdk/xai/1.2.18/4b387f8ddda90c6e0e48380d23aa5eb65b6709f617e7bbfdcfe33ab276c620ff/node_modules/@ai-sdk/xai/dist/index.mjs"],"sourcesContent":["// src/openai-compatible-chat-language-model.ts\nimport {\n InvalidResponseDataError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonErrorResponseHandler,\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-compatible-chat-messages.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport { convertUint8ArrayToBase64 } from \"@ai-sdk/provider-utils\";\nfunction getOpenAIMetadata(message) {\n var _a, _b;\n return (_b = (_a = message == null ? void 0 : message.providerMetadata) == null ? void 0 : _a.openaiCompatible) != null ? _b : {};\n}\nfunction convertToOpenAICompatibleChatMessages(prompt) {\n const messages = [];\n for (const { role, content, ...message } of prompt) {\n const metadata = getOpenAIMetadata({ ...message });\n switch (role) {\n case \"system\": {\n messages.push({ role: \"system\", content, ...metadata });\n break;\n }\n case \"user\": {\n if (content.length === 1 && content[0].type === \"text\") {\n messages.push({\n role: \"user\",\n content: content[0].text,\n ...getOpenAIMetadata(content[0])\n });\n break;\n }\n messages.push({\n role: \"user\",\n content: content.map((part) => {\n var _a;\n const partMetadata = getOpenAIMetadata(part);\n switch (part.type) {\n case \"text\": {\n return { type: \"text\", text: part.text, ...partMetadata };\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 },\n ...partMetadata\n };\n }\n case \"file\": {\n throw new UnsupportedFunctionalityError({\n functionality: \"File content parts in user messages\"\n });\n }\n }\n }),\n ...metadata\n });\n break;\n }\n case \"assistant\": {\n let text = \"\";\n const toolCalls = [];\n for (const part of content) {\n const partMetadata = getOpenAIMetadata(part);\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 ...partMetadata\n });\n break;\n }\n }\n }\n messages.push({\n role: \"assistant\",\n content: text,\n tool_calls: toolCalls.length > 0 ? toolCalls : void 0,\n ...metadata\n });\n break;\n }\n case \"tool\": {\n for (const toolResponse of content) {\n const toolResponseMetadata = getOpenAIMetadata(toolResponse);\n messages.push({\n role: \"tool\",\n tool_call_id: toolResponse.toolCallId,\n content: JSON.stringify(toolResponse.result),\n ...toolResponseMetadata\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/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/map-openai-compatible-finish-reason.ts\nfunction mapOpenAICompatibleFinishReason(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-compatible-error.ts\nimport { z } from \"zod\";\nvar openaiCompatibleErrorDataSchema = 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 defaultOpenAICompatibleErrorStructure = {\n errorSchema: openaiCompatibleErrorDataSchema,\n errorToMessage: (data) => data.error.message\n};\n\n// src/openai-compatible-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nfunction prepareTools({\n mode,\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 const openaiCompatTools = [];\n for (const tool of tools) {\n if (tool.type === \"provider-defined\") {\n toolWarnings.push({ type: \"unsupported-tool\", tool });\n } else {\n openaiCompatTools.push({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.parameters\n }\n });\n }\n }\n if (toolChoice == null) {\n return { tools: openaiCompatTools, 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: openaiCompatTools, tool_choice: type, toolWarnings };\n case \"tool\":\n return {\n tools: openaiCompatTools,\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-compatible-chat-language-model.ts\nvar OpenAICompatibleChatLanguageModel = class {\n // type inferred via constructor\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n var _a, _b;\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n const errorStructure = (_a = config.errorStructure) != null ? _a : defaultOpenAICompatibleErrorStructure;\n this.chunkSchema = createOpenAICompatibleChatChunkSchema(\n errorStructure.errorSchema\n );\n this.failedResponseHandler = createJsonErrorResponseHandler(errorStructure);\n this.supportsStructuredOutputs = (_b = config.supportsStructuredOutputs) != null ? _b : false;\n }\n get defaultObjectGenerationMode() {\n return this.config.defaultObjectGenerationMode;\n }\n get provider() {\n return this.config.provider;\n }\n get providerOptionsName() {\n return this.config.provider.split(\".\")[0].trim();\n }\n getArgs({\n mode,\n prompt,\n maxTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n providerMetadata,\n stopSequences,\n responseFormat,\n seed\n }) {\n var _a, _b, _c, _d, _e;\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 baseArgs = {\n // model id:\n model: this.modelId,\n // model specific settings:\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 response_format: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? this.supportsStructuredOutputs === true && responseFormat.schema != null ? {\n type: \"json_schema\",\n json_schema: {\n schema: responseFormat.schema,\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 ...providerMetadata == null ? void 0 : providerMetadata[this.providerOptionsName],\n reasoning_effort: (_d = (_b = providerMetadata == null ? void 0 : providerMetadata[this.providerOptionsName]) == null ? void 0 : _b.reasoningEffort) != null ? _d : (_c = providerMetadata == null ? void 0 : providerMetadata[\"openai-compatible\"]) == null ? void 0 : _c.reasoningEffort,\n // messages:\n messages: convertToOpenAICompatibleChatMessages(prompt)\n };\n switch (type) {\n case \"regular\": {\n const { tools, tool_choice, toolWarnings } = prepareTools({\n mode,\n structuredOutputs: this.supportsStructuredOutputs\n });\n return {\n args: { ...baseArgs, tools, tool_choice },\n warnings: [...warnings, ...toolWarnings]\n };\n }\n case \"object-json\": {\n return {\n args: {\n ...baseArgs,\n response_format: this.supportsStructuredOutputs === true && mode.schema != null ? {\n type: \"json_schema\",\n json_schema: {\n schema: mode.schema,\n name: (_e = mode.name) != null ? _e : \"response\",\n description: mode.description\n }\n } : { type: \"json_object\" }\n },\n warnings\n };\n }\n case \"object-tool\": {\n return {\n args: {\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 }\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, _i, _j, _k;\n const { args, warnings } = this.getArgs({ ...options });\n const body = JSON.stringify(args);\n const {\n responseHeaders,\n value: responseBody,\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: args,\n failedResponseHandler: this.failedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n OpenAICompatibleChatResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const { messages: rawPrompt, ...rawSettings } = args;\n const choice = responseBody.choices[0];\n const providerMetadata = {\n [this.providerOptionsName]: {},\n ...(_b = (_a = this.config.metadataExtractor) == null ? void 0 : _a.extractMetadata) == null ? void 0 : _b.call(_a, {\n parsedBody: rawResponse\n })\n };\n const completionTokenDetails = (_c = responseBody.usage) == null ? void 0 : _c.completion_tokens_details;\n const promptTokenDetails = (_d = responseBody.usage) == null ? void 0 : _d.prompt_tokens_details;\n if ((completionTokenDetails == null ? void 0 : completionTokenDetails.reasoning_tokens) != null) {\n providerMetadata[this.providerOptionsName].reasoningTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.reasoning_tokens;\n }\n if ((completionTokenDetails == null ? void 0 : completionTokenDetails.accepted_prediction_tokens) != null) {\n providerMetadata[this.providerOptionsName].acceptedPredictionTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.accepted_prediction_tokens;\n }\n if ((completionTokenDetails == null ? void 0 : completionTokenDetails.rejected_prediction_tokens) != null) {\n providerMetadata[this.providerOptionsName].rejectedPredictionTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.rejected_prediction_tokens;\n }\n if ((promptTokenDetails == null ? void 0 : promptTokenDetails.cached_tokens) != null) {\n providerMetadata[this.providerOptionsName].cachedPromptTokens = promptTokenDetails == null ? void 0 : promptTokenDetails.cached_tokens;\n }\n return {\n text: (_e = choice.message.content) != null ? _e : void 0,\n reasoning: (_f = choice.message.reasoning_content) != null ? _f : void 0,\n toolCalls: (_g = choice.message.tool_calls) == null ? void 0 : _g.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: mapOpenAICompatibleFinishReason(choice.finish_reason),\n usage: {\n promptTokens: (_i = (_h = responseBody.usage) == null ? void 0 : _h.prompt_tokens) != null ? _i : NaN,\n completionTokens: (_k = (_j = responseBody.usage) == null ? void 0 : _j.completion_tokens) != null ? _k : NaN\n },\n providerMetadata,\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders, body: rawResponse },\n response: getResponseMetadata(responseBody),\n warnings,\n request: { body }\n };\n }\n async doStream(options) {\n var _a;\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.reasoning) {\n if (Array.isArray(result.reasoning)) {\n for (const part of result.reasoning) {\n if (part.type === \"text\") {\n controller.enqueue({\n type: \"reasoning\",\n textDelta: part.text\n });\n }\n }\n } else {\n controller.enqueue({\n type: \"reasoning\",\n textDelta: result.reasoning\n });\n }\n }\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\",\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.includeUsage ? { include_usage: true } : void 0\n };\n const metadataExtractor = (_a = this.config.metadataExtractor) == null ? void 0 : _a.createStreamExtractor();\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: this.failedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n this.chunkSchema\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 completionTokens: void 0,\n completionTokensDetails: {\n reasoningTokens: void 0,\n acceptedPredictionTokens: void 0,\n rejectedPredictionTokens: void 0\n },\n promptTokens: void 0,\n promptTokensDetails: {\n cachedTokens: void 0\n }\n };\n let isFirstChunk = true;\n let providerOptionsName = this.providerOptionsName;\n return {\n stream: response.pipeThrough(\n new TransformStream({\n // TODO we lost type safety on Chunk, most likely due to the error schema. MUST FIX\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 metadataExtractor == null ? void 0 : metadataExtractor.processChunk(chunk.rawValue);\n if (\"error\" in value) {\n finishReason = \"error\";\n controller.enqueue({ type: \"error\", error: value.error.message });\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.promptTokens = prompt_tokens != null ? prompt_tokens : void 0;\n usage.completionTokens = completion_tokens != null ? completion_tokens : void 0;\n if ((completion_tokens_details == null ? void 0 : completion_tokens_details.reasoning_tokens) != null) {\n usage.completionTokensDetails.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 usage.completionTokensDetails.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 usage.completionTokensDetails.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 usage.promptTokensDetails.cachedTokens = 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 = mapOpenAICompatibleFinishReason(\n choice.finish_reason\n );\n }\n if ((choice == null ? void 0 : choice.delta) == null) {\n return;\n }\n const delta = choice.delta;\n if (delta.reasoning_content != null) {\n controller.enqueue({\n type: \"reasoning\",\n textDelta: delta.reasoning_content\n });\n }\n if (delta.content != null) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: delta.content\n });\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 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 _a2, _b;\n const providerMetadata = {\n [providerOptionsName]: {},\n ...metadataExtractor == null ? void 0 : metadataExtractor.buildMetadata()\n };\n if (usage.completionTokensDetails.reasoningTokens != null) {\n providerMetadata[providerOptionsName].reasoningTokens = usage.completionTokensDetails.reasoningTokens;\n }\n if (usage.completionTokensDetails.acceptedPredictionTokens != null) {\n providerMetadata[providerOptionsName].acceptedPredictionTokens = usage.completionTokensDetails.acceptedPredictionTokens;\n }\n if (usage.completionTokensDetails.rejectedPredictionTokens != null) {\n providerMetadata[providerOptionsName].rejectedPredictionTokens = usage.completionTokensDetails.rejectedPredictionTokens;\n }\n if (usage.promptTokensDetails.cachedTokens != null) {\n providerMetadata[providerOptionsName].cachedPromptTokens = usage.promptTokensDetails.cachedTokens;\n }\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: {\n promptTokens: (_a2 = usage.promptTokens) != null ? _a2 : NaN,\n completionTokens: (_b = usage.completionTokens) != null ? _b : NaN\n },\n providerMetadata\n });\n }\n })\n ),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings,\n request: { body: JSON.stringify(body) }\n };\n }\n};\nvar openaiCompatibleTokenUsageSchema = 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 OpenAICompatibleChatResponseSchema = 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 reasoning_content: z2.string().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 finish_reason: z2.string().nullish()\n })\n ),\n usage: openaiCompatibleTokenUsageSchema\n});\nvar createOpenAICompatibleChatChunkSchema = (errorSchema) => 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 reasoning_content: z2.string().nullish(),\n tool_calls: z2.array(\n z2.object({\n index: z2.number().optional(),\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 finish_reason: z2.string().nullish()\n })\n ),\n usage: openaiCompatibleTokenUsageSchema\n }),\n errorSchema\n]);\n\n// src/openai-compatible-completion-language-model.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError4\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders2,\n createEventSourceResponseHandler as createEventSourceResponseHandler2,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler2,\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-compatible-completion-prompt.ts\nimport {\n InvalidPromptError,\n UnsupportedFunctionalityError as UnsupportedFunctionalityError3\n} from \"@ai-sdk/provider\";\nfunction convertToOpenAICompatibleCompletionPrompt({\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 UnsupportedFunctionalityError3({\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 UnsupportedFunctionalityError3({\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 UnsupportedFunctionalityError3({\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/openai-compatible-completion-language-model.ts\nvar OpenAICompatibleCompletionLanguageModel = class {\n // type inferred via constructor\n constructor(modelId, settings, config) {\n this.specificationVersion = \"v1\";\n this.defaultObjectGenerationMode = void 0;\n var _a;\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n const errorStructure = (_a = config.errorStructure) != null ? _a : defaultOpenAICompatibleErrorStructure;\n this.chunkSchema = createOpenAICompatibleCompletionChunkSchema(\n errorStructure.errorSchema\n );\n this.failedResponseHandler = createJsonErrorResponseHandler2(errorStructure);\n }\n get provider() {\n return this.config.provider;\n }\n get providerOptionsName() {\n return this.config.provider.split(\".\")[0].trim();\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 providerMetadata\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 } = convertToOpenAICompatibleCompletionPrompt({ 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 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 ...providerMetadata == null ? void 0 : providerMetadata[this.providerOptionsName],\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 UnsupportedFunctionalityError4({\n functionality: \"tools\"\n });\n }\n if (mode.toolChoice) {\n throw new UnsupportedFunctionalityError4({\n functionality: \"toolChoice\"\n });\n }\n return { args: baseArgs, warnings };\n }\n case \"object-json\": {\n throw new UnsupportedFunctionalityError4({\n functionality: \"object-json mode\"\n });\n }\n case \"object-tool\": {\n throw new UnsupportedFunctionalityError4({\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 var _a, _b, _c, _d;\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: this.failedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n openaiCompatibleCompletionResponseSchema\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: (_b = (_a = response.usage) == null ? void 0 : _a.prompt_tokens) != null ? _b : NaN,\n completionTokens: (_d = (_c = response.usage) == null ? void 0 : _c.completion_tokens) != null ? _d : NaN\n },\n finishReason: mapOpenAICompatibleFinishReason(choice.finish_reason),\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.includeUsage ? { 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: this.failedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler2(\n this.chunkSchema\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 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 = mapOpenAICompatibleFinishReason(\n choice.finish_reason\n );\n }\n if ((choice == null ? void 0 : choice.text) != null) {\n controller.enqueue({\n type: \"text-delta\",\n textDelta: choice.text\n });\n }\n },\n flush(controller) {\n controller.enqueue({\n type: \"finish\",\n finishReason,\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 openaiCompatibleCompletionResponseSchema = 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 })\n ),\n usage: z3.object({\n prompt_tokens: z3.number(),\n completion_tokens: z3.number()\n }).nullish()\n});\nvar createOpenAICompatibleCompletionChunkSchema = (errorSchema) => 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 })\n ),\n usage: z3.object({\n prompt_tokens: z3.number(),\n completion_tokens: z3.number()\n }).nullish()\n }),\n errorSchema\n]);\n\n// src/openai-compatible-embedding-model.ts\nimport {\n TooManyEmbeddingValuesForCallError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders3,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler3,\n createJsonResponseHandler as createJsonResponseHandler3,\n postJsonToApi as postJsonToApi3\n} from \"@ai-sdk/provider-utils\";\nimport { z as z4 } from \"zod\";\nvar OpenAICompatibleEmbeddingModel = 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.config.maxEmbeddingsPerCall) != null ? _a : 2048;\n }\n get supportsParallelCalls() {\n var _a;\n return (_a = this.config.supportsParallelCalls) != null ? _a : true;\n }\n async doEmbed({\n values,\n headers,\n abortSignal\n }) {\n var _a;\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: createJsonErrorResponseHandler3(\n (_a = this.config.errorStructure) != null ? _a : defaultOpenAICompatibleErrorStructure\n ),\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-compatible-image-model.ts\nimport {\n combineHeaders as combineHeaders4,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler4,\n createJsonResponseHandler as createJsonResponseHandler4,\n postJsonToApi as postJsonToApi4\n} from \"@ai-sdk/provider-utils\";\nimport { z as z5 } from \"zod\";\nvar OpenAICompatibleImageModel = 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;\n return (_a = this.settings.maxImagesPerCall) != null ? _a : 10;\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, _e;\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 response_format: \"b64_json\",\n ...this.settings.user ? { user: this.settings.user } : {}\n },\n failedResponseHandler: createJsonErrorResponseHandler4(\n (_e = this.config.errorStructure) != null ? _e : defaultOpenAICompatibleErrorStructure\n ),\n successfulResponseHandler: createJsonResponseHandler4(\n openaiCompatibleImageResponseSchema\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 openaiCompatibleImageResponseSchema = z5.object({\n data: z5.array(z5.object({ b64_json: z5.string() }))\n});\n\n// src/openai-compatible-provider.ts\nimport { withoutTrailingSlash } from \"@ai-sdk/provider-utils\";\nfunction createOpenAICompatible(options) {\n const baseURL = withoutTrailingSlash(options.baseURL);\n const providerName = options.name;\n const getHeaders = () => ({\n ...options.apiKey && { Authorization: `Bearer ${options.apiKey}` },\n ...options.headers\n });\n const getCommonModelConfig = (modelType) => ({\n provider: `${providerName}.${modelType}`,\n url: ({ path }) => {\n const url = new URL(`${baseURL}${path}`);\n if (options.queryParams) {\n url.search = new URLSearchParams(options.queryParams).toString();\n }\n return url.toString();\n },\n headers: getHeaders,\n fetch: options.fetch\n });\n const createLanguageModel = (modelId, settings = {}, config) => createChatModel(modelId, settings, config);\n const createChatModel = (modelId, settings = {}, config) => new OpenAICompatibleChatLanguageModel(modelId, settings, {\n ...getCommonModelConfig(\"chat\"),\n defaultObjectGenerationMode: \"tool\",\n ...config\n });\n const createCompletionModel = (modelId, settings = {}) => new OpenAICompatibleCompletionLanguageModel(\n modelId,\n settings,\n getCommonModelConfig(\"completion\")\n );\n const createEmbeddingModel = (modelId, settings = {}) => new OpenAICompatibleEmbeddingModel(\n modelId,\n settings,\n getCommonModelConfig(\"embedding\")\n );\n const createImageModel = (modelId, settings = {}) => new OpenAICompatibleImageModel(\n modelId,\n settings,\n getCommonModelConfig(\"image\")\n );\n const provider = (modelId, settings, config) => createLanguageModel(modelId, settings, config);\n provider.languageModel = createLanguageModel;\n provider.chatModel = createChatModel;\n provider.completionModel = createCompletionModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.imageModel = createImageModel;\n return provider;\n}\nexport {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel,\n OpenAICompatibleImageModel,\n createOpenAICompatible\n};\n//# sourceMappingURL=index.mjs.map","// src/xai-provider.ts\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleImageModel\n} from \"@ai-sdk/openai-compatible\";\nimport {\n loadApiKey,\n withoutTrailingSlash\n} from \"@ai-sdk/provider-utils\";\n\n// src/xai-chat-settings.ts\nfunction supportsStructuredOutputs(modelId) {\n return [\n \"grok-3\",\n \"grok-3-beta\",\n \"grok-3-latest\",\n \"grok-3-fast\",\n \"grok-3-fast-beta\",\n \"grok-3-fast-latest\",\n \"grok-3-mini\",\n \"grok-3-mini-beta\",\n \"grok-3-mini-latest\",\n \"grok-3-mini-fast\",\n \"grok-3-mini-fast-beta\",\n \"grok-3-mini-fast-latest\",\n \"grok-2-1212\",\n \"grok-2-vision-1212\"\n ].includes(modelId);\n}\n\n// src/xai-error.ts\nimport { z } from \"zod\";\nvar xaiErrorSchema = z.object({\n code: z.string(),\n error: z.string()\n});\n\n// src/xai-provider.ts\nvar xaiErrorStructure = {\n errorSchema: xaiErrorSchema,\n errorToMessage: (data) => data.error\n};\nfunction createXai(options = {}) {\n var _a;\n const baseURL = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.x.ai/v1\"\n );\n const getHeaders = () => ({\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"XAI_API_KEY\",\n description: \"xAI API key\"\n })}`,\n ...options.headers\n });\n const createLanguageModel = (modelId, settings = {}) => {\n const structuredOutputs = supportsStructuredOutputs(modelId);\n return new OpenAICompatibleChatLanguageModel(modelId, settings, {\n provider: \"xai.chat\",\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n defaultObjectGenerationMode: structuredOutputs ? \"json\" : \"tool\",\n errorStructure: xaiErrorStructure,\n supportsStructuredOutputs: structuredOutputs,\n includeUsage: true\n });\n };\n const createImageModel = (modelId, settings = {}) => {\n return new OpenAICompatibleImageModel(modelId, settings, {\n provider: \"xai.image\",\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n errorStructure: xaiErrorStructure\n });\n };\n const provider = (modelId, settings) => createLanguageModel(modelId, settings);\n provider.languageModel = createLanguageModel;\n provider.chat = createLanguageModel;\n provider.textEmbeddingModel = (modelId) => {\n throw new NoSuchModelError({ modelId, modelType: \"textEmbeddingModel\" });\n };\n provider.imageModel = createImageModel;\n provider.image = createImageModel;\n return provider;\n}\nvar xai = createXai();\nexport {\n createXai,\n xai\n};\n//# sourceMappingURL=index.mjs.map"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { o as __toESM$1, t as __commonJSMin$1 } from "./rolldown-runtime-maW3aOI
|
|
|
2
2
|
import { n as standardSchemaToJSONSchema, r as toStandardSchema$1, t as isStandardSchemaWithJSON$1 } from "./schema-Bv9OdW1f-DLSJSqQv.js";
|
|
3
3
|
import "./schema-CGeYTFwm.js";
|
|
4
4
|
import { t as require_sync } from "./sync-BG15Yae1.js";
|
|
5
|
-
import { openai } from "./dist-
|
|
5
|
+
import { openai } from "./dist-DoTDZ7wF.js";
|
|
6
6
|
import { createRequire } from "module";
|
|
7
7
|
import * as z4 from "zod/v4";
|
|
8
8
|
import { z } from "zod/v4";
|
|
@@ -17,7 +17,7 @@ import { createTool } from "@mastra/core/tools";
|
|
|
17
17
|
import { inspect, promisify } from "util";
|
|
18
18
|
import { createHash, randomBytes, randomUUID } from "crypto";
|
|
19
19
|
import { generateEmptyFromSchema } from "@mastra/core/utils";
|
|
20
|
-
import { InMemoryStore, assertKnowledgeScopeWithinCeiling, canonicalizeKnowledgeScope, createKnowledgeNodeCursor, expandKnowledgeScope, isKnowledgeScopeVisible, knowledgeScopeKey } from "@mastra/core/storage";
|
|
20
|
+
import { InMemoryStore, MAX_KNOWLEDGE_NODE_DESCRIPTION_LENGTH, assertKnowledgeScopeWithinCeiling, canonicalizeKnowledgeScope, createKnowledgeNodeCursor, expandKnowledgeScope, isKnowledgeScopeVisible, knowledgeScopeKey } from "@mastra/core/storage";
|
|
21
21
|
import { coreFeatures } from "@mastra/core/features";
|
|
22
22
|
import { EntityType, SpanType, createObservabilityContext, getOrCreateSpan } from "@mastra/core/observability";
|
|
23
23
|
import { MASTRA_THREAD_ID_KEY, RequestContext } from "@mastra/core/request-context";
|
|
@@ -4693,7 +4693,7 @@ function splitLines(text) {
|
|
|
4693
4693
|
return result;
|
|
4694
4694
|
}
|
|
4695
4695
|
//#endregion
|
|
4696
|
-
//#region ../memory/dist/src-
|
|
4696
|
+
//#region ../memory/dist/src-BNtoxIHL.js
|
|
4697
4697
|
var __defProp$3 = Object.defineProperty;
|
|
4698
4698
|
var __exportAll = (all, no_symbols) => {
|
|
4699
4699
|
let target = {};
|
|
@@ -4869,7 +4869,7 @@ let customAlphabet = (alphabet, defaultSize = 21) => {
|
|
|
4869
4869
|
return (size = defaultSize) => {
|
|
4870
4870
|
let id = "";
|
|
4871
4871
|
let i = size | 0;
|
|
4872
|
-
while (i--) id += alphabet[Math.random() * alphabet.length | 0];
|
|
4872
|
+
while (i-- > 0) id += alphabet[Math.random() * alphabet.length | 0];
|
|
4873
4873
|
return id;
|
|
4874
4874
|
};
|
|
4875
4875
|
};
|
|
@@ -19888,6 +19888,7 @@ Return nodes with short stable names, a freeform kind, and knowledge records nes
|
|
|
19888
19888
|
Use common kinds such as person, task, event, project, organization, or document when they fit.
|
|
19889
19889
|
Set node scope to the narrowest level where that identity and content should be shared. Omit it to use the configured default scope.
|
|
19890
19890
|
Knowledge records must be grounded in the conversation, concise, and written as prose. Do not infer unstated information.
|
|
19891
|
+
When the conversation states a canonical identifier or URL for an entity, preserve it verbatim in the record text.
|
|
19891
19892
|
Wrap every named node mentioned in record text in [[wikilinks]].
|
|
19892
19893
|
Set a record scope only when the conversation establishes where it applies. Use org for organization-wide records, resource for records shared across this resource's conversations, and thread for conversation-private records.
|
|
19893
19894
|
Omit scope when uncertain; omitted record scopes stay private to the current thread.
|
|
@@ -20747,7 +20748,7 @@ function createKnowledgeWriteTools(memory, options) {
|
|
|
20747
20748
|
}),
|
|
20748
20749
|
knowledge_update_node: createTool({
|
|
20749
20750
|
id: "knowledge_update_node",
|
|
20750
|
-
description: "Update a visible node name or kind using optimistic concurrency.",
|
|
20751
|
+
description: "Update a visible node name or kind using optimistic concurrency. Provide at least one of name or kind.",
|
|
20751
20752
|
inputSchema: {
|
|
20752
20753
|
type: "object",
|
|
20753
20754
|
properties: {
|
|
@@ -20769,11 +20770,11 @@ function createKnowledgeWriteTools(memory, options) {
|
|
|
20769
20770
|
}
|
|
20770
20771
|
},
|
|
20771
20772
|
required: ["node", "expectedVersion"],
|
|
20772
|
-
anyOf: [{ required: ["name"] }, { required: ["kind"] }],
|
|
20773
20773
|
additionalProperties: false
|
|
20774
20774
|
},
|
|
20775
20775
|
execute: async (input) => {
|
|
20776
20776
|
const value = input;
|
|
20777
|
+
if (value.name === void 0 && value.kind === void 0) throw new Error("knowledge_update_node requires at least one of: name, kind.");
|
|
20777
20778
|
const store = await getStore(memory);
|
|
20778
20779
|
const node = await store.getNode(value.node);
|
|
20779
20780
|
if (!node || node.mergedInto) throw new Error(`Knowledge node not found: ${value.node}`);
|
|
@@ -20851,6 +20852,48 @@ function createKnowledgeWriteTools(memory, options) {
|
|
|
20851
20852
|
});
|
|
20852
20853
|
}
|
|
20853
20854
|
}),
|
|
20855
|
+
knowledge_write_node_description: createTool({
|
|
20856
|
+
id: "knowledge_write_node_description",
|
|
20857
|
+
description: `Write the bounded synopsis (max ${MAX_KNOWLEDGE_NODE_DESCRIPTION_LENGTH} UTF-16 code units) on an existing visible node using optimistic concurrency. Pass an empty string to clear it. Does not create nodes.`,
|
|
20858
|
+
inputSchema: {
|
|
20859
|
+
type: "object",
|
|
20860
|
+
properties: {
|
|
20861
|
+
node: {
|
|
20862
|
+
type: "string",
|
|
20863
|
+
minLength: 1
|
|
20864
|
+
},
|
|
20865
|
+
expectedVersion: {
|
|
20866
|
+
type: "integer",
|
|
20867
|
+
minimum: 1
|
|
20868
|
+
},
|
|
20869
|
+
description: {
|
|
20870
|
+
type: "string",
|
|
20871
|
+
minLength: 0,
|
|
20872
|
+
maxLength: MAX_KNOWLEDGE_NODE_DESCRIPTION_LENGTH,
|
|
20873
|
+
description: `One or two plain-text sentences describing the node, targeting 40-75 tokens. Hard limit ${MAX_KNOWLEDGE_NODE_DESCRIPTION_LENGTH} UTF-16 code units, enforced by storage on every write; the length check on execution is authoritative. Long-form detail belongs in node content, not here. An empty string clears the description.`
|
|
20874
|
+
}
|
|
20875
|
+
},
|
|
20876
|
+
required: [
|
|
20877
|
+
"node",
|
|
20878
|
+
"expectedVersion",
|
|
20879
|
+
"description"
|
|
20880
|
+
],
|
|
20881
|
+
additionalProperties: false
|
|
20882
|
+
},
|
|
20883
|
+
execute: async (input) => {
|
|
20884
|
+
const value = input;
|
|
20885
|
+
if (value.description.length > MAX_KNOWLEDGE_NODE_DESCRIPTION_LENGTH) throw new Error(`Node descriptions are limited to ${MAX_KNOWLEDGE_NODE_DESCRIPTION_LENGTH} UTF-16 code units. Shorten the description and retry.`);
|
|
20886
|
+
const store = await getStore(memory);
|
|
20887
|
+
const node = await store.getNode(value.node);
|
|
20888
|
+
if (!node || node.mergedInto) throw new Error(`Knowledge node not found: ${value.node}`);
|
|
20889
|
+
requireVisible(node.scope, options, "Knowledge node");
|
|
20890
|
+
return store.updateNode({
|
|
20891
|
+
id: node.id,
|
|
20892
|
+
version: value.expectedVersion,
|
|
20893
|
+
description: value.description
|
|
20894
|
+
});
|
|
20895
|
+
}
|
|
20896
|
+
}),
|
|
20854
20897
|
knowledge_write_node_content: createTool({
|
|
20855
20898
|
id: "knowledge_write_node_content",
|
|
20856
20899
|
description: "Create or replace long-form content on a scoped knowledge node. Existing nodes require expectedVersion.",
|
|
@@ -21057,7 +21100,7 @@ var KnowledgeSemanticIndexCoordinator = class {
|
|
|
21057
21100
|
const node = await this.#knowledge.getNode(entry.documentId.slice(15));
|
|
21058
21101
|
if (!node || node.mergedInto) return null;
|
|
21059
21102
|
return {
|
|
21060
|
-
text: `${node.name}\n${node.content ?? ""}`,
|
|
21103
|
+
text: node.description ? `${node.name}\n${node.description}\n${node.content ?? ""}` : `${node.name}\n${node.content ?? ""}`,
|
|
21061
21104
|
name: node.name,
|
|
21062
21105
|
scope: node.scope,
|
|
21063
21106
|
recordId: node.id,
|
|
@@ -21125,7 +21168,14 @@ var subconscious_exports = /* @__PURE__ */ __exportAll({
|
|
|
21125
21168
|
});
|
|
21126
21169
|
const BUILT_IN_OBSERVATION = /* @__PURE__ */ new Set(["capture", "remind"]);
|
|
21127
21170
|
const BUILT_IN_REFLECTION = /* @__PURE__ */ new Set(["curate", "learn"]);
|
|
21128
|
-
const DEFAULT_MAX_STEPS =
|
|
21171
|
+
const DEFAULT_MAX_STEPS = 50;
|
|
21172
|
+
/**
|
|
21173
|
+
* Curation walks a worklist that can reach hundreds of records, and its completion marker is
|
|
21174
|
+
* fail-closed: a curator that runs out of steps advances no cursor at all. It gets a much larger
|
|
21175
|
+
* default budget than the other agents, which each handle a single bounded prompt.
|
|
21176
|
+
*/
|
|
21177
|
+
const DEFAULT_MAX_STEPS_BY_AGENT = { curate: 200 };
|
|
21178
|
+
const MAX_MAX_STEPS = 500;
|
|
21129
21179
|
const DEFAULT_RECENT_UPDATES = 10;
|
|
21130
21180
|
const MAX_RECENT_UPDATES = 100;
|
|
21131
21181
|
function entryName(entry) {
|
|
@@ -21142,7 +21192,7 @@ function assertUniqueNames(entries, phase) {
|
|
|
21142
21192
|
}
|
|
21143
21193
|
function boundedSteps(entry, fallback) {
|
|
21144
21194
|
const steps = entry?.maxSteps ?? fallback;
|
|
21145
|
-
if (!Number.isInteger(steps) || steps < 1 || steps >
|
|
21195
|
+
if (!Number.isInteger(steps) || steps < 1 || steps > MAX_MAX_STEPS) throw new Error(`Subconscious maxSteps must be an integer between 1 and ${MAX_MAX_STEPS}.`);
|
|
21146
21196
|
return steps;
|
|
21147
21197
|
}
|
|
21148
21198
|
function resolveExtractor(entry) {
|
|
@@ -21157,12 +21207,13 @@ function resolveExtractor(entry) {
|
|
|
21157
21207
|
function resolveAgent(entry, builtIns, globalModel, globalMaxSteps) {
|
|
21158
21208
|
const config = typeof entry === "string" ? void 0 : entry;
|
|
21159
21209
|
const name = entryName(entry);
|
|
21210
|
+
const fallbackMaxSteps = globalMaxSteps ?? DEFAULT_MAX_STEPS_BY_AGENT[name] ?? DEFAULT_MAX_STEPS;
|
|
21160
21211
|
return {
|
|
21161
21212
|
name,
|
|
21162
21213
|
instructions: config?.instructions,
|
|
21163
21214
|
model: config?.model ?? globalModel,
|
|
21164
21215
|
agent: config?.agent,
|
|
21165
|
-
maxSteps: boundedSteps(config,
|
|
21216
|
+
maxSteps: boundedSteps(config, fallbackMaxSteps),
|
|
21166
21217
|
builtIn: builtIns.has(name)
|
|
21167
21218
|
};
|
|
21168
21219
|
}
|
|
@@ -21179,7 +21230,7 @@ var Subconscious = class {
|
|
|
21179
21230
|
const reflection = config.reflection ?? ["curate", "learn"];
|
|
21180
21231
|
assertUniqueNames(observation, "observation");
|
|
21181
21232
|
assertUniqueNames(reflection, "reflection");
|
|
21182
|
-
const maxSteps = boundedSteps(config, DEFAULT_MAX_STEPS);
|
|
21233
|
+
const maxSteps = config.maxSteps === void 0 ? void 0 : boundedSteps(config, DEFAULT_MAX_STEPS);
|
|
21183
21234
|
for (const entry of observation) this.#validateObservationEntry(entry);
|
|
21184
21235
|
for (const entry of reflection) this.#validateReflectionEntry(entry);
|
|
21185
21236
|
const recentUpdates = config.activity === false ? false : config.activity?.recentUpdates ?? DEFAULT_RECENT_UPDATES;
|
|
@@ -21271,6 +21322,8 @@ const DEFAULT_INSTRUCTIONS$1 = `Maintain durable scoped knowledge from the commi
|
|
|
21271
21322
|
|
|
21272
21323
|
Use the read tools to inspect existing nodes, knowledge records, mentions, backlinks, and long-form node content. Use the write tools to merge true duplicates, repair names and links, soft-delete superseded knowledge records, rescope knowledge records only when justified and permitted by their ceilings, and synthesize useful node content. Never restore deleted knowledge records. Never invent provenance, capture timestamps, scopes, ceilings, IDs, or versions; those are enforced by code. Resolve optimistic-concurrency conflicts by reading the latest record and retrying the intended mutation. Keep the reserved capture-guidance node concise and update it only with durable guidance that will improve future capture.
|
|
21273
21324
|
|
|
21325
|
+
For each significant entity node touched by a KnowledgeRecord in the current worklist, including people, projects, pull requests, issues, repositories, documents, and organizations, maintain a short entity description; do not walk nodes outside the worklist for this. Use the supplied record and read the named node once; do not search or browse unless its identity is ambiguous. Describe what the entity is, its current state, and links to its real-world object, then write it with knowledge_write_node_description, which always requires expectedVersion from the node you just read; after a version conflict, re-read the node and regenerate the description from its current state before retrying. If the node does not exist yet, create it first with knowledge_write_node_content, then re-read it for its fresh version before writing the description. Write one or two plain-text sentences, roughly 40 to 75 tokens; storage rejects any description over its hard length cap, so keep them tight and put long-form detail in node content instead. Include links only from the entity's own records or observations that explicitly associate the link with that entity; never invent a URL, identifier, file path, or provenance. Leave long-form node content alone unless you are synthesizing it deliberately; never shrink content into a synopsis. For entity-description maintenance only, skip low-signal nodes with only a trivial record, any system-kind node, and the reserved capture-guidance node.
|
|
21326
|
+
|
|
21274
21327
|
Process the worklist in ID order. Every time you finish processing a KnowledgeRecord, include <curation-complete through="RECORD_ID" /> in your next text response with that record's ID. The latest marker is your acknowledged cursor, so progress survives if you run out of steps mid-batch. Your final response must end with the marker for the last KnowledgeRecord you fully processed. If you cannot finish the batch, acknowledge only the last KnowledgeRecord you did finish. Do not emit a completion marker when no KnowledgeRecord was fully processed.`;
|
|
21275
21328
|
const PINNED_INSTRUCTIONS = `Maintain the pin set with knowledge_pin, knowledge_edit_pin, and knowledge_unpin. Pinned entries are delivered to the main agent on every turn, so they cost tokens permanently and must stay short. Pin only knowledge that should apply without being asked for, such as standing instructions, durable preferences, and hard constraints. Pin only knowledge that is BOTH costly to rediscover AND not the kind of thing a future agent would think to search for; anything a reminder can surface on demand does not belong in the pin set. Unpin an entry as soon as it stops being unconditionally true.`;
|
|
21276
21329
|
function resolveScope$1(context) {
|
|
@@ -21282,6 +21335,11 @@ function resolveScope$1(context) {
|
|
|
21282
21335
|
`thread:${context.parentThreadId}`
|
|
21283
21336
|
]);
|
|
21284
21337
|
}
|
|
21338
|
+
/**
|
|
21339
|
+
* Upper bound on records pulled into a single reflection prompt. `hasMore` tells the agent the
|
|
21340
|
+
* worklist was truncated; the cursor it advances lets the next cycle pick up the remainder.
|
|
21341
|
+
*/
|
|
21342
|
+
const MAX_WORKLIST_RECORDS$1 = 1e3;
|
|
21285
21343
|
async function readWorklist$1(store, sourceThreadId, scope, after) {
|
|
21286
21344
|
const records = [];
|
|
21287
21345
|
let cursor = after;
|
|
@@ -21295,7 +21353,7 @@ async function readWorklist$1(store, sourceThreadId, scope, after) {
|
|
|
21295
21353
|
});
|
|
21296
21354
|
records.push(...page.records);
|
|
21297
21355
|
cursor = page.nextCursor;
|
|
21298
|
-
} while (cursor && records.length <
|
|
21356
|
+
} while (cursor && records.length < MAX_WORKLIST_RECORDS$1);
|
|
21299
21357
|
return {
|
|
21300
21358
|
records,
|
|
21301
21359
|
hasMore: Boolean(cursor)
|
|
@@ -21415,6 +21473,8 @@ function resolveScope(context) {
|
|
|
21415
21473
|
`thread:${context.parentThreadId}`
|
|
21416
21474
|
]);
|
|
21417
21475
|
}
|
|
21476
|
+
/** Upper bound on records pulled into a single reflection prompt; `hasMore` signals truncation. */
|
|
21477
|
+
const MAX_WORKLIST_RECORDS = 1e3;
|
|
21418
21478
|
async function readWorklist(store, sourceThreadId, scope, after) {
|
|
21419
21479
|
const records = [];
|
|
21420
21480
|
let cursor = after;
|
|
@@ -21427,7 +21487,7 @@ async function readWorklist(store, sourceThreadId, scope, after) {
|
|
|
21427
21487
|
});
|
|
21428
21488
|
records.push(...page.records);
|
|
21429
21489
|
cursor = page.nextCursor;
|
|
21430
|
-
} while (cursor && records.length <
|
|
21490
|
+
} while (cursor && records.length < MAX_WORKLIST_RECORDS);
|
|
21431
21491
|
return {
|
|
21432
21492
|
records,
|
|
21433
21493
|
hasMore: Boolean(cursor)
|
|
@@ -36766,23 +36826,23 @@ const createModelInstance = async (provider, modelId, version = "v2") => {
|
|
|
36766
36826
|
try {
|
|
36767
36827
|
const providerFn = version === `v1` ? { v1: {
|
|
36768
36828
|
openai: async () => {
|
|
36769
|
-
const { openai } = await import("./dist-
|
|
36829
|
+
const { openai } = await import("./dist-DoTDZ7wF.js");
|
|
36770
36830
|
return openai(modelId);
|
|
36771
36831
|
},
|
|
36772
36832
|
anthropic: async () => {
|
|
36773
|
-
const { anthropic } = await import("./dist-
|
|
36833
|
+
const { anthropic } = await import("./dist-k6UeNFHu.js");
|
|
36774
36834
|
return anthropic(modelId);
|
|
36775
36835
|
},
|
|
36776
36836
|
groq: async () => {
|
|
36777
|
-
const { groq } = await import("./dist-
|
|
36837
|
+
const { groq } = await import("./dist-XnA2Lowr.js");
|
|
36778
36838
|
return groq(modelId);
|
|
36779
36839
|
},
|
|
36780
36840
|
xai: async () => {
|
|
36781
|
-
const { xai } = await import("./dist-
|
|
36841
|
+
const { xai } = await import("./dist-Da8AufS5.js");
|
|
36782
36842
|
return xai(modelId);
|
|
36783
36843
|
},
|
|
36784
36844
|
google: async () => {
|
|
36785
|
-
const { google } = await import("./dist-
|
|
36845
|
+
const { google } = await import("./dist-Wjq6PT76.js");
|
|
36786
36846
|
return google(modelId);
|
|
36787
36847
|
}
|
|
36788
36848
|
} }[version][provider] : () => new ModelRouterLanguageModel(`${provider}/${modelId}`);
|
|
@@ -46361,4 +46421,4 @@ const agentBuilderWorkflows = {
|
|
|
46361
46421
|
//#endregion
|
|
46362
46422
|
export { agentBuilderWorkflows };
|
|
46363
46423
|
|
|
46364
|
-
//# sourceMappingURL=dist-
|
|
46424
|
+
//# sourceMappingURL=dist-DmVdNrSg.js.map
|