openfox 2.0.0-beta.13 → 2.0.0-beta.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.
@@ -8,8 +8,8 @@ import {
8
8
  } from "./chunk-OKLV3ZNN.js";
9
9
  import {
10
10
  runChatTurn
11
- } from "./chunk-DBDMMSCM.js";
12
- import "./chunk-5RP2ZU2G.js";
11
+ } from "./chunk-D2QILH47.js";
12
+ import "./chunk-W52UQCER.js";
13
13
  import "./chunk-DL6ZILAF.js";
14
14
  import "./chunk-PBGOZMVY.js";
15
15
  import "./chunk-VRGRAQDG.js";
@@ -161,4 +161,4 @@ export {
161
161
  startChatSession,
162
162
  stopSessionExecution
163
163
  };
164
- //# sourceMappingURL=chat-handler-DKX2XFHA.js.map
164
+ //# sourceMappingURL=chat-handler-7QLHIQOM.js.map
@@ -39,6 +39,9 @@ var LLMError = class extends OpenFoxError {
39
39
  };
40
40
 
41
41
  // src/server/llm/client.ts
42
+ import { Agent, setGlobalDispatcher } from "undici";
43
+ var agent = new Agent({ allowH2: true });
44
+ setGlobalDispatcher(agent);
42
45
  function createLLMClient(config, initialBackend = "unknown") {
43
46
  const baseURL = ensureVersionPrefix(config.llm.baseUrl);
44
47
  const openai = new OpenAI({
@@ -130,15 +133,15 @@ function createLLMClient(config, initialBackend = "unknown") {
130
133
  }
131
134
  },
132
135
  async *stream(request) {
136
+ const resolvedEffort = request.reasoningEffort ?? reasoningEffort;
133
137
  logger.debug("LLM stream request", {
134
138
  messageCount: request.messages.length,
135
139
  hasTools: !!request.tools?.length,
136
140
  profile: profile.name,
137
- reasoningEffort: request.reasoningEffort ?? reasoningEffort,
141
+ reasoningEffort: resolvedEffort,
138
142
  idleTimeout
139
143
  });
140
144
  try {
141
- const resolvedEffort = request.reasoningEffort ?? reasoningEffort;
142
145
  const createParams = await buildStreamingCreateParams({
143
146
  model,
144
147
  request,
@@ -375,4 +378,4 @@ export {
375
378
  getLlmStatus,
376
379
  clearModelCache
377
380
  };
378
- //# sourceMappingURL=chunk-SW7MQGY3.js.map
381
+ //# sourceMappingURL=chunk-4F3C6X4M.js.map
@@ -2,7 +2,7 @@ import {
2
2
  clearModelCache,
3
3
  createLLMClient,
4
4
  detectModel
5
- } from "./chunk-SW7MQGY3.js";
5
+ } from "./chunk-4F3C6X4M.js";
6
6
  import {
7
7
  buildModelsUrl,
8
8
  detectBackend,
@@ -250,11 +250,16 @@ function createProviderManager(config) {
250
250
  const providerConfig = createConfigForProvider(provider, targetModel);
251
251
  const newClient = createLLMClient(providerConfig);
252
252
  try {
253
- const url = stripVersionPrefix(provider.url);
254
- clearModelCache(url);
253
+ const cacheUrl = stripVersionPrefix(provider.url);
254
+ clearModelCache(cacheUrl);
255
255
  const backend = provider.backend;
256
- logger.info("activateProvider fetching models", { providerId, providerName: provider.name, url, backend });
257
- const modelsWithContext = await fetchModelsWithContext(url, provider.apiKey, backend);
256
+ logger.info("activateProvider fetching models", {
257
+ providerId,
258
+ providerName: provider.name,
259
+ url: provider.url,
260
+ backend
261
+ });
262
+ const modelsWithContext = await fetchModelsWithContext(provider.url, provider.apiKey, backend);
258
263
  const userModels = provider.models.filter((m) => m.source === "user");
259
264
  logger.debug("activateProvider", {
260
265
  providerId,
@@ -272,13 +277,13 @@ function createProviderManager(config) {
272
277
  providers = providers.map((p) => p.id === providerId ? { ...p, models: userModels } : p);
273
278
  }
274
279
  if (provider.backend === "auto") {
275
- const detected = await detectBackend(url);
280
+ const detected = await detectBackend(provider.url);
276
281
  newClient.setBackend(detected);
277
282
  } else {
278
283
  newClient.setBackend(provider.backend);
279
284
  }
280
285
  if (targetModel === "auto") {
281
- const detected = await detectModel(url);
286
+ const detected = await detectModel(provider.url);
282
287
  if (detected) {
283
288
  newClient.setModel(detected);
284
289
  }
@@ -370,9 +375,8 @@ function createProviderManager(config) {
370
375
  if (provider.models && provider.models.length > 0) {
371
376
  return provider.models;
372
377
  }
373
- const url = stripVersionPrefix(provider.url);
374
378
  const backend = provider.backend;
375
- return fetchModelsWithContext(url, provider.apiKey, backend);
379
+ return fetchModelsWithContext(provider.url, provider.apiKey, backend);
376
380
  },
377
381
  async setDefaultModelSelection(providerId, model) {
378
382
  const provider = providers.find((p) => p.id === providerId);
@@ -488,10 +492,14 @@ function createProviderManager(config) {
488
492
  if (!provider) {
489
493
  return { success: false, error: "Provider not found" };
490
494
  }
491
- const url = stripVersionPrefix(provider.url);
492
495
  const backend = provider.backend;
493
- logger.info("refreshProviderModels fetching models", { providerId, providerName: provider.name, url, backend });
494
- const modelsWithContext = await fetchModelsWithContext(url, provider.apiKey, backend);
496
+ logger.info("refreshProviderModels fetching models", {
497
+ providerId,
498
+ providerName: provider.name,
499
+ url: provider.url,
500
+ backend
501
+ });
502
+ const modelsWithContext = await fetchModelsWithContext(provider.url, provider.apiKey, backend);
495
503
  const userModels = provider.models.filter((m) => m.source === "user");
496
504
  logger.info("refreshProviderModels", {
497
505
  providerId,
@@ -534,4 +542,4 @@ export {
534
542
  parseDefaultModelSelection,
535
543
  createProviderManager
536
544
  };
537
- //# sourceMappingURL=chunk-YLQGD5SE.js.map
545
+ //# sourceMappingURL=chunk-6CVDQJDV.js.map
@@ -33,7 +33,7 @@ Options:
33
33
  }
34
34
  async function runNetworkSetup(mode) {
35
35
  const { loadAuthConfig, saveAuthConfig, encryptPassword } = await import("./auth-56SIRACI.js");
36
- const { saveGlobalConfig } = await import("./config-FAT5XRFB.js");
36
+ const { saveGlobalConfig } = await import("./config-B6HYTLT4.js");
37
37
  const { getAuthKeyPath } = await import("./paths-X46PPOI2.js");
38
38
  const existingAuth = await loadAuthConfig(mode);
39
39
  if (existingAuth) {
@@ -94,7 +94,7 @@ async function runNetworkSetup(mode) {
94
94
  console.log("\u2713 Configuration saved!\n");
95
95
  }
96
96
  async function runConfig(mode) {
97
- const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-FAT5XRFB.js");
97
+ const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-B6HYTLT4.js");
98
98
  const { getGlobalConfigPath } = await import("./paths-X46PPOI2.js");
99
99
  const config = await loadGlobalConfig(mode);
100
100
  const configPath = getGlobalConfigPath(mode);
@@ -151,7 +151,7 @@ async function runCli(options) {
151
151
  break;
152
152
  }
153
153
  case "provider": {
154
- const { runProviderCommand } = await import("./provider-2JYU6KGH.js");
154
+ const { runProviderCommand } = await import("./provider-2JAXE5EA.js");
155
155
  const [, subcommand] = positionals;
156
156
  await runProviderCommand(mode, subcommand);
157
157
  break;
@@ -188,12 +188,12 @@ async function runCli(options) {
188
188
  break;
189
189
  }
190
190
  default: {
191
- const { configFileExists } = await import("./config-FAT5XRFB.js");
191
+ const { configFileExists } = await import("./config-B6HYTLT4.js");
192
192
  const configExists = await configFileExists(mode);
193
193
  if (!configExists) {
194
194
  await runNetworkSetup(mode);
195
195
  }
196
- const { runServe } = await import("./serve-NSTNUQ2K.js");
196
+ const { runServe } = await import("./serve-NMNHOT4M.js");
197
197
  const serveOptions = { mode };
198
198
  if (values.port) serveOptions.port = parseInt(values.port);
199
199
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -205,4 +205,4 @@ async function runCli(options) {
205
205
  export {
206
206
  runCli
207
207
  };
208
- //# sourceMappingURL=chunk-LDHRZRCP.js.map
208
+ //# sourceMappingURL=chunk-AKF52COZ.js.map
@@ -17,7 +17,7 @@ import {
17
17
  loadAllAgentsDefault,
18
18
  processEventsForConversation,
19
19
  runTopLevelAgentLoop
20
- } from "./chunk-5RP2ZU2G.js";
20
+ } from "./chunk-W52UQCER.js";
21
21
  import {
22
22
  getCurrentContextWindowId,
23
23
  getCurrentWindowMessageOptions,
@@ -311,4 +311,4 @@ export {
311
311
  runAgentTurn,
312
312
  injectWorkflowKickoffIfNeeded
313
313
  };
314
- //# sourceMappingURL=chunk-DBDMMSCM.js.map
314
+ //# sourceMappingURL=chunk-D2QILH47.js.map
@@ -3,7 +3,7 @@ import {
3
3
  injectWorkflowKickoffIfNeeded,
4
4
  runAgentTurn,
5
5
  runChatTurn
6
- } from "./chunk-DBDMMSCM.js";
6
+ } from "./chunk-D2QILH47.js";
7
7
  import {
8
8
  COMPACTION_PROMPT,
9
9
  TurnMetrics,
@@ -59,7 +59,7 @@ import {
59
59
  skillExists,
60
60
  spawnShellProcess,
61
61
  streamLLMPure
62
- } from "./chunk-5RP2ZU2G.js";
62
+ } from "./chunk-W52UQCER.js";
63
63
  import {
64
64
  getPathSeparator,
65
65
  getPlatformShell,
@@ -136,14 +136,15 @@ import {
136
136
  import {
137
137
  createProviderManager,
138
138
  parseDefaultModelSelection
139
- } from "./chunk-YLQGD5SE.js";
139
+ } from "./chunk-6CVDQJDV.js";
140
140
  import {
141
141
  SessionNotFoundError,
142
142
  createLLMClient,
143
143
  detectModel,
144
144
  getLlmStatus
145
- } from "./chunk-SW7MQGY3.js";
145
+ } from "./chunk-4F3C6X4M.js";
146
146
  import {
147
+ buildModelsUrl,
147
148
  detectBackend,
148
149
  ensureVersionPrefix,
149
150
  getBackendDisplayName,
@@ -2844,6 +2845,8 @@ function createWebSocketServer(httpServer, config4, getLLMClient, getActiveProvi
2844
2845
  sessionLLMClients.delete(sessionId);
2845
2846
  return getLLMClient();
2846
2847
  }
2848
+ const modelConfig = provider.models.find((m) => m.id === session.providerModel);
2849
+ const reasoningEffort = modelConfig?.thinkingEnabled && modelConfig?.thinkingLevel ? modelConfig.thinkingLevel : void 0;
2847
2850
  const baseUrl = ensureVersionPrefix(provider.url);
2848
2851
  const sessionConfig = {
2849
2852
  ...config4,
@@ -2852,7 +2855,8 @@ function createWebSocketServer(httpServer, config4, getLLMClient, getActiveProvi
2852
2855
  baseUrl,
2853
2856
  model: session.providerModel,
2854
2857
  ...provider.apiKey && { apiKey: provider.apiKey },
2855
- ...provider.thinkingField && { thinkingField: provider.thinkingField }
2858
+ ...provider.thinkingField && { thinkingField: provider.thinkingField },
2859
+ ...reasoningEffort && { reasoningEffort }
2856
2860
  }
2857
2861
  };
2858
2862
  const client = createLLMClient(sessionConfig);
@@ -5831,7 +5835,7 @@ import { Router as Router6 } from "express";
5831
5835
  import { spawn as spawn5 } from "child_process";
5832
5836
 
5833
5837
  // src/constants.ts
5834
- var VERSION = "2.0.0-beta.13";
5838
+ var VERSION = "2.0.0-beta.15";
5835
5839
 
5836
5840
  // src/server/routes/auto-update.ts
5837
5841
  var updateInProgress = false;
@@ -6210,7 +6214,7 @@ async function createServerHandle(config4) {
6210
6214
  return res.status(400).json({ error: "providerId is required" });
6211
6215
  }
6212
6216
  sessionManager.setSessionProvider(sessionId, providerId, model ?? "auto");
6213
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-FAT5XRFB.js");
6217
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-B6HYTLT4.js");
6214
6218
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
6215
6219
  const updatedConfig = setDefaultModelSelection(globalConfig, providerId, model ?? "auto");
6216
6220
  await saveGlobalConfig(config4.mode ?? "production", updatedConfig);
@@ -6298,7 +6302,7 @@ async function createServerHandle(config4) {
6298
6302
  if (!callId || approved === void 0) {
6299
6303
  return res.status(400).json({ error: "callId and approved are required" });
6300
6304
  }
6301
- const { providePathConfirmation } = await import("./tools-TJGSHOAR.js");
6305
+ const { providePathConfirmation } = await import("./tools-VJMWGBUO.js");
6302
6306
  const result = providePathConfirmation(callId, approved, alwaysAllow);
6303
6307
  if (!result.found) {
6304
6308
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -6322,7 +6326,7 @@ async function createServerHandle(config4) {
6322
6326
  if (!callId || !answer) {
6323
6327
  return res.status(400).json({ error: "callId and answer are required" });
6324
6328
  }
6325
- const { provideAnswer: provideAnswer2 } = await import("./tools-TJGSHOAR.js");
6329
+ const { provideAnswer: provideAnswer2 } = await import("./tools-VJMWGBUO.js");
6326
6330
  const found = provideAnswer2(callId, answer);
6327
6331
  if (!found) {
6328
6332
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -6358,8 +6362,8 @@ async function createServerHandle(config4) {
6358
6362
  if (!session) {
6359
6363
  return res.status(404).json({ error: "Session not found" });
6360
6364
  }
6361
- const { stopSessionExecution } = await import("./chat-handler-DKX2XFHA.js");
6362
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-TJGSHOAR.js");
6365
+ const { stopSessionExecution } = await import("./chat-handler-7QLHIQOM.js");
6366
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-VJMWGBUO.js");
6363
6367
  stopSessionExecution(sessionId, sessionManager);
6364
6368
  abortSession(sessionId);
6365
6369
  cancelQuestionsForSession(sessionId, "Session stopped by user");
@@ -6469,7 +6473,7 @@ async function createServerHandle(config4) {
6469
6473
  let visionFallback;
6470
6474
  let globalWorkdir;
6471
6475
  try {
6472
- const { loadGlobalConfig, getVisionFallback } = await import("./config-FAT5XRFB.js");
6476
+ const { loadGlobalConfig, getVisionFallback } = await import("./config-B6HYTLT4.js");
6473
6477
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
6474
6478
  const fallback = getVisionFallback(globalConfig);
6475
6479
  if (fallback) {
@@ -6546,10 +6550,10 @@ async function createServerHandle(config4) {
6546
6550
  const url = req.query["url"];
6547
6551
  if (!url) return res.status(400).json({ error: "url is required" });
6548
6552
  try {
6549
- const { fetchModelsWithContext } = await import("./provider-manager-IP3HOGNB.js");
6553
+ const { fetchModelsWithContext } = await import("./provider-manager-JMLJSPNX.js");
6550
6554
  const models = await fetchModelsWithContext(url);
6551
6555
  if (models.length === 0) {
6552
- return res.status(404).json({ error: `No models found at ${url}/v1/models`, url });
6556
+ return res.status(404).json({ error: `No models found at ${buildModelsUrl(url)}`, url });
6553
6557
  }
6554
6558
  res.json({
6555
6559
  models: models.map((m) => ({
@@ -6570,18 +6574,19 @@ async function createServerHandle(config4) {
6570
6574
  }
6571
6575
  });
6572
6576
  app.post("/api/providers/test-params", async (req, res) => {
6573
- const { url, params, apiKey } = req.body;
6577
+ const { url, model, params, apiKey } = req.body;
6574
6578
  if (!url) return res.status(400).json({ error: "url is required" });
6579
+ if (!model) return res.status(400).json({ error: "model is required" });
6575
6580
  try {
6576
6581
  const headers = { "Content-Type": "application/json" };
6577
6582
  if (apiKey) headers["Authorization"] = `Bearer ${apiKey}`;
6578
6583
  const body = {
6579
- model: "deepseek-v4-flash",
6584
+ model,
6580
6585
  messages: [{ role: "user", content: "say hi in one word" }],
6581
6586
  max_tokens: 8e3,
6582
6587
  ...params
6583
6588
  };
6584
- const response = await fetch(`${url}/v1/chat/completions`, {
6589
+ const response = await fetch(`${ensureVersionPrefix(url)}/chat/completions`, {
6585
6590
  method: "POST",
6586
6591
  headers,
6587
6592
  body: JSON.stringify(body),
@@ -6613,7 +6618,7 @@ async function createServerHandle(config4) {
6613
6618
  return res.status(400).json({ error: "name, url, and backend are required" });
6614
6619
  }
6615
6620
  try {
6616
- const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-FAT5XRFB.js");
6621
+ const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-B6HYTLT4.js");
6617
6622
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
6618
6623
  const providerBackend = backend;
6619
6624
  const configWithProvider = addProvider(globalConfig, {
@@ -6630,7 +6635,9 @@ async function createServerHandle(config4) {
6630
6635
  ...m.supportsVision !== void 0 ? { supportsVision: m.supportsVision } : {},
6631
6636
  ...m.thinkingEnabled !== void 0 ? { thinkingEnabled: m.thinkingEnabled } : {},
6632
6637
  ...m.thinkingLevel ? { thinkingLevel: m.thinkingLevel } : {},
6633
- ...m.nonThinkingEnabled !== void 0 ? { nonThinkingEnabled: m.nonThinkingEnabled } : {}
6638
+ ...m.nonThinkingEnabled !== void 0 ? { nonThinkingEnabled: m.nonThinkingEnabled } : {},
6639
+ ...m.thinkingExtraKwargs ? { thinkingExtraKwargs: m.thinkingExtraKwargs } : {},
6640
+ ...m.nonThinkingExtraKwargs ? { nonThinkingExtraKwargs: m.nonThinkingExtraKwargs } : {}
6634
6641
  })) : model ? [{ id: model, contextWindow: 2e5, source: "user" }] : [],
6635
6642
  isActive: true
6636
6643
  });
@@ -6656,7 +6663,7 @@ async function createServerHandle(config4) {
6656
6663
  app.post("/api/init/config", async (req, res) => {
6657
6664
  const { workdir, visionFallback } = req.body;
6658
6665
  try {
6659
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-FAT5XRFB.js");
6666
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-B6HYTLT4.js");
6660
6667
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
6661
6668
  const updatedConfig = {
6662
6669
  ...globalConfig,
@@ -6684,7 +6691,7 @@ async function createServerHandle(config4) {
6684
6691
  });
6685
6692
  app.delete("/api/providers/:id", async (req, res) => {
6686
6693
  const { id } = req.params;
6687
- const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-FAT5XRFB.js");
6694
+ const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-B6HYTLT4.js");
6688
6695
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
6689
6696
  const updatedConfig = removeProvider(globalConfig, id);
6690
6697
  await saveGlobalConfig(config4.mode ?? "production", updatedConfig);
@@ -6695,7 +6702,7 @@ async function createServerHandle(config4) {
6695
6702
  const { id } = req.params;
6696
6703
  const { isLocal } = req.body;
6697
6704
  try {
6698
- const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-FAT5XRFB.js");
6705
+ const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-B6HYTLT4.js");
6699
6706
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
6700
6707
  const provider = globalConfig.providers.find((p) => p.id === id);
6701
6708
  if (!provider) {
@@ -6723,7 +6730,7 @@ async function createServerHandle(config4) {
6723
6730
  models: modelConfigs
6724
6731
  } = req.body;
6725
6732
  try {
6726
- const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-FAT5XRFB.js");
6733
+ const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-B6HYTLT4.js");
6727
6734
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
6728
6735
  const provider = globalConfig.providers.find((p) => p.id === id);
6729
6736
  if (!provider) {
@@ -6770,7 +6777,7 @@ async function createServerHandle(config4) {
6770
6777
  return res.status(400).json({ error: result.error });
6771
6778
  }
6772
6779
  const llmClient = getLLMClient();
6773
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-FAT5XRFB.js");
6780
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-B6HYTLT4.js");
6774
6781
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
6775
6782
  const updatedConfig = setDefaultModelSelection(globalConfig, id, llmClient.getModel());
6776
6783
  await saveGlobalConfig(config4.mode ?? "production", updatedConfig);
@@ -6801,7 +6808,7 @@ async function createServerHandle(config4) {
6801
6808
  if (!result.success) {
6802
6809
  return res.status(400).json({ error: result.error });
6803
6810
  }
6804
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-FAT5XRFB.js");
6811
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-B6HYTLT4.js");
6805
6812
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
6806
6813
  const updatedProviders = providerManager.getProviders();
6807
6814
  const updatedConfig = {
@@ -7015,7 +7022,7 @@ async function createServerHandle(config4) {
7015
7022
  providerManager
7016
7023
  );
7017
7024
  const wss = wssExports.wss;
7018
- const { QueueProcessor } = await import("./processor-5T3CXD5I.js");
7025
+ const { QueueProcessor } = await import("./processor-IU56GBIW.js");
7019
7026
  const queueProcessor = new QueueProcessor({
7020
7027
  sessionManager,
7021
7028
  providerManager,
@@ -7087,4 +7094,4 @@ export {
7087
7094
  createServerHandle,
7088
7095
  createServer
7089
7096
  };
7090
- //# sourceMappingURL=chunk-BNFQMAH6.js.map
7097
+ //# sourceMappingURL=chunk-K6SMOWET.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-CQGTEGKL.js";
4
4
  import {
5
5
  detectModel
6
- } from "./chunk-SW7MQGY3.js";
6
+ } from "./chunk-4F3C6X4M.js";
7
7
  import {
8
8
  detectBackend
9
9
  } from "./chunk-LXX2CPM5.js";
@@ -449,4 +449,4 @@ export {
449
449
  activateProvider,
450
450
  mergeConfigs
451
451
  };
452
- //# sourceMappingURL=chunk-HZODNSSV.js.map
452
+ //# sourceMappingURL=chunk-N53OLRIU.js.map
@@ -3280,7 +3280,7 @@ async function describeImageFromDataUrl(dataUrl, visionModel, options) {
3280
3280
  import { createHash as createHash2 } from "crypto";
3281
3281
  async function loadVisionModelFromGlobalConfig() {
3282
3282
  try {
3283
- const { loadGlobalConfig, getVisionFallback } = await import("./config-FAT5XRFB.js");
3283
+ const { loadGlobalConfig, getVisionFallback } = await import("./config-B6HYTLT4.js");
3284
3284
  const runtimeConfig = getRuntimeConfig();
3285
3285
  const mode = runtimeConfig.mode ?? "production";
3286
3286
  const globalConfig = await loadGlobalConfig(mode);
@@ -3733,7 +3733,7 @@ var callSubAgentTool = {
3733
3733
  };
3734
3734
  }
3735
3735
  try {
3736
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-TJGSHOAR.js");
3736
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-VJMWGBUO.js");
3737
3737
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3738
3738
  const turnMetrics = new TurnMetrics();
3739
3739
  const result = await executeSubAgent({
@@ -4785,4 +4785,4 @@ export {
4785
4785
  getToolRegistryForAgent,
4786
4786
  createToolRegistry
4787
4787
  };
4788
- //# sourceMappingURL=chunk-5RP2ZU2G.js.map
4788
+ //# sourceMappingURL=chunk-W52UQCER.js.map
package/dist/cli/dev.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-LDHRZRCP.js";
4
+ } from "../chunk-AKF52COZ.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
package/dist/cli/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-LDHRZRCP.js";
4
+ } from "../chunk-AKF52COZ.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
@@ -14,9 +14,9 @@ import {
14
14
  setDefaultModelSelection,
15
15
  trySmartDefaults,
16
16
  updateProvider
17
- } from "./chunk-HZODNSSV.js";
17
+ } from "./chunk-N53OLRIU.js";
18
18
  import "./chunk-CQGTEGKL.js";
19
- import "./chunk-SW7MQGY3.js";
19
+ import "./chunk-4F3C6X4M.js";
20
20
  import "./chunk-LXX2CPM5.js";
21
21
  import "./chunk-K44MW7JJ.js";
22
22
  export {
@@ -36,4 +36,4 @@ export {
36
36
  trySmartDefaults,
37
37
  updateProvider
38
38
  };
39
- //# sourceMappingURL=config-FAT5XRFB.js.map
39
+ //# sourceMappingURL=config-B6HYTLT4.js.map
@@ -2,7 +2,7 @@ import {
2
2
  injectWorkflowKickoffIfNeeded,
3
3
  runAgentTurn,
4
4
  runChatTurn
5
- } from "./chunk-DBDMMSCM.js";
5
+ } from "./chunk-D2QILH47.js";
6
6
  import {
7
7
  TurnMetrics,
8
8
  createChatDoneEvent,
@@ -10,7 +10,7 @@ import {
10
10
  createMessageStartEvent,
11
11
  createToolCallEvent,
12
12
  createToolResultEvent
13
- } from "./chunk-5RP2ZU2G.js";
13
+ } from "./chunk-W52UQCER.js";
14
14
  import "./chunk-DL6ZILAF.js";
15
15
  import "./chunk-PBGOZMVY.js";
16
16
  import "./chunk-VRGRAQDG.js";
@@ -36,4 +36,4 @@ export {
36
36
  runAgentTurn,
37
37
  runChatTurn
38
38
  };
39
- //# sourceMappingURL=orchestrator-NNYZC7AY.js.map
39
+ //# sourceMappingURL=orchestrator-2AK4AYUD.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.0-beta.13",
3
+ "version": "2.0.0-beta.15",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -181,7 +181,7 @@ var QueueProcessor = class {
181
181
  backend: provider?.backend ?? llmClient.getBackend(),
182
182
  model: llmClient.getModel()
183
183
  };
184
- const { runChatTurn } = await import("./orchestrator-NNYZC7AY.js");
184
+ const { runChatTurn } = await import("./orchestrator-2AK4AYUD.js");
185
185
  const runChatTurnParams = buildRunChatTurnParams({
186
186
  sessionManager,
187
187
  sessionId,
@@ -225,4 +225,4 @@ var QueueProcessor = class {
225
225
  export {
226
226
  QueueProcessor
227
227
  };
228
- //# sourceMappingURL=processor-5T3CXD5I.js.map
228
+ //# sourceMappingURL=processor-IU56GBIW.js.map
@@ -5,14 +5,14 @@ import {
5
5
  loadGlobalConfig,
6
6
  removeProvider,
7
7
  saveGlobalConfig
8
- } from "./chunk-HZODNSSV.js";
8
+ } from "./chunk-N53OLRIU.js";
9
9
  import "./chunk-CQGTEGKL.js";
10
10
  import {
11
11
  fetchAvailableModelsFromBackend
12
- } from "./chunk-YLQGD5SE.js";
12
+ } from "./chunk-6CVDQJDV.js";
13
13
  import {
14
14
  detectModel
15
- } from "./chunk-SW7MQGY3.js";
15
+ } from "./chunk-4F3C6X4M.js";
16
16
  import {
17
17
  detectBackend
18
18
  } from "./chunk-LXX2CPM5.js";
@@ -263,7 +263,7 @@ async function runProviderAdd(mode) {
263
263
  isActive: makeActive
264
264
  });
265
265
  if (makeActive) {
266
- const { setDefaultModelSelection } = await import("./config-FAT5XRFB.js");
266
+ const { setDefaultModelSelection } = await import("./config-B6HYTLT4.js");
267
267
  newConfig = setDefaultModelSelection(
268
268
  newConfig,
269
269
  newConfig.providers[newConfig.providers.length - 1].id,
@@ -391,4 +391,4 @@ export {
391
391
  runProviderRemove,
392
392
  runProviderUse
393
393
  };
394
- //# sourceMappingURL=provider-2JYU6KGH.js.map
394
+ //# sourceMappingURL=provider-2JAXE5EA.js.map
@@ -3,8 +3,8 @@ import {
3
3
  fetchAvailableModelsFromBackend,
4
4
  fetchModelsWithContext,
5
5
  parseDefaultModelSelection
6
- } from "./chunk-YLQGD5SE.js";
7
- import "./chunk-SW7MQGY3.js";
6
+ } from "./chunk-6CVDQJDV.js";
7
+ import "./chunk-4F3C6X4M.js";
8
8
  import "./chunk-LXX2CPM5.js";
9
9
  import "./chunk-K44MW7JJ.js";
10
10
  export {
@@ -13,4 +13,4 @@ export {
13
13
  fetchModelsWithContext,
14
14
  parseDefaultModelSelection
15
15
  };
16
- //# sourceMappingURL=provider-manager-IP3HOGNB.js.map
16
+ //# sourceMappingURL=provider-manager-JMLJSPNX.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  VERSION,
3
3
  createServer
4
- } from "./chunk-BNFQMAH6.js";
4
+ } from "./chunk-K6SMOWET.js";
5
5
  import "./chunk-RI6GAMNP.js";
6
- import "./chunk-DBDMMSCM.js";
7
- import "./chunk-5RP2ZU2G.js";
6
+ import "./chunk-D2QILH47.js";
7
+ import "./chunk-W52UQCER.js";
8
8
  import "./chunk-DL6ZILAF.js";
9
9
  import "./chunk-PBGOZMVY.js";
10
10
  import "./chunk-VRGRAQDG.js";
@@ -23,14 +23,14 @@ import {
23
23
  getActiveProvider,
24
24
  getDefaultModel,
25
25
  loadGlobalConfig
26
- } from "./chunk-HZODNSSV.js";
26
+ } from "./chunk-N53OLRIU.js";
27
27
  import {
28
28
  ensureDataDirExists,
29
29
  getDatabasePath,
30
30
  getGlobalConfigPath
31
31
  } from "./chunk-CQGTEGKL.js";
32
- import "./chunk-YLQGD5SE.js";
33
- import "./chunk-SW7MQGY3.js";
32
+ import "./chunk-6CVDQJDV.js";
33
+ import "./chunk-4F3C6X4M.js";
34
34
  import "./chunk-LXX2CPM5.js";
35
35
  import {
36
36
  logger
@@ -189,4 +189,4 @@ async function runServe(options) {
189
189
  export {
190
190
  runServe
191
191
  };
192
- //# sourceMappingURL=serve-NSTNUQ2K.js.map
192
+ //# sourceMappingURL=serve-NMNHOT4M.js.map