orbitx 0.2.6 → 0.2.7

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 (263) hide show
  1. package/dist/core/agent-providers.d.ts +15 -10
  2. package/dist/core/agent-providers.d.ts.map +1 -1
  3. package/dist/core/agent-providers.js +65 -15
  4. package/dist/core/agent-providers.js.map +1 -1
  5. package/dist/core/ai-provider.d.ts +52 -2
  6. package/dist/core/ai-provider.d.ts.map +1 -1
  7. package/dist/core/ai-provider.js.map +1 -1
  8. package/dist/core/anthropic-provider.d.ts +5 -0
  9. package/dist/core/anthropic-provider.d.ts.map +1 -1
  10. package/dist/core/anthropic-provider.js +100 -17
  11. package/dist/core/anthropic-provider.js.map +1 -1
  12. package/dist/core/base-agent.d.ts +19 -41
  13. package/dist/core/base-agent.d.ts.map +1 -1
  14. package/dist/core/base-agent.js +112 -136
  15. package/dist/core/base-agent.js.map +1 -1
  16. package/dist/core/deepseek-provider.d.ts +3 -0
  17. package/dist/core/deepseek-provider.d.ts.map +1 -1
  18. package/dist/core/deepseek-provider.js +59 -12
  19. package/dist/core/deepseek-provider.js.map +1 -1
  20. package/dist/core/mcp-client.d.ts +10 -2
  21. package/dist/core/mcp-client.d.ts.map +1 -1
  22. package/dist/core/mcp-client.js +28 -4
  23. package/dist/core/mcp-client.js.map +1 -1
  24. package/dist/core/mcp-server.d.ts +5 -1
  25. package/dist/core/mcp-server.d.ts.map +1 -1
  26. package/dist/core/mcp-server.js +31 -1
  27. package/dist/core/mcp-server.js.map +1 -1
  28. package/dist/core/mcp.d.ts +9 -23
  29. package/dist/core/mcp.d.ts.map +1 -1
  30. package/dist/core/mcp.js +1 -24
  31. package/dist/core/mcp.js.map +1 -1
  32. package/dist/core/ollama-provider.d.ts +3 -0
  33. package/dist/core/ollama-provider.d.ts.map +1 -1
  34. package/dist/core/ollama-provider.js +31 -7
  35. package/dist/core/ollama-provider.js.map +1 -1
  36. package/dist/core/openai-provider.d.ts +3 -0
  37. package/dist/core/openai-provider.d.ts.map +1 -1
  38. package/dist/core/openai-provider.js +51 -8
  39. package/dist/core/openai-provider.js.map +1 -1
  40. package/dist/core/skill.d.ts +2 -2
  41. package/dist/core/skill.d.ts.map +1 -1
  42. package/dist/index.d.ts +13 -20
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +9 -10
  45. package/dist/index.js.map +1 -1
  46. package/dist/templates/simple.d.ts +8 -12
  47. package/dist/templates/simple.d.ts.map +1 -1
  48. package/dist/templates/simple.js +6 -10
  49. package/dist/templates/simple.js.map +1 -1
  50. package/dist/tests/tools/agent/agent-tools.test.js +20 -17
  51. package/dist/tests/tools/agent/agent-tools.test.js.map +1 -1
  52. package/dist/tests/tools/question-answer/question-answer.test.js +1 -11
  53. package/dist/tests/tools/question-answer/question-answer.test.js.map +1 -1
  54. package/dist/tests/tools/utils/read-image.test.js +29 -17
  55. package/dist/tests/tools/utils/read-image.test.js.map +1 -1
  56. package/dist/tools/agent/hire.d.ts +1 -2
  57. package/dist/tools/agent/hire.d.ts.map +1 -1
  58. package/dist/tools/agent/hire.js +1 -4
  59. package/dist/tools/agent/hire.js.map +1 -1
  60. package/dist/tools/agent/index.d.ts +1 -3
  61. package/dist/tools/agent/index.d.ts.map +1 -1
  62. package/dist/tools/agent/index.js +0 -1
  63. package/dist/tools/agent/index.js.map +1 -1
  64. package/dist/tools/agent/list.d.ts +1 -1
  65. package/dist/tools/agent/list.d.ts.map +1 -1
  66. package/dist/tools/agent/prompt.d.ts +1 -2
  67. package/dist/tools/agent/prompt.d.ts.map +1 -1
  68. package/dist/tools/agent/prompt.js +11 -7
  69. package/dist/tools/agent/prompt.js.map +1 -1
  70. package/dist/tools/agent/report.d.ts +1 -1
  71. package/dist/tools/agent/report.d.ts.map +1 -1
  72. package/dist/tools/bash/index.d.ts +1 -3
  73. package/dist/tools/bash/index.d.ts.map +1 -1
  74. package/dist/tools/bash/index.js +0 -1
  75. package/dist/tools/bash/index.js.map +1 -1
  76. package/dist/tools/bash/list.d.ts +1 -1
  77. package/dist/tools/bash/list.d.ts.map +1 -1
  78. package/dist/tools/bash/list.js +1 -1
  79. package/dist/tools/bash/list.js.map +1 -1
  80. package/dist/tools/bash/logs.d.ts +1 -1
  81. package/dist/tools/bash/logs.d.ts.map +1 -1
  82. package/dist/tools/bash/logs.js +1 -1
  83. package/dist/tools/bash/logs.js.map +1 -1
  84. package/dist/tools/bash/run.d.ts +1 -2
  85. package/dist/tools/bash/run.d.ts.map +1 -1
  86. package/dist/tools/bash/run.js +1 -7
  87. package/dist/tools/bash/run.js.map +1 -1
  88. package/dist/tools/bash/terminate.d.ts +1 -2
  89. package/dist/tools/bash/terminate.d.ts.map +1 -1
  90. package/dist/tools/bash/terminate.js +1 -4
  91. package/dist/tools/bash/terminate.js.map +1 -1
  92. package/dist/tools/bash/wait.d.ts +1 -2
  93. package/dist/tools/bash/wait.d.ts.map +1 -1
  94. package/dist/tools/bash/wait.js +1 -7
  95. package/dist/tools/bash/wait.js.map +1 -1
  96. package/dist/tools/bash/write-input.d.ts +1 -2
  97. package/dist/tools/bash/write-input.d.ts.map +1 -1
  98. package/dist/tools/bash/write-input.js +1 -4
  99. package/dist/tools/bash/write-input.js.map +1 -1
  100. package/dist/tools/browser/click.d.ts +1 -2
  101. package/dist/tools/browser/click.d.ts.map +1 -1
  102. package/dist/tools/browser/click.js +1 -4
  103. package/dist/tools/browser/click.js.map +1 -1
  104. package/dist/tools/browser/console.d.ts +1 -1
  105. package/dist/tools/browser/console.d.ts.map +1 -1
  106. package/dist/tools/browser/create-session.d.ts +1 -2
  107. package/dist/tools/browser/create-session.d.ts.map +1 -1
  108. package/dist/tools/browser/create-session.js +1 -4
  109. package/dist/tools/browser/create-session.js.map +1 -1
  110. package/dist/tools/browser/fill.d.ts +1 -2
  111. package/dist/tools/browser/fill.d.ts.map +1 -1
  112. package/dist/tools/browser/fill.js +1 -4
  113. package/dist/tools/browser/fill.js.map +1 -1
  114. package/dist/tools/browser/get-sessions.d.ts +1 -1
  115. package/dist/tools/browser/get-sessions.d.ts.map +1 -1
  116. package/dist/tools/browser/index.d.ts +1 -3
  117. package/dist/tools/browser/index.d.ts.map +1 -1
  118. package/dist/tools/browser/index.js +0 -1
  119. package/dist/tools/browser/index.js.map +1 -1
  120. package/dist/tools/browser/inject.d.ts +1 -2
  121. package/dist/tools/browser/inject.d.ts.map +1 -1
  122. package/dist/tools/browser/inject.js +1 -4
  123. package/dist/tools/browser/inject.js.map +1 -1
  124. package/dist/tools/browser/navigate.d.ts +1 -2
  125. package/dist/tools/browser/navigate.d.ts.map +1 -1
  126. package/dist/tools/browser/navigate.js +1 -4
  127. package/dist/tools/browser/navigate.js.map +1 -1
  128. package/dist/tools/browser/network-status.d.ts +1 -1
  129. package/dist/tools/browser/network-status.d.ts.map +1 -1
  130. package/dist/tools/browser/network.d.ts +1 -1
  131. package/dist/tools/browser/network.d.ts.map +1 -1
  132. package/dist/tools/browser/read.d.ts +1 -2
  133. package/dist/tools/browser/read.d.ts.map +1 -1
  134. package/dist/tools/browser/read.js +1 -4
  135. package/dist/tools/browser/read.js.map +1 -1
  136. package/dist/tools/browser/remove-session.d.ts +1 -2
  137. package/dist/tools/browser/remove-session.d.ts.map +1 -1
  138. package/dist/tools/browser/remove-session.js +1 -4
  139. package/dist/tools/browser/remove-session.js.map +1 -1
  140. package/dist/tools/browser/screenshot.d.ts +1 -2
  141. package/dist/tools/browser/screenshot.d.ts.map +1 -1
  142. package/dist/tools/browser/screenshot.js +16 -15
  143. package/dist/tools/browser/screenshot.js.map +1 -1
  144. package/dist/tools/browser/scroll-info.d.ts +1 -1
  145. package/dist/tools/browser/scroll-info.d.ts.map +1 -1
  146. package/dist/tools/browser/scroll.d.ts +1 -2
  147. package/dist/tools/browser/scroll.d.ts.map +1 -1
  148. package/dist/tools/browser/scroll.js +1 -4
  149. package/dist/tools/browser/scroll.js.map +1 -1
  150. package/dist/tools/browser/submit-form.d.ts +1 -2
  151. package/dist/tools/browser/submit-form.d.ts.map +1 -1
  152. package/dist/tools/browser/submit-form.js +1 -4
  153. package/dist/tools/browser/submit-form.js.map +1 -1
  154. package/dist/tools/fs/create-dir.d.ts +1 -2
  155. package/dist/tools/fs/create-dir.d.ts.map +1 -1
  156. package/dist/tools/fs/create-dir.js +1 -4
  157. package/dist/tools/fs/create-dir.js.map +1 -1
  158. package/dist/tools/fs/delete.d.ts +1 -2
  159. package/dist/tools/fs/delete.d.ts.map +1 -1
  160. package/dist/tools/fs/delete.js +1 -4
  161. package/dist/tools/fs/delete.js.map +1 -1
  162. package/dist/tools/fs/edit-file.d.ts +1 -2
  163. package/dist/tools/fs/edit-file.d.ts.map +1 -1
  164. package/dist/tools/fs/edit-file.js +1 -4
  165. package/dist/tools/fs/edit-file.js.map +1 -1
  166. package/dist/tools/fs/index.d.ts +1 -3
  167. package/dist/tools/fs/index.d.ts.map +1 -1
  168. package/dist/tools/fs/index.js +0 -1
  169. package/dist/tools/fs/index.js.map +1 -1
  170. package/dist/tools/fs/list-dir.d.ts +1 -2
  171. package/dist/tools/fs/list-dir.d.ts.map +1 -1
  172. package/dist/tools/fs/list-dir.js +1 -4
  173. package/dist/tools/fs/list-dir.js.map +1 -1
  174. package/dist/tools/fs/move.d.ts +1 -2
  175. package/dist/tools/fs/move.d.ts.map +1 -1
  176. package/dist/tools/fs/move.js +1 -4
  177. package/dist/tools/fs/move.js.map +1 -1
  178. package/dist/tools/fs/read-file.d.ts +1 -2
  179. package/dist/tools/fs/read-file.d.ts.map +1 -1
  180. package/dist/tools/fs/read-file.js +1 -4
  181. package/dist/tools/fs/read-file.js.map +1 -1
  182. package/dist/tools/fs/stat.d.ts +1 -2
  183. package/dist/tools/fs/stat.d.ts.map +1 -1
  184. package/dist/tools/fs/stat.js +1 -4
  185. package/dist/tools/fs/stat.js.map +1 -1
  186. package/dist/tools/fs/write-file.d.ts +1 -2
  187. package/dist/tools/fs/write-file.d.ts.map +1 -1
  188. package/dist/tools/fs/write-file.js +1 -4
  189. package/dist/tools/fs/write-file.js.map +1 -1
  190. package/dist/tools/present/add.d.ts +1 -2
  191. package/dist/tools/present/add.d.ts.map +1 -1
  192. package/dist/tools/present/add.js +1 -4
  193. package/dist/tools/present/add.js.map +1 -1
  194. package/dist/tools/present/clear.d.ts +1 -2
  195. package/dist/tools/present/clear.d.ts.map +1 -1
  196. package/dist/tools/present/clear.js +1 -4
  197. package/dist/tools/present/clear.js.map +1 -1
  198. package/dist/tools/present/get-list.d.ts +1 -2
  199. package/dist/tools/present/get-list.d.ts.map +1 -1
  200. package/dist/tools/present/get-list.js +0 -2
  201. package/dist/tools/present/get-list.js.map +1 -1
  202. package/dist/tools/present/index.d.ts +1 -3
  203. package/dist/tools/present/index.d.ts.map +1 -1
  204. package/dist/tools/present/index.js +0 -1
  205. package/dist/tools/present/index.js.map +1 -1
  206. package/dist/tools/question-answer/index.d.ts +1 -3
  207. package/dist/tools/question-answer/index.d.ts.map +1 -1
  208. package/dist/tools/question-answer/index.js +0 -1
  209. package/dist/tools/question-answer/index.js.map +1 -1
  210. package/dist/tools/question-answer/question-answer.d.ts +1 -2
  211. package/dist/tools/question-answer/question-answer.d.ts.map +1 -1
  212. package/dist/tools/question-answer/question-answer.js +1 -4
  213. package/dist/tools/question-answer/question-answer.js.map +1 -1
  214. package/dist/tools/todo/check-task.d.ts +1 -2
  215. package/dist/tools/todo/check-task.d.ts.map +1 -1
  216. package/dist/tools/todo/check-task.js +1 -4
  217. package/dist/tools/todo/check-task.js.map +1 -1
  218. package/dist/tools/todo/create-list.d.ts +1 -2
  219. package/dist/tools/todo/create-list.d.ts.map +1 -1
  220. package/dist/tools/todo/create-list.js +1 -4
  221. package/dist/tools/todo/create-list.js.map +1 -1
  222. package/dist/tools/todo/create-task.d.ts +1 -2
  223. package/dist/tools/todo/create-task.d.ts.map +1 -1
  224. package/dist/tools/todo/create-task.js +1 -4
  225. package/dist/tools/todo/create-task.js.map +1 -1
  226. package/dist/tools/todo/get-list.d.ts +1 -1
  227. package/dist/tools/todo/get-list.d.ts.map +1 -1
  228. package/dist/tools/todo/get-list.js +1 -1
  229. package/dist/tools/todo/get-list.js.map +1 -1
  230. package/dist/tools/todo/get-lists.d.ts +1 -1
  231. package/dist/tools/todo/get-lists.d.ts.map +1 -1
  232. package/dist/tools/todo/get-lists.js +1 -1
  233. package/dist/tools/todo/get-lists.js.map +1 -1
  234. package/dist/tools/todo/index.d.ts +1 -3
  235. package/dist/tools/todo/index.d.ts.map +1 -1
  236. package/dist/tools/todo/index.js +0 -1
  237. package/dist/tools/todo/index.js.map +1 -1
  238. package/dist/tools/todo/remove-list.d.ts +1 -2
  239. package/dist/tools/todo/remove-list.d.ts.map +1 -1
  240. package/dist/tools/todo/remove-list.js +1 -4
  241. package/dist/tools/todo/remove-list.js.map +1 -1
  242. package/dist/tools/todo/remove-task.d.ts +1 -2
  243. package/dist/tools/todo/remove-task.d.ts.map +1 -1
  244. package/dist/tools/todo/remove-task.js +1 -4
  245. package/dist/tools/todo/remove-task.js.map +1 -1
  246. package/dist/tools/utils/delay.d.ts +1 -1
  247. package/dist/tools/utils/delay.d.ts.map +1 -1
  248. package/dist/tools/utils/get-current-time.d.ts +1 -1
  249. package/dist/tools/utils/get-current-time.d.ts.map +1 -1
  250. package/dist/tools/utils/index.d.ts +1 -1
  251. package/dist/tools/utils/index.d.ts.map +1 -1
  252. package/dist/tools/utils/read-image.d.ts +12 -7
  253. package/dist/tools/utils/read-image.d.ts.map +1 -1
  254. package/dist/tools/utils/read-image.js +27 -17
  255. package/dist/tools/utils/read-image.js.map +1 -1
  256. package/docs/agents.md +50 -25
  257. package/docs/api-reference.md +12 -13
  258. package/docs/getting-started.md +2 -2
  259. package/docs/mcp-architecture.md +14 -2
  260. package/docs/providers.md +114 -15
  261. package/docs/streaming.md +19 -2
  262. package/docs/tools.md +41 -8
  263. package/package.json +1 -1
