openfox 1.6.44 → 1.6.46

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 (30) hide show
  1. package/dist/{auto-compaction-7SL3LN75.js → auto-compaction-GI4VMKB2.js} +4 -4
  2. package/dist/{chat-handler-O2MS6N7K.js → chat-handler-UYAJHFNJ.js} +6 -6
  3. package/dist/{chunk-P6GUT2QQ.js → chunk-4DNPYFL4.js} +3 -3
  4. package/dist/{chunk-57Q2NVVZ.js → chunk-AVMBAUH2.js} +19 -19
  5. package/dist/{chunk-KSASIV4B.js → chunk-F2VWCCMC.js} +5 -5
  6. package/dist/{chunk-PYBB34ZK.js → chunk-HYIQFRYJ.js} +9 -6
  7. package/dist/{chunk-J6YKMO3O.js → chunk-LN5RMI7G.js} +6 -6
  8. package/dist/{chunk-7F3V7C23.js → chunk-MY66TLAH.js} +7 -5
  9. package/dist/{chunk-CJNQGEYG.js → chunk-VCALN543.js} +2 -2
  10. package/dist/{chunk-IHBD5H7A.js → chunk-W62DI5UK.js} +2 -2
  11. package/dist/{chunk-D4ZLSV6P.js → chunk-WNZIUQ2L.js} +8 -6
  12. package/dist/cli/dev.js +1 -1
  13. package/dist/cli/index.js +1 -1
  14. package/dist/{config-ACVEHBKG.js → config-3TU54V4X.js} +5 -5
  15. package/dist/{orchestrator-7TPFEM3P.js → orchestrator-WQDVNDB3.js} +5 -5
  16. package/dist/package.json +1 -1
  17. package/dist/{processor-EFJ7OJEL.js → processor-7V5FI5X7.js} +2 -2
  18. package/dist/{protocol-Ct6VfOIJ.d.ts → protocol-_A3Upt5b.d.ts} +1 -0
  19. package/dist/{provider-RLQMVV2Z.js → provider-J4G7XBDP.js} +7 -7
  20. package/dist/{serve-Z2THSAIR.js → serve-G3XDWOPI.js} +9 -9
  21. package/dist/server/index.d.ts +10 -1
  22. package/dist/server/index.js +7 -7
  23. package/dist/shared/index.d.ts +2 -2
  24. package/dist/{tools-A3NNFIKG.js → tools-QXQGYZ4D.js} +4 -4
  25. package/dist/{vision-fallback-QJ26DCEF.js → vision-fallback-HXPTLQHN.js} +2 -2
  26. package/dist/web/assets/{index-BMZ3A90k.js → index-BPG5tJZc.js} +2 -2
  27. package/dist/web/assets/{index-CM8X_jzI.css → index-DFE4PMXP.css} +1 -1
  28. package/dist/web/index.html +2 -2
  29. package/dist/web/sw.js +1 -1
  30. package/package.json +1 -1
@@ -2,11 +2,11 @@ import {
2
2
  maybeAutoCompactContext,
3
3
  performManualContextCompaction,
4
4
  resolveCompactionStatsIdentity
5
- } from "./chunk-7F3V7C23.js";
5
+ } from "./chunk-MY66TLAH.js";
6
6
  import "./chunk-NBU6KIOD.js";
7
7
  import "./chunk-574HZVLE.js";
8
8
  import "./chunk-7JPKRM6M.js";
9
- import "./chunk-D4ZLSV6P.js";
9
+ import "./chunk-WNZIUQ2L.js";
10
10
  import "./chunk-YVQ6DP5Y.js";
11
11
  import "./chunk-LIMBYVO4.js";
12
12
  import "./chunk-DZHZ3UUR.js";
@@ -16,11 +16,11 @@ import "./chunk-BLNFJ22S.js";
16
16
  import "./chunk-Y6HBEACI.js";
17
17
  import "./chunk-R4HADRYO.js";
18
18
  import "./chunk-TVQOONDR.js";
19
- import "./chunk-CJNQGEYG.js";
19
+ import "./chunk-VCALN543.js";
20
20
  import "./chunk-PNBH3RAX.js";
21
21
  export {
22
22
  maybeAutoCompactContext,
23
23
  performManualContextCompaction,
24
24
  resolveCompactionStatsIdentity
25
25
  };
26
- //# sourceMappingURL=auto-compaction-7SL3LN75.js.map
26
+ //# sourceMappingURL=auto-compaction-GI4VMKB2.js.map
@@ -10,12 +10,12 @@ import {
10
10
  } from "./chunk-BHSTSA7U.js";
