beeai-framework 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/{agents/experimental/remote → adapters/acp/agents}/agent.cjs +9 -6
  2. package/dist/adapters/acp/agents/agent.cjs.map +1 -0
  3. package/dist/{agents/experimental/remote → adapters/acp/agents}/agent.d.cts +11 -30
  4. package/dist/{agents/experimental/remote → adapters/acp/agents}/agent.d.ts +11 -30
  5. package/dist/{agents/experimental/remote → adapters/acp/agents}/agent.js +9 -6
  6. package/dist/adapters/acp/agents/agent.js.map +1 -0
  7. package/dist/adapters/acp/agents/events.cjs +4 -0
  8. package/dist/adapters/acp/agents/events.cjs.map +1 -0
  9. package/dist/adapters/acp/agents/events.d.cts +34 -0
  10. package/dist/adapters/acp/agents/events.d.ts +34 -0
  11. package/dist/adapters/acp/agents/events.js +3 -0
  12. package/dist/adapters/acp/agents/events.js.map +1 -0
  13. package/dist/adapters/acp/agents/types.cjs +4 -0
  14. package/dist/adapters/acp/agents/types.cjs.map +1 -0
  15. package/dist/adapters/acp/agents/types.d.cts +38 -0
  16. package/dist/adapters/acp/agents/types.d.ts +38 -0
  17. package/dist/adapters/acp/agents/types.js +3 -0
  18. package/dist/adapters/acp/agents/types.js.map +1 -0
  19. package/dist/adapters/amazon-bedrock/backend/client.cjs +3 -1
  20. package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -1
  21. package/dist/adapters/amazon-bedrock/backend/client.js +3 -1
  22. package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -1
  23. package/dist/adapters/anthropic/backend/client.cjs +3 -1
  24. package/dist/adapters/anthropic/backend/client.cjs.map +1 -1
  25. package/dist/adapters/anthropic/backend/client.js +3 -1
  26. package/dist/adapters/anthropic/backend/client.js.map +1 -1
  27. package/dist/adapters/azure-openai/backend/client.cjs +3 -1
  28. package/dist/adapters/azure-openai/backend/client.cjs.map +1 -1
  29. package/dist/adapters/azure-openai/backend/client.js +3 -1
  30. package/dist/adapters/azure-openai/backend/client.js.map +1 -1
  31. package/dist/adapters/beeai_platform/agents/agent.cjs +61 -0
  32. package/dist/adapters/beeai_platform/agents/agent.cjs.map +1 -0
  33. package/dist/adapters/beeai_platform/agents/agent.d.cts +49 -0
  34. package/dist/adapters/beeai_platform/agents/agent.d.ts +49 -0
  35. package/dist/adapters/beeai_platform/agents/agent.js +59 -0
  36. package/dist/adapters/beeai_platform/agents/agent.js.map +1 -0
  37. package/dist/adapters/beeai_platform/agents/events.cjs +4 -0
  38. package/dist/adapters/beeai_platform/agents/events.cjs.map +1 -0
  39. package/dist/adapters/beeai_platform/agents/events.d.cts +34 -0
  40. package/dist/adapters/beeai_platform/agents/events.d.ts +34 -0
  41. package/dist/adapters/beeai_platform/agents/events.js +3 -0
  42. package/dist/adapters/beeai_platform/agents/events.js.map +1 -0
  43. package/dist/adapters/beeai_platform/agents/types.cjs +4 -0
  44. package/dist/adapters/beeai_platform/agents/types.cjs.map +1 -0
  45. package/dist/adapters/beeai_platform/agents/types.d.cts +38 -0
  46. package/dist/adapters/beeai_platform/agents/types.d.ts +38 -0
  47. package/dist/adapters/beeai_platform/agents/types.js +3 -0
  48. package/dist/adapters/beeai_platform/agents/types.js.map +1 -0
  49. package/dist/adapters/google-vertex/backend/client.cjs +3 -1
  50. package/dist/adapters/google-vertex/backend/client.cjs.map +1 -1
  51. package/dist/adapters/google-vertex/backend/client.js +3 -1
  52. package/dist/adapters/google-vertex/backend/client.js.map +1 -1
  53. package/dist/adapters/groq/backend/client.cjs +3 -1
  54. package/dist/adapters/groq/backend/client.cjs.map +1 -1
  55. package/dist/adapters/groq/backend/client.js +3 -1
  56. package/dist/adapters/groq/backend/client.js.map +1 -1
  57. package/dist/adapters/mcp/serve/http_server.cjs +163 -0
  58. package/dist/adapters/mcp/serve/http_server.cjs.map +1 -0
  59. package/dist/adapters/mcp/serve/http_server.d.cts +21 -0
  60. package/dist/adapters/mcp/serve/http_server.d.ts +21 -0
  61. package/dist/adapters/mcp/serve/http_server.js +157 -0
  62. package/dist/adapters/mcp/serve/http_server.js.map +1 -0
  63. package/dist/adapters/mcp/serve/in_memory_store.cjs +69 -0
  64. package/dist/adapters/mcp/serve/in_memory_store.cjs.map +1 -0
  65. package/dist/adapters/mcp/serve/in_memory_store.d.cts +49 -0
  66. package/dist/adapters/mcp/serve/in_memory_store.d.ts +49 -0
  67. package/dist/adapters/mcp/serve/in_memory_store.js +67 -0
  68. package/dist/adapters/mcp/serve/in_memory_store.js.map +1 -0
  69. package/dist/adapters/mcp/serve/server.cjs +109 -0
  70. package/dist/adapters/mcp/serve/server.cjs.map +1 -0
  71. package/dist/adapters/mcp/serve/server.d.cts +70 -0
  72. package/dist/adapters/mcp/serve/server.d.ts +70 -0
  73. package/dist/adapters/mcp/serve/server.js +106 -0
  74. package/dist/adapters/mcp/serve/server.js.map +1 -0
  75. package/dist/adapters/ollama/backend/client.cjs +3 -1
  76. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  77. package/dist/adapters/ollama/backend/client.js +3 -1
  78. package/dist/adapters/ollama/backend/client.js.map +1 -1
  79. package/dist/adapters/openai/backend/client.cjs +3 -1
  80. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  81. package/dist/adapters/openai/backend/client.js +3 -1
  82. package/dist/adapters/openai/backend/client.js.map +1 -1
  83. package/dist/adapters/vercel/backend/chat.cjs +7 -3
  84. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  85. package/dist/adapters/vercel/backend/chat.js +8 -4
  86. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  87. package/dist/adapters/vercel/backend/utils.cjs +82 -0
  88. package/dist/adapters/vercel/backend/utils.cjs.map +1 -0
  89. package/dist/adapters/vercel/backend/utils.d.cts +30 -0
  90. package/dist/adapters/vercel/backend/utils.d.ts +30 -0
  91. package/dist/adapters/vercel/backend/utils.js +78 -0
  92. package/dist/adapters/vercel/backend/utils.js.map +1 -0
  93. package/dist/{agent-Cmnvjx_k.d.cts → agent-Ca5UE2P1.d.cts} +1 -1
  94. package/dist/{agent-B55OuVCj.d.ts → agent-CgsoqVL5.d.ts} +1 -1
  95. package/dist/agents/react/agent.d.cts +1 -1
  96. package/dist/agents/react/agent.d.ts +1 -1
  97. package/dist/agents/react/prompts.d.cts +1 -1
  98. package/dist/agents/react/prompts.d.ts +1 -1
  99. package/dist/agents/react/runners/base.d.cts +1 -1
  100. package/dist/agents/react/runners/base.d.ts +1 -1
  101. package/dist/agents/react/runners/deep-think/prompts.d.cts +1 -1
  102. package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -1
  103. package/dist/agents/react/runners/deep-think/runner.d.cts +2 -2
  104. package/dist/agents/react/runners/deep-think/runner.d.ts +2 -2
  105. package/dist/agents/react/runners/default/runner.d.cts +2 -2
  106. package/dist/agents/react/runners/default/runner.d.ts +2 -2
  107. package/dist/agents/react/runners/granite/prompts.d.cts +1 -1
  108. package/dist/agents/react/runners/granite/prompts.d.ts +1 -1
  109. package/dist/agents/react/runners/granite/runner.d.cts +2 -2
  110. package/dist/agents/react/runners/granite/runner.d.ts +2 -2
  111. package/dist/memory/slidingMemory.d.cts +1 -1
  112. package/dist/memory/slidingMemory.d.ts +1 -1
  113. package/dist/serve/server.cjs +52 -0
  114. package/dist/serve/server.cjs.map +1 -0
  115. package/dist/serve/server.d.cts +31 -0
  116. package/dist/serve/server.d.ts +31 -0
  117. package/dist/serve/server.js +50 -0
  118. package/dist/serve/server.js.map +1 -0
  119. package/dist/tools/database/qdrant.cjs +174 -0
  120. package/dist/tools/database/qdrant.cjs.map +1 -0
  121. package/dist/tools/database/qdrant.d.cts +86 -0
  122. package/dist/tools/database/qdrant.d.ts +86 -0
  123. package/dist/tools/database/qdrant.js +171 -0
  124. package/dist/tools/database/qdrant.js.map +1 -0
  125. package/dist/version.cjs +1 -1
  126. package/dist/version.js +1 -1
  127. package/package.json +17 -6
  128. package/dist/agents/experimental/remote/agent.cjs.map +0 -1
  129. package/dist/agents/experimental/remote/agent.js.map +0 -1