@@ -9,6 +9,8 @@ const MODEL_CONTEXT_WINDOWS = {
9
9
  "deepseek-v4-pro": 1_000_000,
10
10
  };
11
11
  const DEFAULT_CONTEXT_WINDOW = 1_000_000;
12
+ /** Uniform across every DeepSeek model — see ProviderCapabilities.maxOutputTokens. */
13
+ const MAX_OUTPUT_TOKENS = 384_000;
12
14
  // DeepSeek's reasoning models accept `reasoning_effort` as one of these
13
15
  // four levels (OpenAI-compatible param, not in the `openai` SDK's types).
14
16
  const DEEPSEEK_THINK_LEVELS = ["none", "low", "high", "max"];
@@ -68,6 +70,8 @@ export class DeepSeekProvider extends AIProvider {
68
70
  #contextWindow;
69
71
  /** Universal 0-1 thinking effort — see src/core/think-effort.ts. Mapped onto DEEPSEEK_THINK_LEVELS in #chat. */
70
72
  #thinkEffort;
73
+ /** Opaque end-user identifier forwarded as `user_id` on every request — see docs/providers.md#user-tracking. */
74
+ #userId;
71
75
  constructor(apiKey, model = "deepseek-v4-flash", options = {}) {
72
76
  super();
73
77
  this.#client = new OpenAI({
@@ -79,16 +83,43 @@ export class DeepSeekProvider extends AIProvider {
79
83
  this.#supportsImages = options.supportsImages ?? IMAGE_MODELS.has(model);
80
84
  this.#contextWindow = options.contextWindow ?? MODEL_CONTEXT_WINDOWS[model] ?? DEFAULT_CONTEXT_WINDOW;
81
85
  this.#thinkEffort = options.thinkEffort;
86
+ this.#userId = options.userId;
82
87
  }
83
88
  getCapabilities() {
84
89
  return {
85
90
  supportsTools: this.#supportsTools,
86
91
  supportsImages: this.#supportsImages,
87
92
  contextWindow: this.#contextWindow,
88
- safeUsageRatio: 0.5,
93
+ safeUsageRatio: 0.7,
89
94
  supportsThinking: true,
95
+ maxOutputTokens: MAX_OUTPUT_TOKENS,
96
+ supportsVideo: false,
97
+ supportsAudio: false,
98
+ supportsImageGeneration: false,
99
+ supportsImageEditing: false,
100
+ supportsVideoGeneration: false,
101
+ supportsVideoEditing: false,
102
+ supportsAudioGeneration: false,
103
+ supportsAudioDesign: false,
104
+ supportsAudioClone: false,
105
+ supports3DModelGeneration: false,
90
106
  };
91
107
  }
108
+ /** Settable without reconstructing this provider: `thinkEffort`, `userId`, `supportsTools` — read fresh from the corresponding private field on every `chat()` call. */
109
+ setOption(key, value) {
110
+ switch (key) {
111
+ case "thinkEffort":
112
+ this.#thinkEffort = value;
113
+ return;
114
+ case "userId":
115
+ this.#userId = value;
116
+ return;
117
+ case "supportsTools":
118
+ this.#supportsTools = value;
119
+ return;
120
+ default: throw new Error(`DeepSeekProvider does not support setting option "${key}"`);
121
+ }
122
+ }
92
123
  async chat(messages, streamCallback, tools, signal) {
93
124
  const formattedMessages = toOpenAIMessages(messages);
94
125
  const formattedTools = tools && tools.length > 0 && this.#supportsTools
@@ -96,6 +127,7 @@ export class DeepSeekProvider extends AIProvider {
96
127
  : undefined;
97
128
  const thinkLevel = resolveThinkEffortLevel(this.#thinkEffort, DEEPSEEK_THINK_LEVELS);
98
129
  const thinkParam = thinkLevel !== undefined ? { reasoning_effort: thinkLevel } : {};
130
+ const userParam = this.#userId ? { metadata: { user_id: this.#userId } } : {};
99
131
  if (streamCallback) {
100
132
  return withRetry(async () => {
101
133
  // Per-attempt accumulators live inside this closure so a
@@ -106,12 +138,15 @@ export class DeepSeekProvider extends AIProvider {
106
138
  messages: formattedMessages,
107
139
  ...(formattedTools ? { tools: formattedTools } : {}),
108
140
  ...thinkParam,
109
- stream: true
141
+ ...userParam,
142
+ stream: true,
143
+ stream_options: { include_usage: true },
110
144
  }, { signal });
145
+ let inputMissTokens = 0;
146
+ let inputCacheTokens = 0;
147
+ let outputTokens = 0;
111
148
  let fullContent = "";
112
149
  let fullThinking = "";
113
- let inputTokens = 0;
114
- let outputTokens = 0;
115
150
  const toolCallChunks = {};
116
151
  // See the identical comment in openai-provider.ts: DeepSeek's
117
152
  // Chat-Completions-compatible stream has no explicit
@@ -135,7 +170,7 @@ export class DeepSeekProvider extends AIProvider {
135
170
  }
136
171
  const finished = { id: tc.id || "", name: tc.name || "", inputs };
137
172
  finalizedToolCalls.push(finished);
138
- await streamCallback({ role: "assistant", content: "", done: false, toolCalls: [finished] });
173
+ await streamCallback({ role: "assistant", content: "", done: false, toolCalls: [finished], usage: { inputMissTokens: 0, inputCacheTokens: 0, outputTokens: 0 } });
139
174
  };
140
175
  try {
141
176
  for await (const chunk of stream) {
@@ -143,14 +178,14 @@ export class DeepSeekProvider extends AIProvider {
143
178
  const content = delta?.content || "";
144
179
  if (content) {
145
180
  fullContent += content;
146
- await streamCallback({ role: "assistant", content, done: false });
181
+ await streamCallback({ role: "assistant", content, done: false, usage: { inputMissTokens: 0, inputCacheTokens: 0, outputTokens: 0 } });
147
182
  }
148
183
  // DeepSeek's reasoner models stream reasoning text on
149
184
  // `delta.reasoning_content`, separately from `content`.
150
185
  const reasoning = delta?.reasoning_content || "";
151
186
  if (reasoning) {
152
187
  fullThinking += reasoning;
153
- await streamCallback({ role: "assistant", content: "", done: false, thinking: reasoning });
188
+ await streamCallback({ role: "assistant", content: "", done: false, thinking: reasoning, usage: { inputMissTokens: 0, inputCacheTokens: 0, outputTokens: 0 } });
154
189
  }
155
190
  if (delta?.tool_calls) {
156
191
  for (const tc of delta.tool_calls) {
@@ -170,8 +205,11 @@ export class DeepSeekProvider extends AIProvider {
170
205
  }
171
206
  }
172
207
  if (chunk.usage) {
173
- inputTokens = chunk.usage.prompt_tokens || 0;
174
- outputTokens = chunk.usage.completion_tokens || 0;
208
+ const usage = chunk.usage;
209
+ const cachedTokens = usage.prompt_tokens_details?.cached_tokens ?? 0;
210
+ inputCacheTokens = usage.prompt_cache_hit_tokens ?? cachedTokens;
211
+ inputMissTokens = usage.prompt_cache_miss_tokens ?? ((usage.prompt_tokens || 0) - inputCacheTokens);
212
+ outputTokens = usage.completion_tokens || 0;
175
213
  }
176
214
  }
177
215
  }
@@ -184,10 +222,14 @@ export class DeepSeekProvider extends AIProvider {
184
222
  await finalizeAndEmit(activeIndex);
185
223
  }
186
224
  const toolCalls = finalizedToolCalls.length > 0 ? finalizedToolCalls : undefined;
187
- await streamCallback({ role: "assistant", content: "", done: true });
225
+ await streamCallback({
226
+ role: "assistant", content: "", done: true,
227
+ usage: { inputMissTokens, inputCacheTokens, outputTokens },
228
+ });
188
229
  return {
189
230
  content: fullContent,
190
- inputTokens,
231
+ inputMissTokens,
232
+ inputCacheTokens,
191
233
  outputTokens,
192
234
  ...(toolCalls ? { toolCalls } : {}),
193
235
  ...(fullThinking ? { thinking: fullThinking } : {}),
@@ -201,11 +243,16 @@ export class DeepSeekProvider extends AIProvider {
201
243
  messages: formattedMessages,
202
244
  ...(formattedTools ? { tools: formattedTools } : {}),
203
245
  ...thinkParam,
246
+ ...userParam,
204
247
  }, { signal });
205
248
  const message = response.choices[0]?.message;
249
+ const usage = response.usage;
250
+ const inputCacheTokens = usage?.prompt_cache_hit_tokens ?? 0;
251
+ const inputMissTokens = usage?.prompt_cache_miss_tokens ?? ((usage?.prompt_tokens || 0) - inputCacheTokens);
206
252
  return {
207
253
  content: message?.content || "",
208
- inputTokens: response.usage?.prompt_tokens || 0,
254
+ inputMissTokens,
255
+ inputCacheTokens,
209
256
  outputTokens: response.usage?.completion_tokens || 0,
210
257
  ...(fromOpenAIToolCalls(message?.tool_calls) ? { toolCalls: fromOpenAIToolCalls(message?.tool_calls) } : {}),
211
258
  ...(message?.reasoning_content ? { thinking: message.reasoning_content } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"deepseek-provider.js","sourceRoot":"","sources":["../../src/core/deepseek-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deepseek-provider.js","sourceRoot":"","sources":["../../src/core/deepseek-provider.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,19 @@ import { MCP } from "./mcp.js";
4
4
  import MCPRNG from "./mcp-rng.js";
5
5
  import type MCPStorage from "./mcp-storage.js";
6
6
  import MCPFilter from "./mcp-filter.js";
7
+ import type { ProviderType } from "./ai-provider.js";
8
+ type ExecuteProviderHandler = (toolCallId: string, type: ProviderType, input: Record<string, any>) => Promise<{
9
+ output: Record<string, any>;
10
+ }>;
7
11
  export declare class MCPClient extends MCP {
8
12
  #private;
9
13
  constructor(envID: string, connection: MCPConnection | MCPConnection[], storage?: MCPStorage, rng?: MCPRNG, mcpFilter?: MCPFilter);
10
14
  getStorage(): MCPStorage;
11
15
  getRNG(): MCPRNG;
16
+ setExecuteProviderHandler(handler: ExecuteProviderHandler): void;
17
+ executeProvider(toolCallId: string, type: ProviderType, input: Record<string, any>): Promise<{
18
+ output: Record<string, any>;
19
+ }>;
12
20
  getTools(): Promise<{
13
21
  name: string;
14
22
  description: string;
@@ -20,8 +28,8 @@ export declare class MCPClient extends MCP {
20
28
  default?: any;
21
29
  }[];
22
30
  }[]>;
23
- callTool(toolName: string, inputs: Record<string, any>): Promise<any>;
24
- registerTool(tool: MCPTool<any>): void;
31
+ callTool(toolName: string, inputs: Record<string, any>, toolCallId?: string): Promise<any>;
32
+ registerTool(tool: MCPTool): void;
25
33
  }
26
34
  export default MCPClient;
27
35
  //# sourceMappingURL=mcp-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/core/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,GAAG,EAAuB,MAAM,UAAU,CAAC;AACpD,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAExC,qBAAa,SAAU,SAAQ,GAAG;;gBAOlB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,GAAG,aAAa,EAAE,EAAE,OAAO,GAAE,UAA+B,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IAgBrJ,UAAU,IAAI,UAAU;IAIxB,MAAM,IAAI,MAAM;IAIV,QAAQ;cAGI,MAAM;qBACC,MAAM;gBACX;YACJ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC3D,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,GAAG,CAAC;SACjB,EAAE;;IAwCT,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAmC5D,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;CAIlC;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/core/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,GAAG,EAAuB,MAAM,UAAU,CAAC;AACpD,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,KAAK,sBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAAC,CAAC;AAE/I,qBAAa,SAAU,SAAQ,GAAG;;gBASlB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,GAAG,aAAa,EAAE,EAAE,OAAO,GAAE,UAA+B,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IA4BrJ,UAAU,IAAI,UAAU;IAIxB,MAAM,IAAI,MAAM;IAIhB,yBAAyB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAIhE,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IAOvH,QAAQ;cAGI,MAAM;qBACC,MAAM;gBACX;YACJ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC3D,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,GAAG,CAAC;SACjB,EAAE;;IAwCT,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM;IAoCjF,YAAY,CAAC,IAAI,EAAE,OAAO;CAI7B;AAED,eAAe,SAAS,CAAC"}
@@ -10,6 +10,7 @@ export class MCPClient extends MCP {
10
10
  #mcpFilter;
11
11
  #tools = [];
12
12
  #envID;
13
+ #executeProviderHandler;
13
14
  constructor(envID, connection, storage = new MCPFSStorage(), rng, mcpFilter) {
14
15
  super();
15
16
  this.#storage = storage;
@@ -17,13 +18,26 @@ export class MCPClient extends MCP {
17
18
  rng = new MCPRNG(storage);
18
19
  if (!mcpFilter)
19
20
  mcpFilter = new MCPFilter([
20
- // /\b(?:10\.|172\.(?:1[6-9]|2\d|3[01])\.|192\.168\.)\d{1,3}\.\d{1,3}\b/g // Prevent any local ip leakage by default you can pass empty MCPFilter to disable it
21
+ // /\b(?:10\.|172\.(?:1[6-9]|2\d|3[01])\.|192\.168\.)\d{1,3}\.\d{1,3}\b/g // Prevent any local ip leakage by default you can pass empty MCPFilter to disable it
21
22
  // we add some default security roles after this feature become stable
22
23
  ]);
23
24
  this.#mcpFilter = mcpFilter;
24
25
  this.#rng = rng;
25
26
  this.#connections = Array.isArray(connection) ? connection : [connection];
26
27
  this.#envID = envID;
28
+ for (const conn of this.#connections) {
29
+ conn.on("client_read", async (data) => {
30
+ if (data.topic !== "executeProvider")
31
+ return;
32
+ try {
33
+ const result = await this.executeProvider(data.toolCallId, data.type, data.input);
34
+ conn.emit("write_to_server", { pid: data.pid, topic: "executeProviderResponse", output: result.output });
35
+ }
36
+ catch (err) {
37
+ conn.emit("write_to_server", { pid: data.pid, topic: "executeProviderResponse", error: err?.message ?? String(err) });
38
+ }
39
+ });
40
+ }
27
41
  }
28
42
  getStorage() {
29
43
  return this.#storage;
@@ -31,6 +45,15 @@ export class MCPClient extends MCP {
31
45
  getRNG() {
32
46
  return this.#rng;
33
47
  }
48
+ setExecuteProviderHandler(handler) {
49
+ this.#executeProviderHandler = handler;
50
+ }
51
+ executeProvider(toolCallId, type, input) {
52
+ if (!this.#executeProviderHandler) {
53
+ throw new Error("MCPClient.executeProvider: no provider-resolving agent is attached to this client.");
54
+ }
55
+ return this.#executeProviderHandler(toolCallId, type, input);
56
+ }
34
57
  async getTools() {
35
58
  const connectionPromises = this.#connections.map(conn => {
36
59
  return new Promise((resolve) => {
@@ -66,10 +89,10 @@ export class MCPClient extends MCP {
66
89
  const clientToolNames = new Set(clientTools.map(ct => ct.name));
67
90
  return [...clientTools, ...connectionsTools.filter(t => !clientToolNames.has(t.name))];
68
91
  }
69
- async callTool(toolName, inputs) {
92
+ async callTool(toolName, inputs, toolCallId) {
70
93
  const clientTool = this.#tools.find(t => t.getOptions().name == toolName);
71
94
  if (clientTool) {
72
- const raw = await clientTool.getOptions().execute(this.#envID, inputs, clientTool.getMCP(), clientTool.getOptions().customClass);
95
+ const raw = await clientTool.getOptions().execute(this.#envID, inputs, toolCallId, clientTool.getMCP());
73
96
  return this.#mcpFilter.filter(normalizeToolOutput(raw));
74
97
  }
75
98
  else {
@@ -92,7 +115,8 @@ export class MCPClient extends MCP {
92
115
  topic: "toolCall",
93
116
  tool: toolName,
94
117
  envID: this.#envID,
95
- inputs
118
+ inputs,
119
+ toolCallId
96
120
  });
97
121
  });
98
122
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/core/mcp-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAExC,MAAM,OAAO,SAAU,SAAQ,GAAG;IAC9B,YAAY,CAAC;IACb,QAAQ,CAAC;IACT,IAAI,CAAC;IACL,UAAU,CAAC;IACX,MAAM,GAAmB,EAAE,CAAC;IAC5B,MAAM,CAAC;IACP,YAAY,KAAa,EAAE,UAA2C,EAAE,UAAsB,IAAI,YAAY,EAAE,EAAE,GAAY,EAAE,SAAqB;QACjJ,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG;YACJ,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS;YACV,SAAS,GAAG,IAAI,SAAS,CAAC;YACtB,gKAAgK;YAChK,sEAAsE;aACzE,CAAC,CAAC;QACP,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpD,OAAO,IAAI,OAAO,CAUb,CAAC,OAAO,EAAE,EAAE;gBACb,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;gBACzB,IAAI,QAAQ,GAAG,KAAK,CAAC;gBAErB,MAAM,MAAM,GAAG,CAAC,IAAS,EAAE,EAAE;oBACzB,IAAI,IAAI,CAAC,KAAK,KAAK,kBAAkB,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;wBACxD,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;wBAChC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;oBAC9B,CAAC;gBACL,CAAC,CAAC;gBAEF,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBACzB,GAAG;oBACH,KAAK,EAAE,UAAU;iBACpB,CAAC,CAAC;gBAEH,UAAU,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACZ,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;wBAChC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAChB,CAAC;gBACL,CAAC,EAAE,IAAI,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEtD,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI;YACzB,WAAW,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,WAAW;YACvC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,MAAM;SAChC,CAAC,CAAC,CAAC;QACJ,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,MAA2B;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;QAC1E,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC;YACjI,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,EAAE;gBAC3C,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACzB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;oBAEzB,MAAM,MAAM,GAAG,CAAC,IAAS,EAAE,EAAE;wBACzB,IAAI,IAAI,CAAC,KAAK,KAAK,kBAAkB,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;4BACxD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;4BAChC,IAAI,CAAC,cAAc,EAAE,CAAC;gCAClB,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gCAC3B,cAAc,GAAG,IAAI,CAAC;4BAC1B,CAAC;wBACL,CAAC;oBACL,CAAC,CAAC;oBAEF,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;oBAC/B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;wBACzB,GAAG;wBACH,KAAK,EAAE,UAAU;wBACjB,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,IAAI,CAAC,MAAM;wBAClB,MAAM;qBACT,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED,YAAY,CAAC,IAAkB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACJ;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/core/mcp-client.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,16 @@ import { MCP, type MCPTool } from "./mcp.js";
2
2
  import type MCPConnection from "./mcp-connection.js";
3
3
  import type MCPStorage from "./mcp-storage.js";
4
4
  import MCPRNG from "./mcp-rng.js";
5
+ import type { ProviderType } from "./ai-provider.js";
5
6
  export declare class MCPServer extends MCP {
6
7
  #private;
7
8
  constructor(connection: MCPConnection, storage?: MCPStorage, rng?: MCPRNG);
8
9
  getStorage(): MCPStorage;
9
10
  getRNG(): MCPRNG;
10
- registerTool(tool: MCPTool<any>): void;
11
+ executeProvider(toolCallId: string, type: ProviderType, input: Record<string, any>): Promise<{
12
+ output: Record<string, any>;
13
+ }>;
14
+ registerTool(tool: MCPTool): void;
11
15
  }
12
16
  export default MCPServer;
13
17
  //# sourceMappingURL=mcp-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,qBAAa,SAAU,SAAQ,GAAG;;gBAKlB,UAAU,EAAE,aAAa,EAAE,OAAO,GAAE,UAA+B,EAAE,GAAG,CAAC,EAAE,MAAM;IA0C7F,UAAU;IAIV,MAAM;IAIN,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;CAIlC;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,qBAAa,SAAU,SAAQ,GAAG;;gBAKlB,UAAU,EAAE,aAAa,EAAE,OAAO,GAAE,UAA+B,EAAE,GAAG,CAAC,EAAE,MAAM;IA0C7F,UAAU;IAIV,MAAM;IAIN,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IA4B7H,YAAY,CAAC,IAAI,EAAE,OAAO;CAI7B;AAED,eAAe,SAAS,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { MCP } from "./mcp.js";
2
2
  import MCPFSStorage from "./mcp-fs-storage.js";
3
3
  import MCPRNG from "./mcp-rng.js";
4
+ import { randomUUID } from "crypto";
5
+ const EXECUTE_PROVIDER_TIMEOUT_MS = 120000;
4
6
  export class MCPServer extends MCP {
5
7
  #connection;
6
8
  #storage;
@@ -30,7 +32,7 @@ export class MCPServer extends MCP {
30
32
  if (topic == "toolCall") {
31
33
  const tool = this.#tools.find(t => t.getOptions().name == data.tool);
32
34
  if (tool) {
33
- tool.getOptions().execute(data.envID, data.inputs, tool.getMCP(), tool.getOptions().customClass).then((response) => {
35
+ tool.getOptions().execute(data.envID, data.inputs, data.toolCallId, tool.getMCP()).then((response) => {
34
36
  this.#connection.emit("write_to_client", {
35
37
  pid,
36
38
  topic: "toolCallCallback",
@@ -53,6 +55,34 @@ export class MCPServer extends MCP {
53
55
  getRNG() {
54
56
  return this.#rng;
55
57
  }
58
+ executeProvider(toolCallId, type, input) {
59
+ return new Promise((resolve, reject) => {
60
+ const pid = randomUUID();
61
+ let settled = false;
62
+ const onRead = (data) => {
63
+ if (data.topic === "executeProviderResponse" && data.pid === pid) {
64
+ this.#connection.off("server_read", onRead);
65
+ if (settled)
66
+ return;
67
+ settled = true;
68
+ clearTimeout(timer);
69
+ if (data.error)
70
+ reject(new Error(data.error));
71
+ else
72
+ resolve({ output: data.output ?? {} });
73
+ }
74
+ };
75
+ const timer = setTimeout(() => {
76
+ if (settled)
77
+ return;
78
+ settled = true;
79
+ this.#connection.off("server_read", onRead);
80
+ reject(new Error(`MCPServer.executeProvider: no response for type "${type}" within ${EXECUTE_PROVIDER_TIMEOUT_MS}ms.`));
81
+ }, EXECUTE_PROVIDER_TIMEOUT_MS);
82
+ this.#connection.on("server_read", onRead);
83
+ this.#connection.emit("write_to_client", { pid, topic: "executeProvider", toolCallId, type, input });
84
+ });
85
+ }
56
86
  registerTool(tool) {
57
87
  tool.setMCP(this);
58
88
  this.#tools.push(tool);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAgB,MAAM,UAAU,CAAC;AAG7C,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,MAAM,OAAO,SAAU,SAAQ,GAAG;IAC9B,WAAW,CAAC;IACZ,QAAQ,CAAC;IACT,IAAI,CAAC;IACL,MAAM,GAAmB,EAAE,CAAC;IAC5B,YAAY,UAAyB,EAAE,UAAsB,IAAI,YAAY,EAAE,EAAE,GAAY;QACzF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG;YACJ,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,IAAS,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBACrC,GAAG;oBACH,KAAK,EAAE,kBAAkB;oBACzB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC5B,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI;wBAC5B,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW;wBAC1C,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM;qBACnC,CAAC,CAAC;iBACN,CAAC,CAAC;YACP,CAAC;YACD,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,IAAI,EAAE,CAAC;oBACP,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;wBAC/G,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE;4BACrC,GAAG;4BACH,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,QAAQ;yBACnB,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wBACb,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE;4BACrC,GAAG;4BACH,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;yBACnC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,IAAkB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACJ;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,20 @@
1
- import EventEmitter from "events";
2
1
  import type MCPRNG from "./mcp-rng.js";
3
2
  import type MCPStorage from "./mcp-storage.js";
4
- export type MCPToolOutput = {
5
- type: "text";
3
+ import type { ProviderType } from "./ai-provider.js";
4
+ export interface MCPToolOutput {
6
5
  output: Record<string, any>;
7
- } | {
8
- type: "image";
9
- output: {
10
- image: string;
11
- mimeType?: string;
12
- [key: string]: any;
13
- };
14
- };
15
- export declare function normalizeToolOutput(raw: any): MCPToolOutput;
16
- export declare abstract class MCPCustomClass {
17
- #private;
18
- setMCP(mcp: MCP): void;
19
- getMCP(): MCP | undefined;
20
- /** Subscribe to / emit interaction events from this tool (e.g. "status", "progress"). */
21
- getEvents(): EventEmitter;
22
6
  }
7
+ export declare function normalizeToolOutput(raw: any): MCPToolOutput;
23
8
  export declare abstract class MCP {
24
9
  abstract getStorage(): MCPStorage;
25
10
  abstract getRNG(): MCPRNG;
11
+ abstract executeProvider(toolCallId: string, type: ProviderType, input: Record<string, any>): Promise<{
12
+ output: Record<string, any>;
13
+ }>;
26
14
  }
27
15
  /** Convenience helper: get a fresh, guaranteed-unique hex id from an MCP instance's RNG. */
28
16
  export declare function generateRefId(mcp?: MCP): Promise<string>;
29
- export declare class MCPTool<T extends MCPCustomClass | undefined = undefined> {
17
+ export declare class MCPTool {
30
18
  #private;
31
19
  constructor(options: {
32
20
  name: string;
@@ -39,8 +27,7 @@ export declare class MCPTool<T extends MCPCustomClass | undefined = undefined> {
39
27
  default?: any;
40
28
  }[];
41
29
  stopIterationAfterUsingThisTool?: boolean;
42
- customClass?: T;
43
- execute: (envID: string, inputs: Record<string, any>, mcp?: MCP, customClass?: T) => Promise<any>;
30
+ execute: (envID: string, inputs: Record<string, any>, toolCallId?: string, mcp?: MCP) => Promise<any>;
44
31
  });
45
32
  setMCP(mcp: MCP): void;
46
33
  getMCP(): MCP | undefined;
@@ -55,8 +42,7 @@ export declare class MCPTool<T extends MCPCustomClass | undefined = undefined> {
55
42
  default?: any;
56
43
  }[];
57
44
  stopIterationAfterUsingThisTool: boolean;
58
- customClass?: T;
59
- execute: (envID: string, inputs: Record<string, any>, mcp?: MCP, customClass?: T) => Promise<any>;
45
+ execute: (envID: string, inputs: Record<string, any>, toolCallId?: string, mcp?: MCP) => Promise<any>;
60
46
  };
61
47
  }
62
48
  export default MCPTool;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/core/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAG/C,MAAM,MAAM,aAAa,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CAAE,CAAC;AAEzF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAW3D;AAGD,8BAAsB,cAAc;;IAIhC,MAAM,CAAC,GAAG,EAAE,GAAG;IAIf,MAAM;IAIN,yFAAyF;IACzF,SAAS,IAAI,YAAY;CAG5B;AAED,8BAAsB,GAAG;IACrB,QAAQ,CAAC,UAAU,IAAI,UAAU;IACjC,QAAQ,CAAC,MAAM,IAAI,MAAM;CAC5B;AAED,4FAA4F;AAC5F,wBAAsB,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9D;AAED,qBAAa,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,SAAS,GAAG,SAAS;;gBAIrD,OAAO,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE;YACJ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC3D,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,GAAG,CAAC;SACjB,EAAE,CAAC;QACJ,+BAA+B,CAAC,EAAE,OAAO,CAAA;QACzC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,EAAE,CACL,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,GAAG,CAAC,EAAE,GAAG,EACT,WAAW,CAAC,EAAE,CAAC,KACd,OAAO,CAAC,GAAG,CAAC,CAAC;KACrB;IAID,MAAM,CAAC,GAAG,EAAE,GAAG;IAKf,MAAM;IAIN,UAAU;cA9BA,MAAM;qBACC,MAAM;gBACX;YACJ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC3D,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,GAAG,CAAC;SACjB,EAAE;yCAC+B,OAAO;sBAC3B,CAAC;iBACN,CACL,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,GAAG,CAAC,EAAE,GAAG,EACT,WAAW,CAAC,EAAE,CAAC,KACd,OAAO,CAAC,GAAG,CAAC;;CAiBxB;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/core/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAE3D;AAGD,8BAAsB,GAAG;IACrB,QAAQ,CAAC,UAAU,IAAI,UAAU;IACjC,QAAQ,CAAC,MAAM,IAAI,MAAM;IACzB,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;CACzI;AAED,4FAA4F;AAC5F,wBAAsB,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9D;AAED,qBAAa,OAAO;;gBAIJ,OAAO,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE;YACJ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC3D,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,GAAG,CAAC;SACjB,EAAE,CAAC;QACJ,+BAA+B,CAAC,EAAE,OAAO,CAAA;QACzC,OAAO,EAAE,CACL,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,GAAG,KACR,OAAO,CAAC,GAAG,CAAC,CAAC;KACrB;IAID,MAAM,CAAC,GAAG,EAAE,GAAG;IAIf,MAAM;IAIN,UAAU;cA5BA,MAAM;qBACC,MAAM;gBACX;YACJ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC3D,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,GAAG,CAAC;SACjB,EAAE;yCAC+B,OAAO;iBAChC,CACL,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,GAAG,KACR,OAAO,CAAC,GAAG,CAAC;;CAgBxB;AAED,eAAe,OAAO,CAAC"}
package/dist/core/mcp.js CHANGED
@@ -1,27 +1,5 @@
1
- import EventEmitter from "events";
2
1
  export function normalizeToolOutput(raw) {
3
- if (raw &&
4
- typeof raw === "object" &&
5
- (raw.type === "text" || raw.type === "image") &&
6
- raw.output &&
7
- typeof raw.output === "object") {
8
- return raw;
9
- }
10
- return { type: "text", output: raw ?? {} };
11
- }
12
- export class MCPCustomClass {
13
- #mcp;
14
- #events = new EventEmitter();
15
- setMCP(mcp) {
16
- this.#mcp = mcp;
17
- }
18
- getMCP() {
19
- return this.#mcp;
20
- }
21
- /** Subscribe to / emit interaction events from this tool (e.g. "status", "progress"). */
22
- getEvents() {
23
- return this.#events;
24
- }
2
+ return { output: raw ?? {} };
25
3
  }
26
4
  export class MCP {
27
5
  }
@@ -39,7 +17,6 @@ export class MCPTool {
39
17
  }
40
18
  setMCP(mcp) {
41
19
  this.#mcp = mcp;
42
- this.#options.customClass?.setMCP(mcp);
43
20
  }
44
21
  getMCP() {
45
22
  return this.#mcp;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/core/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AASlC,MAAM,UAAU,mBAAmB,CAAC,GAAQ;IACxC,IACI,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;QACvB,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;QAC7C,GAAG,CAAC,MAAM;QACV,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAChC,CAAC;QACC,OAAO,GAAoB,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;AAC/C,CAAC;AAGD,MAAM,OAAgB,cAAc;IAChC,IAAI,CAAkB;IACtB,OAAO,GAAiB,IAAI,YAAY,EAAE,CAAC;IAE3C,MAAM,CAAC,GAAQ;QACX,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACpB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,yFAAyF;IACzF,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AAED,MAAM,OAAgB,GAAG;CAGxB;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAS;IACzC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAChE,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,OAAO,OAAO;IAChB,QAAQ,CAAC;IACT,IAAI,CAAkB;IAEtB,YAAY,OAkBX;QACG,IAAI,CAAC,QAAQ,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,GAAQ;QACX,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/core/mcp.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,mBAAmB,CAAC,GAAQ;IACxC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;AACjC,CAAC;AAGD,MAAM,OAAgB,GAAG;CAIxB;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAS;IACzC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAChE,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,OAAO,OAAO;IAChB,QAAQ,CAAC;IACT,IAAI,CAAkB;IAEtB,YAAY,OAiBX;QACG,IAAI,CAAC,QAAQ,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,GAAQ;QACX,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACpB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAED,eAAe,OAAO,CAAC"}
@@ -6,8 +6,11 @@ export declare class OllamaProvider extends AIProvider {
6
6
  supportsTools?: boolean;
7
7
  contextWindow?: number;
8
8
  thinkEffort?: number;
9
+ userId?: string;
9
10
  });
10
11
  getCapabilities(): ProviderCapabilities;
12
+ /** Settable without reconstructing this provider: `thinkEffort`, `supportsTools` — read fresh from the corresponding private field on every `chat()` call. */
13
+ setOption(key: string, value: unknown): void;
11
14
  chat(messages: Message[], streamCallback?: StreamCallback, tools?: ToolSchema[], signal?: AbortSignal): Promise<ChatResponse>;
12
15
  }
13
16
  export default OllamaProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"ollama-provider.d.ts","sourceRoot":"","sources":["../../src/core/ollama-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAmB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACjI,OAAO,UAAU,MAAM,kBAAkB,CAAC;AA+D1C,qBAAa,cAAe,SAAQ,UAAU;;gBAa9B,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAiC,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;IAS3J,eAAe,IAAI,oBAAoB;IAUjC,IAAI,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,CAAC,EAAE,cAAc,EAC/B,KAAK,CAAC,EAAE,UAAU,EAAE,EACpB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,YAAY,CAAC;CAkH3B;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ollama-provider.d.ts","sourceRoot":"","sources":["../../src/core/ollama-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAmB,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACjI,OAAO,UAAU,MAAM,kBAAkB,CAAC;AA+D1C,qBAAa,cAAe,SAAQ,UAAU;;gBAa9B,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAiC,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAS5K,eAAe,IAAI,oBAAoB;IAoBvC,8JAA8J;IAC9J,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAQtC,IAAI,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,CAAC,EAAE,cAAc,EAC/B,KAAK,CAAC,EAAE,UAAU,EAAE,EACpB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,YAAY,CAAC;CAoH3B;AAED,eAAe,cAAc,CAAC"}