11
11
  import {
12
12
  runChatTurn
13
- } from "./chunk-IHBD5H7A.js";
14
- import "./chunk-7F3V7C23.js";
13
+ } from "./chunk-W62DI5UK.js";
14
+ import "./chunk-MY66TLAH.js";
15
15
  import "./chunk-NBU6KIOD.js";
16
16
  import "./chunk-574HZVLE.js";
17
17
  import "./chunk-7JPKRM6M.js";
18
- import "./chunk-D4ZLSV6P.js";
18
+ import "./chunk-WNZIUQ2L.js";
19
19
  import {
20
20
  getEventStore
21
21
  } from "./chunk-YVQ6DP5Y.js";
@@ -31,7 +31,7 @@ import "./chunk-BLNFJ22S.js";
31
31
  import "./chunk-Y6HBEACI.js";
32
32
  import "./chunk-R4HADRYO.js";
33
33
  import "./chunk-TVQOONDR.js";
34
- import "./chunk-CJNQGEYG.js";
34
+ import "./chunk-VCALN543.js";
35
35
  import {
36
36
  logger
37
37
  } from "./chunk-PNBH3RAX.js";
@@ -62,7 +62,7 @@ async function startChatSession(sessionId, content, deps, options) {
62
62
  sessionManager.setRunning(sessionId, true);
63
63
  broadcastForSession(sessionId, createSessionRunningMessage(true));
64
64
  try {
65
- const { maybeAutoCompactContext } = await import("./auto-compaction-7SL3LN75.js");
65
+ const { maybeAutoCompactContext } = await import("./auto-compaction-GI4VMKB2.js");
66
66
  await maybeAutoCompactContext({
67
67
  sessionManager,
68
68
  sessionId,
@@ -171,4 +171,4 @@ export {
171
171
  startChatSession,
172
172
  stopSessionExecution
173
173
  };
174
- //# sourceMappingURL=chat-handler-O2MS6N7K.js.map
174
+ //# sourceMappingURL=chat-handler-UYAJHFNJ.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  detectModel
3
- } from "./chunk-KSASIV4B.js";
3
+ } from "./chunk-F2VWCCMC.js";
4
4
  import {
5
5
  detectBackend
6
- } from "./chunk-D4ZLSV6P.js";
6
+ } from "./chunk-WNZIUQ2L.js";
7
7
  import {
8
8
  getGlobalConfigPath
9
9
  } from "./chunk-R4HADRYO.js";
@@ -386,4 +386,4 @@ export {
386
386
  activateProvider,
387
387
  mergeConfigs
388
388
  };
389
- //# sourceMappingURL=chunk-P6GUT2QQ.js.map
389
+ //# sourceMappingURL=chunk-4DNPYFL4.js.map
@@ -6,7 +6,7 @@ import {
6
6
  createVerifierNudgeConfig,
7
7
  runBuilderTurn,
8
8
  runChatTurn
9
- } from "./chunk-IHBD5H7A.js";
9
+ } from "./chunk-W62DI5UK.js";
10
10
  import {
11
11
  TurnMetrics,
12
12
  agentExists,
@@ -47,7 +47,7 @@ import {
47
47
  setSkillEnabled,
48
48
  skillExists,
49
49
  spawnShellProcess
50
- } from "./chunk-7F3V7C23.js";
50
+ } from "./chunk-MY66TLAH.js";
51
51
  import {
52
52
  getPathSeparator,
53
53
  getPlatformShell,
@@ -60,18 +60,18 @@ import {
60
60
  import {
61
61
  createProviderManager,
62
62
  parseDefaultModelSelection
63
- } from "./chunk-PYBB34ZK.js";
63
+ } from "./chunk-HYIQFRYJ.js";
64
64
  import {
65
65
  SessionNotFoundError,
66
66
  createLLMClient,
67
67
  detectModel,
68
68
  getLlmStatus
69
- } from "./chunk-KSASIV4B.js";
69
+ } from "./chunk-F2VWCCMC.js";
70
70
  import {
71
71
  detectBackend,
72
72
  getBackendDisplayName,
73
73
  getModelProfile
74
- } from "./chunk-D4ZLSV6P.js";
74
+ } from "./chunk-WNZIUQ2L.js";
75
75
  import {
76
76
  createSession,
77
77
  deleteSession,
@@ -5479,7 +5479,7 @@ function createTerminalRoutes() {
5479
5479
  }
5480
5480
 
5481
5481
  // src/constants.ts
5482
- var VERSION = "1.6.44";
5482
+ var VERSION = "1.6.46";
5483
5483
 
5484
5484
  // src/server/index.ts
5485
5485
  var __dirname2 = dirname5(fileURLToPath4(import.meta.url));
@@ -5716,7 +5716,7 @@ async function createServerHandle(config) {
5716
5716
  return res.status(400).json({ error: "providerId is required" });
5717
5717
  }
5718
5718
  sessionManager.setSessionProvider(sessionId, providerId, model ?? "auto");
5719
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-ACVEHBKG.js");
5719
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-3TU54V4X.js");
5720
5720
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
5721
5721
  const updatedConfig = setDefaultModelSelection(globalConfig, providerId, model ?? "auto");
5722
5722
  await saveGlobalConfig(config.mode ?? "production", updatedConfig);
@@ -5781,7 +5781,7 @@ async function createServerHandle(config) {
5781
5781
  if (!callId || approved === void 0) {
5782
5782
  return res.status(400).json({ error: "callId and approved are required" });
5783
5783
  }
5784
- const { providePathConfirmation: providePathConfirmation2 } = await import("./tools-A3NNFIKG.js");
5784
+ const { providePathConfirmation: providePathConfirmation2 } = await import("./tools-QXQGYZ4D.js");
5785
5785
  const result = providePathConfirmation2(callId, approved, alwaysAllow);
5786
5786
  if (!result.found) {
5787
5787
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -5806,7 +5806,7 @@ async function createServerHandle(config) {
5806
5806
  if (!callId || !answer) {
5807
5807
  return res.status(400).json({ error: "callId and answer are required" });
5808
5808
  }
5809
- const { provideAnswer: provideAnswer2 } = await import("./tools-A3NNFIKG.js");
5809
+ const { provideAnswer: provideAnswer2 } = await import("./tools-QXQGYZ4D.js");
5810
5810
  const found = provideAnswer2(callId, answer);
5811
5811
  if (!found) {
5812
5812
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -5842,8 +5842,8 @@ async function createServerHandle(config) {
5842
5842
  if (!session) {
5843
5843
  return res.status(404).json({ error: "Session not found" });
5844
5844
  }
5845
- const { stopSessionExecution } = await import("./chat-handler-O2MS6N7K.js");
5846
- const { cancelQuestionsForSession: cancelQuestionsForSession2, cancelPathConfirmationsForSession: cancelPathConfirmationsForSession2 } = await import("./tools-A3NNFIKG.js");
5845
+ const { stopSessionExecution } = await import("./chat-handler-UYAJHFNJ.js");
5846
+ const { cancelQuestionsForSession: cancelQuestionsForSession2, cancelPathConfirmationsForSession: cancelPathConfirmationsForSession2 } = await import("./tools-QXQGYZ4D.js");
5847
5847
  stopSessionExecution(sessionId, sessionManager);
5848
5848
  abortSession(sessionId);
5849
5849
  cancelQuestionsForSession2(sessionId, "Session stopped by user");
@@ -5901,7 +5901,7 @@ async function createServerHandle(config) {
5901
5901
  let visionFallback;
5902
5902
  let globalWorkdir;
5903
5903
  try {
5904
- const { loadGlobalConfig, getVisionFallback } = await import("./config-ACVEHBKG.js");
5904
+ const { loadGlobalConfig, getVisionFallback } = await import("./config-3TU54V4X.js");
5905
5905
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
5906
5906
  const fallback = getVisionFallback(globalConfig);
5907
5907
  if (fallback) {
@@ -5980,7 +5980,7 @@ async function createServerHandle(config) {
5980
5980
  return res.status(400).json({ error: "name, url, and backend are required" });
5981
5981
  }
5982
5982
  try {
5983
- const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-ACVEHBKG.js");
5983
+ const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-3TU54V4X.js");
5984
5984
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
5985
5985
  const providerBackend = backend;
5986
5986
  const configWithProvider = addProvider(globalConfig, {
@@ -6013,7 +6013,7 @@ async function createServerHandle(config) {
6013
6013
  app.post("/api/init/config", async (req, res) => {
6014
6014
  const { workdir, visionFallback } = req.body;
6015
6015
  try {
6016
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-ACVEHBKG.js");
6016
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-3TU54V4X.js");
6017
6017
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
6018
6018
  const updatedConfig = {
6019
6019
  ...globalConfig,
@@ -6041,7 +6041,7 @@ async function createServerHandle(config) {
6041
6041
  });
6042
6042
  app.delete("/api/providers/:id", async (req, res) => {
6043
6043
  const { id } = req.params;
6044
- const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-ACVEHBKG.js");
6044
+ const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-3TU54V4X.js");
6045
6045
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
6046
6046
  const updatedConfig = removeProvider(globalConfig, id);
6047
6047
  await saveGlobalConfig(config.mode ?? "production", updatedConfig);
@@ -6061,7 +6061,7 @@ async function createServerHandle(config) {
6061
6061
  return res.status(400).json({ error: result.error });
6062
6062
  }
6063
6063
  const llmClient = getLLMClient();
6064
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-ACVEHBKG.js");
6064
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-3TU54V4X.js");
6065
6065
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
6066
6066
  const updatedConfig = setDefaultModelSelection(globalConfig, id, llmClient.getModel());
6067
6067
  await saveGlobalConfig(config.mode ?? "production", updatedConfig);
@@ -6092,7 +6092,7 @@ async function createServerHandle(config) {
6092
6092
  if (!result.success) {
6093
6093
  return res.status(400).json({ error: result.error });
6094
6094
  }
6095
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-ACVEHBKG.js");
6095
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-3TU54V4X.js");
6096
6096
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
6097
6097
  const updatedProviders = providerManager.getProviders();
6098
6098
  const updatedConfig = {
@@ -6302,7 +6302,7 @@ async function createServerHandle(config) {
6302
6302
  providerManager
6303
6303
  );
6304
6304
  const wss = wssExports.wss;
6305
- const { QueueProcessor } = await import("./processor-EFJ7OJEL.js");
6305
+ const { QueueProcessor } = await import("./processor-7V5FI5X7.js");
6306
6306
  const queueProcessor = new QueueProcessor({
6307
6307
  sessionManager,
6308
6308
  providerManager,
@@ -6375,4 +6375,4 @@ export {
6375
6375
  createServerHandle,
6376
6376
  createServer
6377
6377
  };
6378
- //# sourceMappingURL=chunk-57Q2NVVZ.js.map
6378
+ //# sourceMappingURL=chunk-AVMBAUH2.js.map
@@ -5,10 +5,10 @@ import {
5
5
  getBackendCapabilities,
6
6
  getModelProfile,
7
7
  mapFinishReason
8
- } from "./chunk-D4ZLSV6P.js";
8
+ } from "./chunk-WNZIUQ2L.js";
9
9
  import {
10
10
  ensureVisionFallbackConfigLoaded
11
- } from "./chunk-CJNQGEYG.js";
11
+ } from "./chunk-VCALN543.js";
12
12
  import {
13
13
  logger
14
14
  } from "./chunk-PNBH3RAX.js";
@@ -191,7 +191,7 @@ function createLLMClient(config, initialBackend = "unknown") {
191
191
  try {
192
192
  const shouldDisableThinking = disableThinking || request.disableThinking === true;
193
193
  await ensureVisionFallbackConfigLoaded();
194
- const { isVisionFallbackEnabled } = await import("./vision-fallback-QJ26DCEF.js");
194
+ const { isVisionFallbackEnabled } = await import("./vision-fallback-HXPTLQHN.js");
195
195
  const paramsOptions = {
196
196
  model,
197
197
  request,
@@ -269,7 +269,7 @@ function createLLMClient(config, initialBackend = "unknown") {
269
269
  });
270
270
  try {
271
271
  await ensureVisionFallbackConfigLoaded();
272
- const { isVisionFallbackEnabled } = await import("./vision-fallback-QJ26DCEF.js");
272
+ const { isVisionFallbackEnabled } = await import("./vision-fallback-HXPTLQHN.js");
273
273
  const shouldDisableThinking = disableThinking || request.disableThinking === true;
274
274
  const createParams = await buildStreamingCreateParams({
275
275
  model,
@@ -483,4 +483,4 @@ export {
483
483
  setLlmStatus,
484
484
  clearModelCache
485
485
  };
486
- //# sourceMappingURL=chunk-KSASIV4B.js.map
486
+ //# sourceMappingURL=chunk-F2VWCCMC.js.map
@@ -3,10 +3,10 @@ import {
3
3
  createLLMClient,
4
4
  detectModel,
5
5
  setLlmStatus
6
- } from "./chunk-KSASIV4B.js";
6
+ } from "./chunk-F2VWCCMC.js";
7
7
  import {
8
8
  detectBackend
9
- } from "./chunk-D4ZLSV6P.js";
9
+ } from "./chunk-WNZIUQ2L.js";
10
10
  import {
11
11
  logger
12
12
  } from "./chunk-PNBH3RAX.js";
@@ -375,12 +375,13 @@ function createProviderManager(config) {
375
375
  const finalTopP = settings.topP !== void 0 && settings.topP !== null ? settings.topP : existingModel?.topP;
376
376
  const finalTopK = settings.topK !== void 0 && settings.topK !== null ? settings.topK : existingModel?.topK;
377
377
  const finalMaxTokens = settings.maxTokens !== void 0 && settings.maxTokens !== null ? settings.maxTokens : existingModel?.maxTokens;
378
+ const finalSupportsVision = settings.supportsVision !== void 0 ? settings.supportsVision : existingModel?.supportsVision;
378
379
  logger.info("Updating model settings", {
379
380
  providerId,
380
381
  modelId,
381
382
  existing: existingModel,
382
383
  incoming: settings,
383
- final: { temperature: finalTemp, topP: finalTopP, topK: finalTopK, maxTokens: finalMaxTokens }
384
+ final: { temperature: finalTemp, topP: finalTopP, topK: finalTopK, maxTokens: finalMaxTokens, supportsVision: finalSupportsVision }
384
385
  });
385
386
  const updatedModel = {
386
387
  id: modelId,
@@ -389,7 +390,8 @@ function createProviderManager(config) {
389
390
  ...finalTemp !== void 0 && { temperature: finalTemp },
390
391
  ...finalTopP !== void 0 && { topP: finalTopP },
391
392
  ...finalTopK !== void 0 && { topK: finalTopK },
392
- ...finalMaxTokens !== void 0 && { maxTokens: finalMaxTokens }
393
+ ...finalMaxTokens !== void 0 && { maxTokens: finalMaxTokens },
394
+ ...finalSupportsVision !== void 0 && { supportsVision: finalSupportsVision }
393
395
  };
394
396
  if (existingModel) {
395
397
  providers = providers.map(
@@ -411,7 +413,8 @@ function createProviderManager(config) {
411
413
  ...model.temperature !== void 0 && { temperature: model.temperature },
412
414
  ...model.topP !== void 0 && { topP: model.topP },
413
415
  ...model.topK !== void 0 && { topK: model.topK },
414
- ...model.maxTokens !== void 0 && { maxTokens: model.maxTokens }
416
+ ...model.maxTokens !== void 0 && { maxTokens: model.maxTokens },
417
+ ...model.supportsVision !== void 0 && { supportsVision: model.supportsVision }
415
418
  };
416
419
  },
417
420
  async refreshProviderModels(providerId) {
@@ -457,4 +460,4 @@ export {
457
460
  parseDefaultModelSelection,
458
461
  createProviderManager
459
462
  };
460
- //# sourceMappingURL=chunk-PYBB34ZK.js.map
463
+ //# sourceMappingURL=chunk-HYIQFRYJ.js.map
@@ -32,7 +32,7 @@ Options:
32
32
  }
33
33
  async function runNetworkSetup(mode) {
34
34
  const { loadAuthConfig, saveAuthConfig, encryptPassword } = await import("./auth-JF2HDJ6P.js");
35
- const { saveGlobalConfig } = await import("./config-ACVEHBKG.js");
35
+ const { saveGlobalConfig } = await import("./config-3TU54V4X.js");
36
36
  const { getAuthKeyPath } = await import("./paths-ZRI56O63.js");
37
37
  const existingAuth = await loadAuthConfig(mode);
38
38
  if (existingAuth) {
@@ -93,7 +93,7 @@ async function runNetworkSetup(mode) {
93
93
  console.log("\u2713 Configuration saved!\n");
94
94
  }
95
95
  async function runConfig(mode) {
96
- const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-ACVEHBKG.js");
96
+ const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-3TU54V4X.js");
97
97
  const { getGlobalConfigPath } = await import("./paths-ZRI56O63.js");
98
98
  const config = await loadGlobalConfig(mode);
99
99
  const configPath = getGlobalConfigPath(mode);
@@ -148,7 +148,7 @@ async function runCli(options) {
148
148
  break;
149
149
  }
150
150
  case "provider": {
151
- const { runProviderCommand } = await import("./provider-RLQMVV2Z.js");
151
+ const { runProviderCommand } = await import("./provider-J4G7XBDP.js");
152
152
  const [, subcommand] = positionals;
153
153
  await runProviderCommand(mode, subcommand);
154
154
  break;
@@ -174,12 +174,12 @@ async function runCli(options) {
174
174
  break;
175
175
  }
176
176
  default: {
177
- const { configFileExists } = await import("./config-ACVEHBKG.js");
177
+ const { configFileExists } = await import("./config-3TU54V4X.js");
178
178
  const configExists = await configFileExists(mode);
179
179
  if (!configExists) {
180
180
  await runNetworkSetup(mode);
181
181
  }
182
- const { runServe } = await import("./serve-Z2THSAIR.js");
182
+ const { runServe } = await import("./serve-G3XDWOPI.js");
183
183
  await runServe({
184
184
  mode,
185
185
  port: values.port ? parseInt(values.port) : void 0,
@@ -192,4 +192,4 @@ async function runCli(options) {
192
192
  export {
193
193
  runCli
194
194
  };
195
- //# sourceMappingURL=chunk-J6YKMO3O.js.map
195
+ //# sourceMappingURL=chunk-LN5RMI7G.js.map
@@ -19,7 +19,7 @@ import {
19
19
  getBackendCapabilities,
20
20
  getModelProfile,
21
21
  streamWithSegments
22
- } from "./chunk-D4ZLSV6P.js";
22
+ } from "./chunk-WNZIUQ2L.js";
23
23
  import {
24
24
  getContextMessages,
25
25
  getCurrentContextWindowId,
@@ -488,13 +488,14 @@ function assembleAgentRequest(input) {
488
488
 
489
489
  // src/server/chat/stream-utils.ts
490
490
  function buildStreamRequestObject(params) {
491
- const { messages, tools, toolChoice, disableThinking, signal, onVisionFallbackStart, onVisionFallbackDone } = params;
491
+ const { messages, tools, toolChoice, disableThinking, signal, modelSettings, onVisionFallbackStart, onVisionFallbackDone } = params;
492
492
  const streamRequest = {
493
493
  messages,
494
494
  ...tools && { tools },
495
495
  ...toolChoice && { toolChoice },
496
496
  disableThinking: disableThinking ?? false,
497
- ...signal && { signal }
497
+ ...signal && { signal },
498
+ ...modelSettings && { modelSettings }
498
499
  };
499
500
  if (onVisionFallbackStart) streamRequest.onVisionFallbackStart = onVisionFallbackStart;
500
501
  if (onVisionFallbackDone) streamRequest.onVisionFallbackDone = onVisionFallbackDone;
@@ -568,6 +569,7 @@ async function* streamLLMPure(options) {
568
569
  toolChoice,
569
570
  disableThinking: disableThinking ?? false,
570
571
  signal,
572
+ modelSettings: options.modelSettings,
571
573
  onVisionFallbackStart,
572
574
  onVisionFallbackDone
573
575
  });
@@ -3351,7 +3353,7 @@ var callSubAgentTool = {
3351
3353
  };
3352
3354
  }
3353
3355
  try {
3354
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-A3NNFIKG.js");
3356
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-QXQGYZ4D.js");
3355
3357
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3356
3358
  const turnMetrics = new TurnMetrics();
3357
3359
  const result = await executeSubAgent({
@@ -4480,4 +4482,4 @@ export {
4480
4482
  getToolRegistryForAgent,
4481
4483
  createToolRegistry
4482
4484
  };
4483
- //# sourceMappingURL=chunk-7F3V7C23.js.map
4485
+ //# sourceMappingURL=chunk-MY66TLAH.js.map
@@ -29,7 +29,7 @@ function isVisionFallbackEnabled() {
29
29
  async function ensureVisionFallbackConfigLoaded() {
30
30
  if (configLoaded) return;
31
31
  try {
32
- const { loadGlobalConfig, getVisionFallback } = await import("./config-ACVEHBKG.js");
32
+ const { loadGlobalConfig, getVisionFallback } = await import("./config-3TU54V4X.js");
33
33
  const { getRuntimeConfig } = await import("./runtime-config-2XJJIMSC.js");
34
34
  const runtimeConfig = getRuntimeConfig();
35
35
  const mode = runtimeConfig.mode ?? "production";
@@ -135,4 +135,4 @@ export {
135
135
  describeImage,
136
136
  describeImageFromDataUrl
137
137
  };
138
- //# sourceMappingURL=chunk-CJNQGEYG.js.map
138
+ //# sourceMappingURL=chunk-VCALN543.js.map
@@ -13,7 +13,7 @@ import {
13
13
  getToolRegistryForAgent,
14
14
  loadAllAgentsDefault,
15
15
  runTopLevelAgentLoop
16
- } from "./chunk-7F3V7C23.js";
16
+ } from "./chunk-MY66TLAH.js";
17
17
  import {
18
18
  getCurrentContextWindowId,
19
19
  getEventStore
@@ -293,4 +293,4 @@ export {
293
293
  runBuilderTurn,
294
294
  runVerifierTurn
295
295
  };
296
- //# sourceMappingURL=chunk-IHBD5H7A.js.map
296
+ //# sourceMappingURL=chunk-W62DI5UK.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  describeImageFromDataUrl
3
- } from "./chunk-CJNQGEYG.js";
3
+ } from "./chunk-VCALN543.js";
4
4
  import {
5
5
  logger
6
6
  } from "./chunk-PNBH3RAX.js";
@@ -382,8 +382,8 @@ function buildAttachmentContent(msgContent, attachments, modelSupportsVision) {
382
382
  }
383
383
  return content;
384
384
  }
385
- async function convertMessagesWithOptions(messages, profile, visionFallbackEnabled, signal, onVisionFallbackStart, onVisionFallbackDone) {
386
- const modelSupportsVision = profile.supportsVision ?? false;
385
+ async function convertMessagesWithOptions(messages, profile, visionFallbackEnabled, userVisionOverride, signal, onVisionFallbackStart, onVisionFallbackDone) {
386
+ const modelSupportsVision = userVisionOverride ?? profile.supportsVision ?? false;
387
387
  const options = {
388
388
  modelSupportsVision,
389
389
  visionFallbackEnabled,
@@ -576,10 +576,12 @@ function needsVisionFallback(messages, modelSupportsVision, visionFallbackEnable
576
576
  return result;
577
577
  }
578
578
  async function buildChatCompletionCreateParams(model, request, profile, capabilities, disableThinking, visionFallbackEnabled, isStreaming, onVisionFallbackStart, onVisionFallbackDone) {
579
+ const userVisionOverride = request.modelSettings?.supportsVision;
579
580
  const convertedMessages = await convertMessagesWithOptions(
580
581
  request.messages,
581
582
  profile,
582
583
  visionFallbackEnabled,
584
+ userVisionOverride,
583
585
  request.signal,
584
586
  onVisionFallbackStart,
585
587
  onVisionFallbackDone
@@ -591,7 +593,7 @@ async function buildChatCompletionCreateParams(model, request, profile, capabili
591
593
  const params = {
592
594
  model,
593
595
  messages: convertedMessages,
594
- ...request.tools ? { tools: convertTools(request.tools) } : {},
596
+ ...request.tools?.length ? { tools: convertTools(request.tools) } : {},
595
597
  ...request.toolChoice ? { tool_choice: request.toolChoice } : {},
596
598
  temperature,
597
599
  max_tokens: maxTokens,
@@ -603,7 +605,7 @@ async function buildChatCompletionCreateParams(model, request, profile, capabili
603
605
  ;
604
606
  params["top_k"] = topK;
605
607
  }
606
- const shouldDisableThinking = isStreaming ? disableThinking || request.disableThinking : disableThinking;
608
+ const shouldDisableThinking = disableThinking || request.disableThinking;
607
609
  if (capabilities.supportsChatTemplateKwargs && profile.supportsReasoning && shouldDisableThinking) {
608
610
  ;
609
611
  params["chat_template_kwargs"] = { enable_thinking: false };
@@ -771,4 +773,4 @@ export {
771
773
  extractThinking,
772
774
  streamWithSegments
773
775
  };
774
- //# sourceMappingURL=chunk-D4ZLSV6P.js.map
776
+ //# sourceMappingURL=chunk-WNZIUQ2L.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-J6YKMO3O.js";
4
+ } from "../chunk-LN5RMI7G.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-PNBH3RAX.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-J6YKMO3O.js";
4
+ } from "../chunk-LN5RMI7G.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-PNBH3RAX.js";
@@ -13,11 +13,11 @@ import {
13
13
  saveGlobalConfig,
14
14
  setDefaultModelSelection,
15
15
  trySmartDefaults
16
- } from "./chunk-P6GUT2QQ.js";
17
- import "./chunk-KSASIV4B.js";
18
- import "./chunk-D4ZLSV6P.js";
16
+ } from "./chunk-4DNPYFL4.js";
17
+ import "./chunk-F2VWCCMC.js";
18
+ import "./chunk-WNZIUQ2L.js";
19
19
  import "./chunk-R4HADRYO.js";
20
- import "./chunk-CJNQGEYG.js";
20
+ import "./chunk-VCALN543.js";
21
21
  import "./chunk-PNBH3RAX.js";
22
22
  export {
23
23
  activateProvider,
@@ -35,4 +35,4 @@ export {
35
35
  setDefaultModelSelection,
36
36
  trySmartDefaults
37
37
  };
38
- //# sourceMappingURL=config-ACVEHBKG.js.map
38
+ //# sourceMappingURL=config-3TU54V4X.js.map
@@ -3,7 +3,7 @@ import {
3
3
  runBuilderTurn,
4
4
  runChatTurn,
5
5
  runVerifierTurn
6
- } from "./chunk-IHBD5H7A.js";
6
+ } from "./chunk-W62DI5UK.js";
7
7
  import {
8
8
  TurnMetrics,
9
9
  createChatDoneEvent,
@@ -11,11 +11,11 @@ import {
11
11
  createMessageStartEvent,
12
12
  createToolCallEvent,
13
13
  createToolResultEvent
14
- } from "./chunk-7F3V7C23.js";
14
+ } from "./chunk-MY66TLAH.js";
15
15
  import "./chunk-NBU6KIOD.js";
16
16
  import "./chunk-574HZVLE.js";
17
17
  import "./chunk-7JPKRM6M.js";
18
- import "./chunk-D4ZLSV6P.js";
18
+ import "./chunk-WNZIUQ2L.js";
19
19
  import "./chunk-YVQ6DP5Y.js";
20
20
  import "./chunk-LIMBYVO4.js";
21
21
  import "./chunk-DZHZ3UUR.js";
@@ -25,7 +25,7 @@ import "./chunk-BLNFJ22S.js";
25
25
  import "./chunk-Y6HBEACI.js";
26
26
  import "./chunk-R4HADRYO.js";
27
27
  import "./chunk-TVQOONDR.js";
28
- import "./chunk-CJNQGEYG.js";
28
+ import "./chunk-VCALN543.js";
29
29
  import "./chunk-PNBH3RAX.js";
30
30
  export {
31
31
  TurnMetrics,
@@ -39,4 +39,4 @@ export {
39
39
  runChatTurn,
40
40
  runVerifierTurn
41
41
  };
42
- //# sourceMappingURL=orchestrator-7TPFEM3P.js.map
42
+ //# sourceMappingURL=orchestrator-WQDVNDB3.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "1.6.44",
3
+ "version": "1.6.46",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -175,7 +175,7 @@ var QueueProcessor = class {
175
175
  backend: provider?.backend ?? llmClient.getBackend(),
176
176
  model: llmClient.getModel()
177
177
  };
178
- const { runChatTurn } = await import("./orchestrator-7TPFEM3P.js");
178
+ const { runChatTurn } = await import("./orchestrator-WQDVNDB3.js");
179
179
  const runChatTurnParams = buildRunChatTurnParams({
180
180
  sessionManager,
181
181
  sessionId,
@@ -208,4 +208,4 @@ var QueueProcessor = class {
208
208
  export {
209
209
  QueueProcessor
210
210
  };
211
- //# sourceMappingURL=processor-EFJ7OJEL.js.map
211
+ //# sourceMappingURL=processor-7V5FI5X7.js.map
@@ -418,6 +418,7 @@ interface ModelConfig {
418
418
  topP?: number;
419
419
  topK?: number;
420
420
  maxTokens?: number;
421
+ supportsVision?: boolean;
421
422
  }
422
423
  /** LLM provider configuration */
423
424
  interface Provider {
@@ -5,18 +5,18 @@ import {
5
5
  loadGlobalConfig,
6
6
  removeProvider,
7
7
  saveGlobalConfig
8
- } from "./chunk-P6GUT2QQ.js";
8
+ } from "./chunk-4DNPYFL4.js";
9
9
  import {
10
10
  fetchAvailableModelsFromBackend
11
- } from "./chunk-PYBB34ZK.js";
11
+ } from "./chunk-HYIQFRYJ.js";
12
12
  import {
13
13
  detectModel
14
- } from "./chunk-KSASIV4B.js";
14
+ } from "./chunk-F2VWCCMC.js";
15
15
  import {
16
16
  detectBackend
17
- } from "./chunk-D4ZLSV6P.js";
17
+ } from "./chunk-WNZIUQ2L.js";
18
18
  import "./chunk-R4HADRYO.js";
19
- import "./chunk-CJNQGEYG.js";
19
+ import "./chunk-VCALN543.js";
20
20
  import "./chunk-PNBH3RAX.js";
21
21
 
22
22
  // src/cli/provider.ts
@@ -249,7 +249,7 @@ async function runProviderAdd(mode) {
249
249
  isActive: makeActive
250
250
  });
251
251
  if (makeActive) {
252
- const { setDefaultModelSelection } = await import("./config-ACVEHBKG.js");
252
+ const { setDefaultModelSelection } = await import("./config-3TU54V4X.js");
253
253
  newConfig = setDefaultModelSelection(newConfig, newConfig.providers[newConfig.providers.length - 1].id, selectedModel);
254
254
  }
255
255
  await saveGlobalConfig(mode, newConfig);
@@ -373,4 +373,4 @@ export {
373
373
  runProviderRemove,
374
374
  runProviderUse
375
375
  };
376
- //# sourceMappingURL=provider-RLQMVV2Z.js.map
376
+ //# sourceMappingURL=provider-J4G7XBDP.js.map