@@ -0,0 +1,67 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ class InMemoryEventStore {
4
+ static {
5
+ __name(this, "InMemoryEventStore");
6
+ }
7
+ events = /* @__PURE__ */ new Map();
8
+ /**
9
+ * Generates a unique event ID for a given stream ID
10
+ */
11
+ generateEventId(streamId) {
12
+ return `${streamId}_${Date.now()}_${Math.random().toString(36).substring(2, 10)}`;
13
+ }
14
+ /**
15
+ * Extracts the stream ID from an event ID
16
+ */
17
+ getStreamIdFromEventId(eventId) {
18
+ const parts = eventId.split("_");
19
+ return parts.length > 0 ? parts[0] : "";
20
+ }
21
+ /**
22
+ * Stores an event with a generated event ID
23
+ * Implements EventStore.storeEvent
24
+ */
25
+ async storeEvent(streamId, message) {
26
+ const eventId = this.generateEventId(streamId);
27
+ this.events.set(eventId, {
28
+ streamId,
29
+ message
30
+ });
31
+ return eventId;
32
+ }
33
+ /**
34
+ * Replays events that occurred after a specific event ID
35
+ * Implements EventStore.replayEventsAfter
36
+ */
37
+ async replayEventsAfter(lastEventId, { send }) {
38
+ if (!lastEventId || !this.events.has(lastEventId)) {
39
+ return "";
40
+ }
41
+ const streamId = this.getStreamIdFromEventId(lastEventId);
42
+ if (!streamId) {
43
+ return "";
44
+ }
45
+ let foundLastEvent = false;
46
+ const sortedEvents = [
47
+ ...this.events.entries()
48
+ ].sort((a, b) => a[0].localeCompare(b[0]));
49
+ for (const [eventId, { streamId: eventStreamId, message }] of sortedEvents) {
50
+ if (eventStreamId !== streamId) {
51
+ continue;
52
+ }
53
+ if (eventId === lastEventId) {
54
+ foundLastEvent = true;
55
+ continue;
56
+ }
57
+ if (foundLastEvent) {
58
+ await send(eventId, message);
59
+ }
60
+ }
61
+ return streamId;
62
+ }
63
+ }
64
+
65
+ export { InMemoryEventStore };
66
+ //# sourceMappingURL=in_memory_store.js.map
67
+ //# sourceMappingURL=in_memory_store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["in_memory_store.ts"],"names":["InMemoryEventStore","events","Map","generateEventId","streamId","Date","now","Math","random","toString","substring","getStreamIdFromEventId","eventId","parts","split","length","storeEvent","message","set","replayEventsAfter","lastEventId","send","has","foundLastEvent","sortedEvents","entries","sort","a","b","localeCompare","eventStreamId"],"mappings":";;AA0BO,MAAMA,kBAAAA,CAAAA;EA1Bb;;;AA2BUC,EAAAA,MAAAA,uBAAaC,GAAAA,EAAAA;;;;AAKbC,EAAAA,eAAAA,CAAgBC,QAA0B,EAAA;AAChD,IAAA,OAAO,GAAGA,QAAAA,CAAAA,CAAAA,EAAYC,IAAKC,CAAAA,GAAAA,EAAG,CAAMC,CAAAA,EAAAA,IAAAA,CAAKC,MAAM,EAAA,CAAGC,SAAS,EAAA,CAAA,CAAIC,SAAU,CAAA,CAAA,EAAG,EAAA,CAAA,CAAA,CAAA;AAC9E;;;;AAKQC,EAAAA,sBAAAA,CAAuBC,OAAyB,EAAA;AACtD,IAAMC,MAAAA,KAAAA,GAAQD,OAAQE,CAAAA,KAAAA,CAAM,GAAA,CAAA;AAC5B,IAAA,OAAOD,KAAME,CAAAA,MAAAA,GAAS,CAAIF,GAAAA,KAAAA,CAAM,CAAA,CAAK,GAAA,EAAA;AACvC;;;;;EAMA,MAAMG,UAAAA,CAAWZ,UAAkBa,OAA0C,EAAA;AAC3E,IAAML,MAAAA,OAAAA,GAAU,IAAKT,CAAAA,eAAAA,CAAgBC,QAAAA,CAAAA;AACrC,IAAKH,IAAAA,CAAAA,MAAAA,CAAOiB,IAAIN,OAAS,EAAA;AAAER,MAAAA,QAAAA;AAAUa,MAAAA;KAAQ,CAAA;AAC7C,IAAOL,OAAAA,OAAAA;AACT;;;;;AAMA,EAAA,MAAMO,iBACJC,CAAAA,WAAAA,EACA,EAAEC,IAAAA,EACe,EAAA;AACjB,IAAA,IAAI,CAACD,WAAe,IAAA,CAAC,KAAKnB,MAAOqB,CAAAA,GAAAA,CAAIF,WAAAA,CAAc,EAAA;AACjD,MAAO,OAAA,EAAA;AACT;AAGA,IAAMhB,MAAAA,QAAAA,GAAW,IAAKO,CAAAA,sBAAAA,CAAuBS,WAAAA,CAAAA;AAC7C,IAAA,IAAI,CAAChB,QAAU,EAAA;AACb,MAAO,OAAA,EAAA;AACT;AAEA,IAAA,IAAImB,cAAiB,GAAA,KAAA;AAGrB,IAAA,MAAMC,YAAe,GAAA;AAAI,MAAA,GAAA,IAAA,CAAKvB,OAAOwB,OAAO;MAAIC,IAAK,CAAA,CAACC,CAAGC,EAAAA,CAAAA,KAAMD,CAAE,CAAA,CAAA,EAAGE,aAAcD,CAAAA,CAAAA,CAAE,CAAA,CAAE,CAAA,CAAA;AAEtF,IAAW,KAAA,MAAA,CAAChB,SAAS,EAAER,QAAAA,EAAU0B,eAAeb,OAAO,EAAE,KAAKO,YAAc,EAAA;AAE1E,MAAA,IAAIM,kBAAkB1B,QAAU,EAAA;AAC9B,QAAA;AACF;AAGA,MAAA,IAAIQ,YAAYQ,WAAa,EAAA;AAC3BG,QAAiB,cAAA,GAAA,IAAA;AACjB,QAAA;AACF;AAEA,MAAA,IAAIA,cAAgB,EAAA;AAClB,QAAMF,MAAAA,IAAAA,CAAKT,SAASK,OAAAA,CAAAA;AACtB;AACF;AACA,IAAOb,OAAAA,QAAAA;AACT;AACF","file":"in_memory_store.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Taken from: https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/examples/shared/inMemoryEventStore.ts\n\nimport { EventStore } from \"@modelcontextprotocol/sdk/server/streamableHttp.js\";\nimport { JSONRPCMessage } from \"@modelcontextprotocol/sdk/types.js\";\n\n/**\n * Simple in-memory implementation of the EventStore interface for resumability\n * This is primarily intended for examples and testing, not for production use\n * where a persistent storage solution would be more appropriate.\n */\nexport class InMemoryEventStore implements EventStore {\n private events = new Map<string, { streamId: string; message: JSONRPCMessage }>();\n\n /**\n * Generates a unique event ID for a given stream ID\n */\n private generateEventId(streamId: string): string {\n return `${streamId}_${Date.now()}_${Math.random().toString(36).substring(2, 10)}`;\n }\n\n /**\n * Extracts the stream ID from an event ID\n */\n private getStreamIdFromEventId(eventId: string): string {\n const parts = eventId.split(\"_\");\n return parts.length > 0 ? parts[0] : \"\";\n }\n\n /**\n * Stores an event with a generated event ID\n * Implements EventStore.storeEvent\n */\n async storeEvent(streamId: string, message: JSONRPCMessage): Promise<string> {\n const eventId = this.generateEventId(streamId);\n this.events.set(eventId, { streamId, message });\n return eventId;\n }\n\n /**\n * Replays events that occurred after a specific event ID\n * Implements EventStore.replayEventsAfter\n */\n async replayEventsAfter(\n lastEventId: string,\n { send }: { send: (eventId: string, message: JSONRPCMessage) => Promise<void> },\n ): Promise<string> {\n if (!lastEventId || !this.events.has(lastEventId)) {\n return \"\";\n }\n\n // Extract the stream ID from the event ID\n const streamId = this.getStreamIdFromEventId(lastEventId);\n if (!streamId) {\n return \"\";\n }\n\n let foundLastEvent = false;\n\n // Sort events by eventId for chronological ordering\n const sortedEvents = [...this.events.entries()].sort((a, b) => a[0].localeCompare(b[0]));\n\n for (const [eventId, { streamId: eventStreamId, message }] of sortedEvents) {\n // Only include events from the same stream\n if (eventStreamId !== streamId) {\n continue;\n }\n\n // Start sending events after we find the lastEventId\n if (eventId === lastEventId) {\n foundLastEvent = true;\n continue;\n }\n\n if (foundLastEvent) {\n await send(eventId, message);\n }\n }\n return streamId;\n }\n}\n"]}
@@ -0,0 +1,109 @@
1
+ 'use strict';
2
+
3
+ var errors_cjs = require('../../../errors.cjs');
4
+ var server_cjs = require('../../../serve/server.cjs');
5
+ var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
6
+ var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
7
+ var base_cjs = require('../../../tools/base.cjs');
8
+ var http_server_cjs = require('./http_server.cjs');
9
+ var zod = require('zod');
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ class MCPServerConfig {
14
+ static {
15
+ __name(this, "MCPServerConfig");
16
+ }
17
+ transport = "stdio";
18
+ hostname = "127.0.0.1";
19
+ port = 3e3;
20
+ name = "MCP Server";
21
+ version = "1.0.0";
22
+ settings;
23
+ constructor(partial) {
24
+ if (partial) {
25
+ Object.assign(this, partial);
26
+ }
27
+ }
28
+ }
29
+ class MCPServer extends server_cjs.Server {
30
+ static {
31
+ __name(this, "MCPServer");
32
+ }
33
+ server;
34
+ constructor(config) {
35
+ super(config || new MCPServerConfig());
36
+ this.server = new mcp_js.McpServer({
37
+ name: this.config.name,
38
+ version: this.config.version,
39
+ ...this.config.settings
40
+ });
41
+ }
42
+ async serve() {
43
+ for (const member of this.members) {
44
+ const factory = this.getFactory(member);
45
+ const entry = await factory(member);
46
+ switch (entry.type) {
47
+ case "tool":
48
+ this.server.tool(entry.name, entry.description, entry.paramsSchema, entry.callback);
49
+ break;
50
+ case "prompt":
51
+ if ("argsSchema" in entry) {
52
+ this.server.prompt(entry.name, entry.description, entry.argsSchema, entry.callback);
53
+ } else {
54
+ this.server.prompt(entry.name, entry.description, entry.callback);
55
+ }
56
+ break;
57
+ case "resource":
58
+ if ("uri" in entry) {
59
+ this.server.resource(entry.name, entry.uri, entry.callback);
60
+ } else {
61
+ this.server.resource(entry.name, entry.template, entry.callback);
62
+ }
63
+ break;
64
+ default:
65
+ throw new errors_cjs.ValueError("Input type is not supported by this server.");
66
+ }
67
+ }
68
+ if (this.config.transport === "sse") {
69
+ http_server_cjs.runServer(this.server, this.config.hostname, this.config.port);
70
+ } else {
71
+ await this.server.connect(new stdio_js.StdioServerTransport());
72
+ }
73
+ }
74
+ getFactory(member) {
75
+ const factories = this.constructor.factories;
76
+ return !factories.has(member.constructor) && member instanceof base_cjs.Tool && factories.has(base_cjs.Tool) ? factories.get(base_cjs.Tool) : super.getFactory(member);
77
+ }
78
+ }
79
+ async function toolFactory(tool) {
80
+ const schema = await tool.inputSchema();
81
+ if (!(schema instanceof zod.ZodType)) {
82
+ throw new errors_cjs.ValueError("JsonSchema is not supported for MCP tools.");
83
+ }
84
+ const paramsSchema = schema.shape;
85
+ return {
86
+ type: "tool",
87
+ name: tool.name,
88
+ description: tool.description,
89
+ paramsSchema,
90
+ callback: /* @__PURE__ */ __name(async (...args) => {
91
+ const result = await tool.run(...args);
92
+ return {
93
+ content: [
94
+ {
95
+ type: "text",
96
+ text: result.getTextContent()
97
+ }
98
+ ]
99
+ };
100
+ }, "callback")
101
+ };
102
+ }
103
+ __name(toolFactory, "toolFactory");
104
+ MCPServer.registerFactory(base_cjs.Tool, toolFactory);
105
+
106
+ exports.MCPServer = MCPServer;
107
+ exports.MCPServerConfig = MCPServerConfig;
108
+ //# sourceMappingURL=server.cjs.map
109
+ //# sourceMappingURL=server.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["server.ts"],"names":["MCPServerConfig","transport","hostname","port","name","version","settings","constructor","partial","Object","assign","MCPServer","Server","server","config","McpServer","serve","member","members","factory","getFactory","entry","type","tool","description","paramsSchema","callback","prompt","argsSchema","resource","uri","template","ValueError","runServer","connect","StdioServerTransport","factories","has","Tool","get","toolFactory","schema","inputSchema","ZodType","shape","args","result","run","content","text","getTextContent","registerFactory"],"mappings":"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","file":"server.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ValueError } from \"@/errors.js\";\nimport { Server } from \"@/serve/server.js\";\nimport { ServerOptions } from \"@modelcontextprotocol/sdk/server/index.js\";\nimport {\n McpServer,\n PromptCallback,\n ReadResourceCallback,\n ReadResourceTemplateCallback,\n ResourceTemplate,\n ToolCallback,\n} from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { AnyTool, Tool } from \"@/tools/base.js\";\nimport { runServer } from \"./http_server.js\";\nimport { ZodRawShape, ZodType } from \"zod\";\nimport { ToolAnnotations } from \"@modelcontextprotocol/sdk/types.js\";\n\ntype MCPServerPrompt =\n | {\n type: \"prompt\";\n name: string;\n description: string;\n callback: PromptCallback;\n }\n | {\n type: \"prompt\";\n name: string;\n description: string;\n argsSchema: ZodRawShape;\n callback: PromptCallback<ZodRawShape>;\n };\n\ntype MCPServerResource =\n | {\n type: \"resource\";\n name: string;\n uri: string;\n callback: ReadResourceCallback;\n }\n | {\n type: \"resource\";\n name: string;\n template: ResourceTemplate;\n callback: ReadResourceTemplateCallback;\n };\n\ninterface MCPServerTool {\n type: \"tool\";\n name: string;\n description: string;\n paramsSchema: ZodRawShape | ToolAnnotations;\n callback: ToolCallback<ZodRawShape>;\n}\n\ntype MCPServerEntry = MCPServerPrompt | MCPServerResource | MCPServerTool;\n\n// Configuration for the MCPServer.\nexport class MCPServerConfig {\n transport: \"stdio\" | \"sse\" = \"stdio\";\n hostname = \"127.0.0.1\";\n port = 3000;\n name = \"MCP Server\";\n version = \"1.0.0\";\n settings?: ServerOptions;\n\n constructor(partial?: Partial<MCPServerConfig>) {\n if (partial) {\n Object.assign(this, partial);\n }\n }\n}\n\nexport class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig> {\n protected server: McpServer;\n\n constructor(config?: MCPServerConfig) {\n super(config || new MCPServerConfig());\n this.server = new McpServer({\n name: this.config.name,\n version: this.config.version,\n ...this.config.settings,\n });\n }\n\n async serve() {\n for (const member of this.members) {\n const factory = this.getFactory(member);\n const entry = await factory(member);\n\n switch (entry.type) {\n case \"tool\":\n this.server.tool(entry.name, entry.description, entry.paramsSchema, entry.callback);\n break;\n case \"prompt\":\n if (\"argsSchema\" in entry) {\n this.server.prompt(entry.name, entry.description, entry.argsSchema, entry.callback);\n } else {\n this.server.prompt(entry.name, entry.description, entry.callback);\n }\n break;\n case \"resource\":\n if (\"uri\" in entry) {\n this.server.resource(entry.name, entry.uri, entry.callback);\n } else {\n this.server.resource(entry.name, entry.template, entry.callback);\n }\n break;\n default:\n throw new ValueError(\"Input type is not supported by this server.\");\n }\n }\n\n if (this.config.transport === \"sse\") {\n runServer(this.server, this.config.hostname, this.config.port);\n } else {\n await this.server.connect(new StdioServerTransport());\n }\n }\n\n getFactory(member: any) {\n const factories = (this.constructor as typeof Server).factories;\n return !factories.has(member.constructor) && member instanceof Tool && factories.has(Tool)\n ? factories.get(Tool)!\n : super.getFactory(member);\n }\n}\n\nasync function toolFactory(tool: AnyTool): Promise<MCPServerEntry> {\n const schema = await tool.inputSchema();\n if (!(schema instanceof ZodType)) {\n throw new ValueError(\"JsonSchema is not supported for MCP tools.\");\n }\n const paramsSchema = schema.shape;\n return {\n type: \"tool\",\n name: tool.name,\n description: tool.description,\n paramsSchema: paramsSchema,\n callback: async (...args: Parameters<typeof tool.run>) => {\n const result = await tool.run(...args);\n return {\n content: [\n {\n type: \"text\",\n text: result.getTextContent(),\n },\n ],\n };\n },\n };\n}\n\nMCPServer.registerFactory(Tool, toolFactory);\n"]}
@@ -0,0 +1,70 @@
1
+ import { Server } from '../../../serve/server.cjs';
2
+ import { ServerOptions } from '@modelcontextprotocol/sdk/server/index.js';
3
+ import { PromptCallback, ReadResourceCallback, ResourceTemplate, ReadResourceTemplateCallback, ToolCallback, McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { ZodRawShape } from 'zod';
5
+ import { ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';
6
+
7
+ /**
8
+ * Copyright 2025 © BeeAI a Series of LF Projects, LLC
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the "License");
11
+ * you may not use this file except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * http://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing, software
17
+ * distributed under the License is distributed on an "AS IS" BASIS,
18
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ * See the License for the specific language governing permissions and
20
+ * limitations under the License.
21
+ */
22
+
23
+ type MCPServerPrompt = {
24
+ type: "prompt";
25
+ name: string;
26
+ description: string;
27
+ callback: PromptCallback;
28
+ } | {
29
+ type: "prompt";
30
+ name: string;
31
+ description: string;
32
+ argsSchema: ZodRawShape;
33
+ callback: PromptCallback<ZodRawShape>;
34
+ };
35
+ type MCPServerResource = {
36
+ type: "resource";
37
+ name: string;
38
+ uri: string;
39
+ callback: ReadResourceCallback;
40
+ } | {
41
+ type: "resource";
42
+ name: string;
43
+ template: ResourceTemplate;
44
+ callback: ReadResourceTemplateCallback;
45
+ };
46
+ interface MCPServerTool {
47
+ type: "tool";
48
+ name: string;
49
+ description: string;
50
+ paramsSchema: ZodRawShape | ToolAnnotations;
51
+ callback: ToolCallback<ZodRawShape>;
52
+ }
53
+ type MCPServerEntry = MCPServerPrompt | MCPServerResource | MCPServerTool;
54
+ declare class MCPServerConfig {
55
+ transport: "stdio" | "sse";
56
+ hostname: string;
57
+ port: number;
58
+ name: string;
59
+ version: string;
60
+ settings?: ServerOptions;
61
+ constructor(partial?: Partial<MCPServerConfig>);
62
+ }
63
+ declare class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig> {
64
+ protected server: McpServer;
65
+ constructor(config?: MCPServerConfig);
66
+ serve(): Promise<void>;
67
+ getFactory(member: any): (input: TInput) => Promise<TInternal>;
68
+ }
69
+
70
+ export { MCPServer, MCPServerConfig };
@@ -0,0 +1,70 @@
1
+ import { Server } from '../../../serve/server.js';
2
+ import { ServerOptions } from '@modelcontextprotocol/sdk/server/index.js';
3
+ import { PromptCallback, ReadResourceCallback, ResourceTemplate, ReadResourceTemplateCallback, ToolCallback, McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { ZodRawShape } from 'zod';
5
+ import { ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';
6
+
7
+ /**
8
+ * Copyright 2025 © BeeAI a Series of LF Projects, LLC
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the "License");
11
+ * you may not use this file except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * http://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing, software
17
+ * distributed under the License is distributed on an "AS IS" BASIS,
18
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ * See the License for the specific language governing permissions and
20
+ * limitations under the License.
21
+ */
22
+
23
+ type MCPServerPrompt = {
24
+ type: "prompt";
25
+ name: string;
26
+ description: string;
27
+ callback: PromptCallback;
28
+ } | {
29
+ type: "prompt";
30
+ name: string;
31
+ description: string;
32
+ argsSchema: ZodRawShape;
33
+ callback: PromptCallback<ZodRawShape>;
34
+ };
35
+ type MCPServerResource = {
36
+ type: "resource";
37
+ name: string;
38
+ uri: string;
39
+ callback: ReadResourceCallback;
40
+ } | {
41
+ type: "resource";
42
+ name: string;
43
+ template: ResourceTemplate;
44
+ callback: ReadResourceTemplateCallback;
45
+ };
46
+ interface MCPServerTool {
47
+ type: "tool";
48
+ name: string;
49
+ description: string;
50
+ paramsSchema: ZodRawShape | ToolAnnotations;
51
+ callback: ToolCallback<ZodRawShape>;
52
+ }
53
+ type MCPServerEntry = MCPServerPrompt | MCPServerResource | MCPServerTool;
54
+ declare class MCPServerConfig {
55
+ transport: "stdio" | "sse";
56
+ hostname: string;
57
+ port: number;
58
+ name: string;
59
+ version: string;
60
+ settings?: ServerOptions;
61
+ constructor(partial?: Partial<MCPServerConfig>);
62
+ }
63
+ declare class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig> {
64
+ protected server: McpServer;
65
+ constructor(config?: MCPServerConfig);
66
+ serve(): Promise<void>;
67
+ getFactory(member: any): (input: TInput) => Promise<TInternal>;
68
+ }
69
+
70
+ export { MCPServer, MCPServerConfig };
@@ -0,0 +1,106 @@
1
+ import { ValueError } from '../../../errors.js';
2
+ import { Server } from '../../../serve/server.js';
3
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
5
+ import { Tool } from '../../../tools/base.js';
6
+ import { runServer } from './http_server.js';
7
+ import { ZodType } from 'zod';
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
11
+ class MCPServerConfig {
12
+ static {
13
+ __name(this, "MCPServerConfig");
14
+ }
15
+ transport = "stdio";
16
+ hostname = "127.0.0.1";
17
+ port = 3e3;
18
+ name = "MCP Server";
19
+ version = "1.0.0";
20
+ settings;
21
+ constructor(partial) {
22
+ if (partial) {
23
+ Object.assign(this, partial);
24
+ }
25
+ }
26
+ }
27
+ class MCPServer extends Server {
28
+ static {
29
+ __name(this, "MCPServer");
30
+ }
31
+ server;
32
+ constructor(config) {
33
+ super(config || new MCPServerConfig());
34
+ this.server = new McpServer({
35
+ name: this.config.name,
36
+ version: this.config.version,
37
+ ...this.config.settings
38
+ });
39
+ }
40
+ async serve() {
41
+ for (const member of this.members) {
42
+ const factory = this.getFactory(member);
43
+ const entry = await factory(member);
44
+ switch (entry.type) {
45
+ case "tool":
46
+ this.server.tool(entry.name, entry.description, entry.paramsSchema, entry.callback);
47
+ break;
48
+ case "prompt":
49
+ if ("argsSchema" in entry) {
50
+ this.server.prompt(entry.name, entry.description, entry.argsSchema, entry.callback);
51
+ } else {
52
+ this.server.prompt(entry.name, entry.description, entry.callback);
53
+ }
54
+ break;
55
+ case "resource":
56
+ if ("uri" in entry) {
57
+ this.server.resource(entry.name, entry.uri, entry.callback);
58
+ } else {
59
+ this.server.resource(entry.name, entry.template, entry.callback);
60
+ }
61
+ break;
62
+ default:
63
+ throw new ValueError("Input type is not supported by this server.");
64
+ }
65
+ }
66
+ if (this.config.transport === "sse") {
67
+ runServer(this.server, this.config.hostname, this.config.port);
68
+ } else {
69
+ await this.server.connect(new StdioServerTransport());
70
+ }
71
+ }
72
+ getFactory(member) {
73
+ const factories = this.constructor.factories;
74
+ return !factories.has(member.constructor) && member instanceof Tool && factories.has(Tool) ? factories.get(Tool) : super.getFactory(member);
75
+ }
76
+ }
77
+ async function toolFactory(tool) {
78
+ const schema = await tool.inputSchema();
79
+ if (!(schema instanceof ZodType)) {
80
+ throw new ValueError("JsonSchema is not supported for MCP tools.");
81
+ }
82
+ const paramsSchema = schema.shape;
83
+ return {
84
+ type: "tool",
85
+ name: tool.name,
86
+ description: tool.description,
87
+ paramsSchema,
88
+ callback: /* @__PURE__ */ __name(async (...args) => {
89
+ const result = await tool.run(...args);
90
+ return {
91
+ content: [
92
+ {
93
+ type: "text",
94
+ text: result.getTextContent()
95
+ }
96
+ ]
97
+ };
98
+ }, "callback")
99
+ };
100
+ }
101
+ __name(toolFactory, "toolFactory");
102
+ MCPServer.registerFactory(Tool, toolFactory);
103
+
104
+ export { MCPServer, MCPServerConfig };
105
+ //# sourceMappingURL=server.js.map
106
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["server.ts"],"names":["MCPServerConfig","transport","hostname","port","name","version","settings","constructor","partial","Object","assign","MCPServer","Server","server","config","McpServer","serve","member","members","factory","getFactory","entry","type","tool","description","paramsSchema","callback","prompt","argsSchema","resource","uri","template","ValueError","runServer","connect","StdioServerTransport","factories","has","Tool","get","toolFactory","schema","inputSchema","ZodType","shape","args","result","run","content","text","getTextContent","registerFactory"],"mappings":"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","file":"server.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ValueError } from \"@/errors.js\";\nimport { Server } from \"@/serve/server.js\";\nimport { ServerOptions } from \"@modelcontextprotocol/sdk/server/index.js\";\nimport {\n McpServer,\n PromptCallback,\n ReadResourceCallback,\n ReadResourceTemplateCallback,\n ResourceTemplate,\n ToolCallback,\n} from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { AnyTool, Tool } from \"@/tools/base.js\";\nimport { runServer } from \"./http_server.js\";\nimport { ZodRawShape, ZodType } from \"zod\";\nimport { ToolAnnotations } from \"@modelcontextprotocol/sdk/types.js\";\n\ntype MCPServerPrompt =\n | {\n type: \"prompt\";\n name: string;\n description: string;\n callback: PromptCallback;\n }\n | {\n type: \"prompt\";\n name: string;\n description: string;\n argsSchema: ZodRawShape;\n callback: PromptCallback<ZodRawShape>;\n };\n\ntype MCPServerResource =\n | {\n type: \"resource\";\n name: string;\n uri: string;\n callback: ReadResourceCallback;\n }\n | {\n type: \"resource\";\n name: string;\n template: ResourceTemplate;\n callback: ReadResourceTemplateCallback;\n };\n\ninterface MCPServerTool {\n type: \"tool\";\n name: string;\n description: string;\n paramsSchema: ZodRawShape | ToolAnnotations;\n callback: ToolCallback<ZodRawShape>;\n}\n\ntype MCPServerEntry = MCPServerPrompt | MCPServerResource | MCPServerTool;\n\n// Configuration for the MCPServer.\nexport class MCPServerConfig {\n transport: \"stdio\" | \"sse\" = \"stdio\";\n hostname = \"127.0.0.1\";\n port = 3000;\n name = \"MCP Server\";\n version = \"1.0.0\";\n settings?: ServerOptions;\n\n constructor(partial?: Partial<MCPServerConfig>) {\n if (partial) {\n Object.assign(this, partial);\n }\n }\n}\n\nexport class MCPServer extends Server<any, MCPServerEntry, MCPServerConfig> {\n protected server: McpServer;\n\n constructor(config?: MCPServerConfig) {\n super(config || new MCPServerConfig());\n this.server = new McpServer({\n name: this.config.name,\n version: this.config.version,\n ...this.config.settings,\n });\n }\n\n async serve() {\n for (const member of this.members) {\n const factory = this.getFactory(member);\n const entry = await factory(member);\n\n switch (entry.type) {\n case \"tool\":\n this.server.tool(entry.name, entry.description, entry.paramsSchema, entry.callback);\n break;\n case \"prompt\":\n if (\"argsSchema\" in entry) {\n this.server.prompt(entry.name, entry.description, entry.argsSchema, entry.callback);\n } else {\n this.server.prompt(entry.name, entry.description, entry.callback);\n }\n break;\n case \"resource\":\n if (\"uri\" in entry) {\n this.server.resource(entry.name, entry.uri, entry.callback);\n } else {\n this.server.resource(entry.name, entry.template, entry.callback);\n }\n break;\n default:\n throw new ValueError(\"Input type is not supported by this server.\");\n }\n }\n\n if (this.config.transport === \"sse\") {\n runServer(this.server, this.config.hostname, this.config.port);\n } else {\n await this.server.connect(new StdioServerTransport());\n }\n }\n\n getFactory(member: any) {\n const factories = (this.constructor as typeof Server).factories;\n return !factories.has(member.constructor) && member instanceof Tool && factories.has(Tool)\n ? factories.get(Tool)!\n : super.getFactory(member);\n }\n}\n\nasync function toolFactory(tool: AnyTool): Promise<MCPServerEntry> {\n const schema = await tool.inputSchema();\n if (!(schema instanceof ZodType)) {\n throw new ValueError(\"JsonSchema is not supported for MCP tools.\");\n }\n const paramsSchema = schema.shape;\n return {\n type: \"tool\",\n name: tool.name,\n description: tool.description,\n paramsSchema: paramsSchema,\n callback: async (...args: Parameters<typeof tool.run>) => {\n const result = await tool.run(...args);\n return {\n content: [\n {\n type: \"text\",\n text: result.getTextContent(),\n },\n ],\n };\n },\n };\n}\n\nMCPServer.registerFactory(Tool, toolFactory);\n"]}
@@ -3,6 +3,7 @@
3
3
  var env_cjs = require('../../../internals/env.cjs');
4
4
  var ollamaAiProvider = require('ollama-ai-provider');
5
5
  var client_cjs = require('../../../backend/client.cjs');
6
+ var utils_cjs = require('../../vercel/backend/utils.cjs');
6
7
 
7
8
  var __defProp = Object.defineProperty;
8
9
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
@@ -13,7 +14,8 @@ class OllamaClient extends client_cjs.BackendClient {
13
14
  create() {
14
15
  return ollamaAiProvider.createOllama({
15
16
  ...this.settings ?? {},
16
- baseURL: this.settings?.baseURL ?? env_cjs.getEnv("OLLAMA_BASE_URL")
17
+ baseURL: this.settings?.baseURL ?? env_cjs.getEnv("OLLAMA_BASE_URL"),
18
+ fetch: utils_cjs.vercelFetcher(this.settings?.fetch)
17
19
  });
18
20
  }
19
21
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["client.ts"],"names":["OllamaClient","BackendClient","create","createOllama","settings","baseURL","getEnv"],"mappings":";;;;;;;;AAsBO,MAAMA,qBAAqBC,wBAAAA,CAAAA;EAtBlC;;;EAuBYC,MAAyB,GAAA;AACjC,IAAA,OAAOC,6BAAa,CAAA;MAClB,GAAI,IAAA,CAAKC,YAAY,EAAC;AACtBC,MAAAA,OAAAA,EAAS,IAAKD,CAAAA,QAAAA,EAAUC,OAAWC,IAAAA,cAAAA,CAAO,iBAAA;KAC5C,CAAA;AACF;AACF","file":"client.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getEnv } from \"@/internals/env.js\";\nimport { createOllama, OllamaProvider, OllamaProviderSettings } from \"ollama-ai-provider\";\nimport { BackendClient } from \"@/backend/client.js\";\n\nexport type OllamaClientSettings = OllamaProviderSettings;\n\nexport class OllamaClient extends BackendClient<OllamaClientSettings, OllamaProvider> {\n protected create(): OllamaProvider {\n return createOllama({\n ...(this.settings ?? {}),\n baseURL: this.settings?.baseURL ?? getEnv(\"OLLAMA_BASE_URL\"),\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["client.ts"],"names":["OllamaClient","BackendClient","create","createOllama","settings","baseURL","getEnv","fetch","vercelFetcher"],"mappings":";;;;;;;;;AAuBO,MAAMA,qBAAqBC,wBAAAA,CAAAA;EAvBlC;;;EAwBYC,MAAyB,GAAA;AACjC,IAAA,OAAOC,6BAAa,CAAA;MAClB,GAAI,IAAA,CAAKC,YAAY,EAAC;AACtBC,MAAAA,OAAAA,EAAS,IAAKD,CAAAA,QAAAA,EAAUC,OAAWC,IAAAA,cAAAA,CAAO,iBAAA,CAAA;MAC1CC,KAAOC,EAAAA,uBAAAA,CAAc,IAAKJ,CAAAA,QAAAA,EAAUG,KAAAA;KACtC,CAAA;AACF;AACF","file":"client.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getEnv } from \"@/internals/env.js\";\nimport { createOllama, OllamaProvider, OllamaProviderSettings } from \"ollama-ai-provider\";\nimport { BackendClient } from \"@/backend/client.js\";\nimport { vercelFetcher } from \"@/adapters/vercel/backend/utils.js\";\n\nexport type OllamaClientSettings = OllamaProviderSettings;\n\nexport class OllamaClient extends BackendClient<OllamaClientSettings, OllamaProvider> {\n protected create(): OllamaProvider {\n return createOllama({\n ...(this.settings ?? {}),\n baseURL: this.settings?.baseURL ?? getEnv(\"OLLAMA_BASE_URL\"),\n fetch: vercelFetcher(this.settings?.fetch),\n });\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import { getEnv } from '../../../internals/env.js';
2
2
  import { createOllama } from 'ollama-ai-provider';
3
3
  import { BackendClient } from '../../../backend/client.js';
4
+ import { vercelFetcher } from '../../vercel/backend/utils.js';
4
5
 
5
6
  var __defProp = Object.defineProperty;
6
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
@@ -11,7 +12,8 @@ class OllamaClient extends BackendClient {
11
12
  create() {
12
13
  return createOllama({
13
14
  ...this.settings ?? {},
14
- baseURL: this.settings?.baseURL ?? getEnv("OLLAMA_BASE_URL")
15
+ baseURL: this.settings?.baseURL ?? getEnv("OLLAMA_BASE_URL"),
16
+ fetch: vercelFetcher(this.settings?.fetch)
15
17
  });
16
18
  }
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["client.ts"],"names":["OllamaClient","BackendClient","create","createOllama","settings","baseURL","getEnv"],"mappings":";;;;;;AAsBO,MAAMA,qBAAqBC,aAAAA,CAAAA;EAtBlC;;;EAuBYC,MAAyB,GAAA;AACjC,IAAA,OAAOC,YAAa,CAAA;MAClB,GAAI,IAAA,CAAKC,YAAY,EAAC;AACtBC,MAAAA,OAAAA,EAAS,IAAKD,CAAAA,QAAAA,EAAUC,OAAWC,IAAAA,MAAAA,CAAO,iBAAA;KAC5C,CAAA;AACF;AACF","file":"client.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getEnv } from \"@/internals/env.js\";\nimport { createOllama, OllamaProvider, OllamaProviderSettings } from \"ollama-ai-provider\";\nimport { BackendClient } from \"@/backend/client.js\";\n\nexport type OllamaClientSettings = OllamaProviderSettings;\n\nexport class OllamaClient extends BackendClient<OllamaClientSettings, OllamaProvider> {\n protected create(): OllamaProvider {\n return createOllama({\n ...(this.settings ?? {}),\n baseURL: this.settings?.baseURL ?? getEnv(\"OLLAMA_BASE_URL\"),\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["client.ts"],"names":["OllamaClient","BackendClient","create","createOllama","settings","baseURL","getEnv","fetch","vercelFetcher"],"mappings":";;;;;;;AAuBO,MAAMA,qBAAqBC,aAAAA,CAAAA;EAvBlC;;;EAwBYC,MAAyB,GAAA;AACjC,IAAA,OAAOC,YAAa,CAAA;MAClB,GAAI,IAAA,CAAKC,YAAY,EAAC;AACtBC,MAAAA,OAAAA,EAAS,IAAKD,CAAAA,QAAAA,EAAUC,OAAWC,IAAAA,MAAAA,CAAO,iBAAA,CAAA;MAC1CC,KAAOC,EAAAA,aAAAA,CAAc,IAAKJ,CAAAA,QAAAA,EAAUG,KAAAA;KACtC,CAAA;AACF;AACF","file":"client.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getEnv } from \"@/internals/env.js\";\nimport { createOllama, OllamaProvider, OllamaProviderSettings } from \"ollama-ai-provider\";\nimport { BackendClient } from \"@/backend/client.js\";\nimport { vercelFetcher } from \"@/adapters/vercel/backend/utils.js\";\n\nexport type OllamaClientSettings = OllamaProviderSettings;\n\nexport class OllamaClient extends BackendClient<OllamaClientSettings, OllamaProvider> {\n protected create(): OllamaProvider {\n return createOllama({\n ...(this.settings ?? {}),\n baseURL: this.settings?.baseURL ?? getEnv(\"OLLAMA_BASE_URL\"),\n fetch: vercelFetcher(this.settings?.fetch),\n });\n }\n}\n"]}
@@ -4,6 +4,7 @@ var openai = require('@ai-sdk/openai');
4
4
  var env_cjs = require('../../../internals/env.cjs');
5
5
  var zod = require('zod');
6
6
  var client_cjs = require('../../../backend/client.cjs');
7
+ var utils_cjs = require('../../vercel/backend/utils.cjs');
7
8
 
8
9
  var __defProp = Object.defineProperty;
9
10
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
@@ -30,7 +31,8 @@ class OpenAIClient extends client_cjs.BackendClient {
30
31
  headers: {
31
32
  ...extraHeaders,
32
33
  ...this.settings?.headers
33
- }
34
+ },
35
+ fetch: utils_cjs.vercelFetcher(this.settings?.fetch)
34
36
  });
35
37
  }
36
38
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["client.ts"],"names":["OpenAIClient","BackendClient","create","extraHeaders","parseEnv","z","preprocess","value","Object","fromEntries","String","split","filter","pair","includes","map","record","string","baseURL","settings","getEnv","compatibility","createOpenAI","apiKey","headers"],"mappings":";;;;;;;;;AAuBO,MAAMA,qBAAqBC,wBAAAA,CAAAA;EAvBlC;;;EAwBYC,MAAyB,GAAA;AACjC,IAAA,MAAMC,eAAeC,gBACnB,CAAA,oBAAA,EACAC,KAAEC,CAAAA,UAAAA,CAAW,CAACC,KAAAA,KAAAA;AACZ,MAAOC,OAAAA,MAAAA,CAAOC,WACZC,CAAAA,MAAAA,CAAOH,KAAS,IAAA,EAAA,EACbI,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAO,CAACC,IAAAA,KAASA,KAAKC,QAAS,CAAA,GAAA,CAAA,CAAA,CAC/BC,GAAI,CAAA,CAACF,SAASA,IAAKF,CAAAA,KAAAA,CAAM,GAAA,CAAA,CAAA,CAAA;AAEhC,KAAA,EAAGN,MAAEW,MAAOX,CAAAA,KAAAA,CAAEY,MAAM,EAAA,CAAA,CAAA,CAAA;AAGtB,IAAA,MAAMC,OAAU,GAAA,IAAA,CAAKC,QAAUD,EAAAA,OAAAA,IAAWE,eAAO,qBAAA,CAAA;AACjD,IAAA,IAAIC,aACF,GAAA,IAAA,CAAKF,QAAUE,EAAAA,aAAAA,IAAiBD,eAAO,2BAAA,CAAA;AACzC,IAAIF,IAAAA,OAAAA,IAAW,CAACG,aAAe,EAAA;AAC7BA,MAAgB,aAAA,GAAA,YAAA;KACP,MAAA,IAAA,CAACH,OAAW,IAAA,CAACG,aAAe,EAAA;AACrCA,MAAgB,aAAA,GAAA,QAAA;AAClB;AAEA,IAAA,OAAOC,mBAAa,CAAA;AAClB,MAAA,GAAG,IAAKH,CAAAA,QAAAA;AACRE,MAAAA,aAAAA;AACAE,MAAAA,MAAAA,EAAQ,IAAKJ,CAAAA,QAAAA,EAAUI,MAAUH,IAAAA,cAAAA,CAAO,gBAAA,CAAA;AACxCF,MAAAA,OAAAA;MACAM,OAAS,EAAA;QACP,GAAGrB,YAAAA;AACH,QAAA,GAAG,KAAKgB,QAAUK,EAAAA;AACpB;KACF,CAAA;AACF;AACF","file":"client.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createOpenAI, OpenAIProvider, OpenAIProviderSettings } from \"@ai-sdk/openai\";\nimport { getEnv, parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\nimport { BackendClient } from \"@/backend/client.js\";\n\nexport type OpenAIClientSettings = OpenAIProviderSettings;\n\nexport class OpenAIClient extends BackendClient<OpenAIClientSettings, OpenAIProvider> {\n protected create(): OpenAIProvider {\n const extraHeaders = parseEnv(\n \"OPENAI_API_HEADERS\",\n z.preprocess((value) => {\n return Object.fromEntries(\n String(value || \"\")\n .split(\",\")\n .filter((pair) => pair.includes(\"=\"))\n .map((pair) => pair.split(\"=\")),\n );\n }, z.record(z.string())),\n );\n\n const baseURL = this.settings?.baseURL || getEnv(\"OPENAI_API_ENDPOINT\");\n let compatibility: string | undefined =\n this.settings?.compatibility || getEnv(\"OPENAI_COMPATIBILITY_MODE\");\n if (baseURL && !compatibility) {\n compatibility = \"compatible\";\n } else if (!baseURL && !compatibility) {\n compatibility = \"strict\";\n }\n\n return createOpenAI({\n ...this.settings,\n compatibility: compatibility as \"strict\" | \"compatible\" | undefined,\n apiKey: this.settings?.apiKey || getEnv(\"OPENAI_API_KEY\"),\n baseURL,\n headers: {\n ...extraHeaders,\n ...this.settings?.headers,\n },\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["client.ts"],"names":["OpenAIClient","BackendClient","create","extraHeaders","parseEnv","z","preprocess","value","Object","fromEntries","String","split","filter","pair","includes","map","record","string","baseURL","settings","getEnv","compatibility","createOpenAI","apiKey","headers","fetch","vercelFetcher"],"mappings":";;;;;;;;;;AAwBO,MAAMA,qBAAqBC,wBAAAA,CAAAA;EAxBlC;;;EAyBYC,MAAyB,GAAA;AACjC,IAAA,MAAMC,eAAeC,gBACnB,CAAA,oBAAA,EACAC,KAAEC,CAAAA,UAAAA,CAAW,CAACC,KAAAA,KAAAA;AACZ,MAAOC,OAAAA,MAAAA,CAAOC,WACZC,CAAAA,MAAAA,CAAOH,KAAS,IAAA,EAAA,EACbI,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAO,CAACC,IAAAA,KAASA,KAAKC,QAAS,CAAA,GAAA,CAAA,CAAA,CAC/BC,GAAI,CAAA,CAACF,SAASA,IAAKF,CAAAA,KAAAA,CAAM,GAAA,CAAA,CAAA,CAAA;AAEhC,KAAA,EAAGN,MAAEW,MAAOX,CAAAA,KAAAA,CAAEY,MAAM,EAAA,CAAA,CAAA,CAAA;AAGtB,IAAA,MAAMC,OAAU,GAAA,IAAA,CAAKC,QAAUD,EAAAA,OAAAA,IAAWE,eAAO,qBAAA,CAAA;AACjD,IAAA,IAAIC,aACF,GAAA,IAAA,CAAKF,QAAUE,EAAAA,aAAAA,IAAiBD,eAAO,2BAAA,CAAA;AACzC,IAAIF,IAAAA,OAAAA,IAAW,CAACG,aAAe,EAAA;AAC7BA,MAAgB,aAAA,GAAA,YAAA;KACP,MAAA,IAAA,CAACH,OAAW,IAAA,CAACG,aAAe,EAAA;AACrCA,MAAgB,aAAA,GAAA,QAAA;AAClB;AAEA,IAAA,OAAOC,mBAAa,CAAA;AAClB,MAAA,GAAG,IAAKH,CAAAA,QAAAA;AACRE,MAAAA,aAAAA;AACAE,MAAAA,MAAAA,EAAQ,IAAKJ,CAAAA,QAAAA,EAAUI,MAAUH,IAAAA,cAAAA,CAAO,gBAAA,CAAA;AACxCF,MAAAA,OAAAA;MACAM,OAAS,EAAA;QACP,GAAGrB,YAAAA;AACH,QAAA,GAAG,KAAKgB,QAAUK,EAAAA;AACpB,OAAA;MACAC,KAAOC,EAAAA,uBAAAA,CAAc,IAAKP,CAAAA,QAAAA,EAAUM,KAAAA;KACtC,CAAA;AACF;AACF","file":"client.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createOpenAI, OpenAIProvider, OpenAIProviderSettings } from \"@ai-sdk/openai\";\nimport { getEnv, parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\nimport { BackendClient } from \"@/backend/client.js\";\nimport { vercelFetcher } from \"@/adapters/vercel/backend/utils.js\";\n\nexport type OpenAIClientSettings = OpenAIProviderSettings;\n\nexport class OpenAIClient extends BackendClient<OpenAIClientSettings, OpenAIProvider> {\n protected create(): OpenAIProvider {\n const extraHeaders = parseEnv(\n \"OPENAI_API_HEADERS\",\n z.preprocess((value) => {\n return Object.fromEntries(\n String(value || \"\")\n .split(\",\")\n .filter((pair) => pair.includes(\"=\"))\n .map((pair) => pair.split(\"=\")),\n );\n }, z.record(z.string())),\n );\n\n const baseURL = this.settings?.baseURL || getEnv(\"OPENAI_API_ENDPOINT\");\n let compatibility: string | undefined =\n this.settings?.compatibility || getEnv(\"OPENAI_COMPATIBILITY_MODE\");\n if (baseURL && !compatibility) {\n compatibility = \"compatible\";\n } else if (!baseURL && !compatibility) {\n compatibility = \"strict\";\n }\n\n return createOpenAI({\n ...this.settings,\n compatibility: compatibility as \"strict\" | \"compatible\" | undefined,\n apiKey: this.settings?.apiKey || getEnv(\"OPENAI_API_KEY\"),\n baseURL,\n headers: {\n ...extraHeaders,\n ...this.settings?.headers,\n },\n fetch: vercelFetcher(this.settings?.fetch),\n });\n }\n}\n"]}
@@ -2,6 +2,7 @@ import { createOpenAI } from '@ai-sdk/openai';
2
2
  import { parseEnv, getEnv } from '../../../internals/env.js';
3
3
  import { z } from 'zod';
4
4
  import { BackendClient } from '../../../backend/client.js';
5
+ import { vercelFetcher } from '../../vercel/backend/utils.js';
5
6
 
6
7
  var __defProp = Object.defineProperty;
7
8
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
@@ -28,7 +29,8 @@ class OpenAIClient extends BackendClient {
28
29
  headers: {
29
30
  ...extraHeaders,
30
31
  ...this.settings?.headers
31
- }
32
+ },
33
+ fetch: vercelFetcher(this.settings?.fetch)
32
34
  });
33
35
  }
34
36
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["client.ts"],"names":["OpenAIClient","BackendClient","create","extraHeaders","parseEnv","z","preprocess","value","Object","fromEntries","String","split","filter","pair","includes","map","record","string","baseURL","settings","getEnv","compatibility","createOpenAI","apiKey","headers"],"mappings":";;;;;;;AAuBO,MAAMA,qBAAqBC,aAAAA,CAAAA;EAvBlC;;;EAwBYC,MAAyB,GAAA;AACjC,IAAA,MAAMC,eAAeC,QACnB,CAAA,oBAAA,EACAC,CAAEC,CAAAA,UAAAA,CAAW,CAACC,KAAAA,KAAAA;AACZ,MAAOC,OAAAA,MAAAA,CAAOC,WACZC,CAAAA,MAAAA,CAAOH,KAAS,IAAA,EAAA,EACbI,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAO,CAACC,IAAAA,KAASA,KAAKC,QAAS,CAAA,GAAA,CAAA,CAAA,CAC/BC,GAAI,CAAA,CAACF,SAASA,IAAKF,CAAAA,KAAAA,CAAM,GAAA,CAAA,CAAA,CAAA;AAEhC,KAAA,EAAGN,EAAEW,MAAOX,CAAAA,CAAAA,CAAEY,MAAM,EAAA,CAAA,CAAA,CAAA;AAGtB,IAAA,MAAMC,OAAU,GAAA,IAAA,CAAKC,QAAUD,EAAAA,OAAAA,IAAWE,OAAO,qBAAA,CAAA;AACjD,IAAA,IAAIC,aACF,GAAA,IAAA,CAAKF,QAAUE,EAAAA,aAAAA,IAAiBD,OAAO,2BAAA,CAAA;AACzC,IAAIF,IAAAA,OAAAA,IAAW,CAACG,aAAe,EAAA;AAC7BA,MAAgB,aAAA,GAAA,YAAA;KACP,MAAA,IAAA,CAACH,OAAW,IAAA,CAACG,aAAe,EAAA;AACrCA,MAAgB,aAAA,GAAA,QAAA;AAClB;AAEA,IAAA,OAAOC,YAAa,CAAA;AAClB,MAAA,GAAG,IAAKH,CAAAA,QAAAA;AACRE,MAAAA,aAAAA;AACAE,MAAAA,MAAAA,EAAQ,IAAKJ,CAAAA,QAAAA,EAAUI,MAAUH,IAAAA,MAAAA,CAAO,gBAAA,CAAA;AACxCF,MAAAA,OAAAA;MACAM,OAAS,EAAA;QACP,GAAGrB,YAAAA;AACH,QAAA,GAAG,KAAKgB,QAAUK,EAAAA;AACpB;KACF,CAAA;AACF;AACF","file":"client.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createOpenAI, OpenAIProvider, OpenAIProviderSettings } from \"@ai-sdk/openai\";\nimport { getEnv, parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\nimport { BackendClient } from \"@/backend/client.js\";\n\nexport type OpenAIClientSettings = OpenAIProviderSettings;\n\nexport class OpenAIClient extends BackendClient<OpenAIClientSettings, OpenAIProvider> {\n protected create(): OpenAIProvider {\n const extraHeaders = parseEnv(\n \"OPENAI_API_HEADERS\",\n z.preprocess((value) => {\n return Object.fromEntries(\n String(value || \"\")\n .split(\",\")\n .filter((pair) => pair.includes(\"=\"))\n .map((pair) => pair.split(\"=\")),\n );\n }, z.record(z.string())),\n );\n\n const baseURL = this.settings?.baseURL || getEnv(\"OPENAI_API_ENDPOINT\");\n let compatibility: string | undefined =\n this.settings?.compatibility || getEnv(\"OPENAI_COMPATIBILITY_MODE\");\n if (baseURL && !compatibility) {\n compatibility = \"compatible\";\n } else if (!baseURL && !compatibility) {\n compatibility = \"strict\";\n }\n\n return createOpenAI({\n ...this.settings,\n compatibility: compatibility as \"strict\" | \"compatible\" | undefined,\n apiKey: this.settings?.apiKey || getEnv(\"OPENAI_API_KEY\"),\n baseURL,\n headers: {\n ...extraHeaders,\n ...this.settings?.headers,\n },\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["client.ts"],"names":["OpenAIClient","BackendClient","create","extraHeaders","parseEnv","z","preprocess","value","Object","fromEntries","String","split","filter","pair","includes","map","record","string","baseURL","settings","getEnv","compatibility","createOpenAI","apiKey","headers","fetch","vercelFetcher"],"mappings":";;;;;;;;AAwBO,MAAMA,qBAAqBC,aAAAA,CAAAA;EAxBlC;;;EAyBYC,MAAyB,GAAA;AACjC,IAAA,MAAMC,eAAeC,QACnB,CAAA,oBAAA,EACAC,CAAEC,CAAAA,UAAAA,CAAW,CAACC,KAAAA,KAAAA;AACZ,MAAOC,OAAAA,MAAAA,CAAOC,WACZC,CAAAA,MAAAA,CAAOH,KAAS,IAAA,EAAA,EACbI,KAAM,CAAA,GAAA,CACNC,CAAAA,MAAAA,CAAO,CAACC,IAAAA,KAASA,KAAKC,QAAS,CAAA,GAAA,CAAA,CAAA,CAC/BC,GAAI,CAAA,CAACF,SAASA,IAAKF,CAAAA,KAAAA,CAAM,GAAA,CAAA,CAAA,CAAA;AAEhC,KAAA,EAAGN,EAAEW,MAAOX,CAAAA,CAAAA,CAAEY,MAAM,EAAA,CAAA,CAAA,CAAA;AAGtB,IAAA,MAAMC,OAAU,GAAA,IAAA,CAAKC,QAAUD,EAAAA,OAAAA,IAAWE,OAAO,qBAAA,CAAA;AACjD,IAAA,IAAIC,aACF,GAAA,IAAA,CAAKF,QAAUE,EAAAA,aAAAA,IAAiBD,OAAO,2BAAA,CAAA;AACzC,IAAIF,IAAAA,OAAAA,IAAW,CAACG,aAAe,EAAA;AAC7BA,MAAgB,aAAA,GAAA,YAAA;KACP,MAAA,IAAA,CAACH,OAAW,IAAA,CAACG,aAAe,EAAA;AACrCA,MAAgB,aAAA,GAAA,QAAA;AAClB;AAEA,IAAA,OAAOC,YAAa,CAAA;AAClB,MAAA,GAAG,IAAKH,CAAAA,QAAAA;AACRE,MAAAA,aAAAA;AACAE,MAAAA,MAAAA,EAAQ,IAAKJ,CAAAA,QAAAA,EAAUI,MAAUH,IAAAA,MAAAA,CAAO,gBAAA,CAAA;AACxCF,MAAAA,OAAAA;MACAM,OAAS,EAAA;QACP,GAAGrB,YAAAA;AACH,QAAA,GAAG,KAAKgB,QAAUK,EAAAA;AACpB,OAAA;MACAC,KAAOC,EAAAA,aAAAA,CAAc,IAAKP,CAAAA,QAAAA,EAAUM,KAAAA;KACtC,CAAA;AACF;AACF","file":"client.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createOpenAI, OpenAIProvider, OpenAIProviderSettings } from \"@ai-sdk/openai\";\nimport { getEnv, parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\nimport { BackendClient } from \"@/backend/client.js\";\nimport { vercelFetcher } from \"@/adapters/vercel/backend/utils.js\";\n\nexport type OpenAIClientSettings = OpenAIProviderSettings;\n\nexport class OpenAIClient extends BackendClient<OpenAIClientSettings, OpenAIProvider> {\n protected create(): OpenAIProvider {\n const extraHeaders = parseEnv(\n \"OPENAI_API_HEADERS\",\n z.preprocess((value) => {\n return Object.fromEntries(\n String(value || \"\")\n .split(\",\")\n .filter((pair) => pair.includes(\"=\"))\n .map((pair) => pair.split(\"=\")),\n );\n }, z.record(z.string())),\n );\n\n const baseURL = this.settings?.baseURL || getEnv(\"OPENAI_API_ENDPOINT\");\n let compatibility: string | undefined =\n this.settings?.compatibility || getEnv(\"OPENAI_COMPATIBILITY_MODE\");\n if (baseURL && !compatibility) {\n compatibility = \"compatible\";\n } else if (!baseURL && !compatibility) {\n compatibility = \"strict\";\n }\n\n return createOpenAI({\n ...this.settings,\n compatibility: compatibility as \"strict\" | \"compatible\" | undefined,\n apiKey: this.settings?.apiKey || getEnv(\"OPENAI_API_KEY\"),\n baseURL,\n headers: {\n ...extraHeaders,\n ...this.settings?.headers,\n },\n fetch: vercelFetcher(this.settings?.fetch),\n });\n }\n}\n"]}