openfox 2.0.26 → 2.0.27

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 (29) hide show
  1. package/dist/{chat-handler-C4HZJNUN.js → chat-handler-7YZPQHI6.js} +6 -6
  2. package/dist/{chunk-SNQT7LNU.js → chunk-BW6DQC2L.js} +5 -23
  3. package/dist/{chunk-GBUP7UDI.js → chunk-DHOOJDHX.js} +14 -17
  4. package/dist/{chunk-DW55I7SI.js → chunk-DTZZ6GEI.js} +7 -7
  5. package/dist/{chunk-WEXW7ZXJ.js → chunk-FMI362TD.js} +2 -2
  6. package/dist/{chunk-K454WU7A.js → chunk-LU3I4FWR.js} +8 -8
  7. package/dist/{chunk-YBWY4DKY.js → chunk-M7M2VH45.js} +2 -2
  8. package/dist/{chunk-7H4PYZMT.js → chunk-NWMTGGVL.js} +3 -3
  9. package/dist/{chunk-YBPRGUAE.js → chunk-S2QN73UJ.js} +47 -39
  10. package/dist/{chunk-VI236SOY.js → chunk-UHWRWFLE.js} +2 -2
  11. package/dist/{chunk-YRRUHP4T.js → chunk-Z3GCVOXC.js} +6 -6
  12. package/dist/cli/dev.js +1 -1
  13. package/dist/cli/index.js +1 -1
  14. package/dist/{compactor-JMGSZ4DQ.js → compactor-G4QIY6PV.js} +3 -3
  15. package/dist/{config-Z66BQTNX.js → config-OV5OLKOC.js} +2 -2
  16. package/dist/{events-JKPHAR5W.js → events-F5IURVXP.js} +2 -2
  17. package/dist/{orchestrator-HZX3IETX.js → orchestrator-B5XMOEFI.js} +5 -5
  18. package/dist/package.json +1 -1
  19. package/dist/{processor-AX2QQWUX.js → processor-DJW5WIZO.js} +6 -6
  20. package/dist/{provider-XRTIWMB6.js → provider-AHIVZZI5.js} +4 -4
  21. package/dist/{provider-manager-4H4VGNYA.js → provider-manager-5742XBEI.js} +2 -2
  22. package/dist/{serve-NVFK3XHF.js → serve-LQ4DULNW.js} +10 -10
  23. package/dist/server/index.js +8 -8
  24. package/dist/{server-7MFV467L.js → server-WFXWONOK.js} +7 -7
  25. package/dist/{tools-4KGLCQJL.js → tools-B6HIABTH.js} +4 -4
  26. package/dist/web/assets/{index-CtG8oo36.js → index-DnJlePbY.js} +30 -30
  27. package/dist/web/index.html +1 -1
  28. package/dist/web/sw.js +1 -1
  29. package/package.json +1 -1
@@ -21,7 +21,7 @@ import {
21
21
  tokenFromPassword,
22
22
  verifyPassword,
23
23
  workflowExists
24
- } from "./chunk-DW55I7SI.js";
24
+ } from "./chunk-DTZZ6GEI.js";
25
25
  import {
26
26
  agentExists,
27
27
  createToolRegistry,
@@ -61,7 +61,7 @@ import {
61
61
  setMcpTools,
62
62
  setNotifyMcpServersChanged,
63
63
  skillExists
64
- } from "./chunk-K454WU7A.js";
64
+ } from "./chunk-LU3I4FWR.js";
65
65
  import {
66
66
  getPathSeparator,
67
67
  isAbsolutePath
@@ -107,14 +107,14 @@ import {
107
107
  updateSessionMetadata,
108
108
  updateSessionProvider,
109
109
  updateSessionRunning
110
- } from "./chunk-YBWY4DKY.js";
110
+ } from "./chunk-M7M2VH45.js";
111
111
  import {
112
112
  initDatabase
113
113
  } from "./chunk-FBGWG4N6.js";
114
114
  import {
115
115
  createProviderManager,
116
116
  parseDefaultModelSelection
117
- } from "./chunk-GBUP7UDI.js";
117
+ } from "./chunk-DHOOJDHX.js";
118
118
  import {
119
119
  detectModel,
120
120
  getLlmStatus
@@ -3448,7 +3448,7 @@ import { Router as Router6 } from "express";
3448
3448
  import { spawn as spawn2 } from "child_process";
3449
3449
 
3450
3450
  // src/constants.ts
3451
- var VERSION = "2.0.26";
3451
+ var VERSION = "2.0.27";
3452
3452
 
3453
3453
  // src/server/routes/auto-update.ts
3454
3454
  var updateInProgress = false;
@@ -3628,7 +3628,7 @@ async function createServerHandle(config4) {
3628
3628
  setMcpTools(mcpTools);
3629
3629
  logger.info("MCP tools registered", { count: mcpTools.length });
3630
3630
  }
3631
- const { signalMcpReady } = await import("./server-7MFV467L.js");
3631
+ const { signalMcpReady } = await import("./server-WFXWONOK.js");
3632
3632
  signalMcpReady();
3633
3633
  });
3634
3634
  const app = express();
@@ -3786,7 +3786,7 @@ async function createServerHandle(config4) {
3786
3786
  res.json({ project });
3787
3787
  });
3788
3788
  app.get("/api/sessions", async (req, res) => {
3789
- const { getRecentUserPromptsForSession } = await import("./events-JKPHAR5W.js");
3789
+ const { getRecentUserPromptsForSession } = await import("./events-F5IURVXP.js");
3790
3790
  const projectId = req.query["projectId"];
3791
3791
  const limit = Math.min(parseInt(req.query["limit"]) || 20, 100);
3792
3792
  const offset = parseInt(req.query["offset"]) || 0;
@@ -3819,9 +3819,9 @@ async function createServerHandle(config4) {
3819
3819
  res.status(201).json({ session });
3820
3820
  });
3821
3821
  app.get("/api/sessions/:id", async (req, res) => {
3822
- const { getEventStore: getEventStore2 } = await import("./events-JKPHAR5W.js");
3822
+ const { getEventStore: getEventStore2 } = await import("./events-F5IURVXP.js");
3823
3823
  const { buildMessagesFromStoredEvents } = await import("./folding-PI67HWBR.js");
3824
- const { getPendingQuestionsForSession } = await import("./tools-4KGLCQJL.js");
3824
+ const { getPendingQuestionsForSession } = await import("./tools-B6HIABTH.js");
3825
3825
  const session = sessionManager.getSession(req.params.id);
3826
3826
  if (!session) {
3827
3827
  return res.status(404).json({ error: "Session not found" });
@@ -3852,7 +3852,7 @@ async function createServerHandle(config4) {
3852
3852
  res.json({ success: true });
3853
3853
  });
3854
3854
  app.post("/api/sessions/:id/provider", async (req, res) => {
3855
- const { getEventStore: getEventStore2 } = await import("./events-JKPHAR5W.js");
3855
+ const { getEventStore: getEventStore2 } = await import("./events-F5IURVXP.js");
3856
3856
  const { buildMessagesFromStoredEvents } = await import("./folding-PI67HWBR.js");
3857
3857
  const sessionId = req.params.id;
3858
3858
  const session = sessionManager.getSession(sessionId);
@@ -3863,10 +3863,12 @@ async function createServerHandle(config4) {
3863
3863
  if (!providerId) {
3864
3864
  return res.status(400).json({ error: "providerId is required" });
3865
3865
  }
3866
- sessionManager.setSessionProvider(sessionId, providerId, model ?? "auto");
3867
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-Z66BQTNX.js");
3866
+ const provider = providerManager.getProviders().find((p) => p.id === providerId);
3867
+ const resolvedModel = model ?? provider?.models?.[0]?.id ?? "auto";
3868
+ sessionManager.setSessionProvider(sessionId, providerId, resolvedModel);
3869
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-OV5OLKOC.js");
3868
3870
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
3869
- const updatedConfig = setDefaultModelSelection(globalConfig, providerId, model ?? "auto");
3871
+ const updatedConfig = setDefaultModelSelection(globalConfig, providerId, resolvedModel);
3870
3872
  await saveGlobalConfig(config4.mode ?? "production", updatedConfig);
3871
3873
  config4.defaultModelSelection = updatedConfig.defaultModelSelection;
3872
3874
  const contextState = sessionManager.getContextState(sessionId);
@@ -3895,7 +3897,7 @@ async function createServerHandle(config4) {
3895
3897
  res.json({ success: true });
3896
3898
  });
3897
3899
  app.put("/api/sessions/:id/mode", async (req, res) => {
3898
- const { getEventStore: getEventStore2 } = await import("./events-JKPHAR5W.js");
3900
+ const { getEventStore: getEventStore2 } = await import("./events-F5IURVXP.js");
3899
3901
  const { buildMessagesFromStoredEvents } = await import("./folding-PI67HWBR.js");
3900
3902
  const sessionId = req.params.id;
3901
3903
  const session = sessionManager.getSession(sessionId);
@@ -3952,15 +3954,15 @@ async function createServerHandle(config4) {
3952
3954
  if (!callId || approved === void 0) {
3953
3955
  return res.status(400).json({ error: "callId and approved are required" });
3954
3956
  }
3955
- const { providePathConfirmation } = await import("./tools-4KGLCQJL.js");
3957
+ const { providePathConfirmation } = await import("./tools-B6HIABTH.js");
3956
3958
  const result = providePathConfirmation(callId, approved, alwaysAllow);
3957
3959
  if (!result.found) {
3958
3960
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
3959
3961
  }
3960
- const { getEventStore: getEventStore2 } = await import("./events-JKPHAR5W.js");
3962
+ const { getEventStore: getEventStore2 } = await import("./events-F5IURVXP.js");
3961
3963
  const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-PI67HWBR.js");
3962
3964
  const { createSessionStateMessage } = await import("./protocol-BKNLAEPJ.js");
3963
- const { getPendingQuestionsForSession } = await import("./tools-4KGLCQJL.js");
3965
+ const { getPendingQuestionsForSession } = await import("./tools-B6HIABTH.js");
3964
3966
  const eventStore = getEventStore2();
3965
3967
  const events = eventStore.getEvents(sessionId);
3966
3968
  const messages = buildMessagesFromStoredEvents(events);
@@ -3981,7 +3983,7 @@ async function createServerHandle(config4) {
3981
3983
  if (!skip && typeof answer !== "string") {
3982
3984
  return res.status(400).json({ error: "answer is required when not skipping" });
3983
3985
  }
3984
- const { provideAnswer } = await import("./tools-4KGLCQJL.js");
3986
+ const { provideAnswer } = await import("./tools-B6HIABTH.js");
3985
3987
  const found = provideAnswer(callId, answer ?? "", skip ?? false);
3986
3988
  if (!found) {
3987
3989
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -4017,15 +4019,15 @@ async function createServerHandle(config4) {
4017
4019
  if (!session) {
4018
4020
  return res.status(404).json({ error: "Session not found" });
4019
4021
  }
4020
- const { stopSessionExecution } = await import("./chat-handler-C4HZJNUN.js");
4021
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-4KGLCQJL.js");
4022
+ const { stopSessionExecution } = await import("./chat-handler-7YZPQHI6.js");
4023
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-B6HIABTH.js");
4022
4024
  const queuedMessages = sessionManager.getQueueState(sessionId);
4023
4025
  sessionManager.clearMessageQueue(sessionId);
4024
4026
  stopSessionExecution(sessionId, sessionManager);
4025
4027
  abortSession(sessionId);
4026
4028
  cancelQuestionsForSession(sessionId, "Session stopped by user");
4027
4029
  cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
4028
- const eventStore = (await import("./events-JKPHAR5W.js")).getEventStore();
4030
+ const eventStore = (await import("./events-F5IURVXP.js")).getEventStore();
4029
4031
  eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
4030
4032
  res.json({ success: true, queuedMessages });
4031
4033
  });
@@ -4039,7 +4041,7 @@ async function createServerHandle(config4) {
4039
4041
  if (typeof messageIndex !== "number" || messageIndex < 0) {
4040
4042
  return res.status(400).json({ error: "messageIndex must be a non-negative number" });
4041
4043
  }
4042
- const { truncateSessionMessages } = await import("./events-JKPHAR5W.js");
4044
+ const { truncateSessionMessages } = await import("./events-F5IURVXP.js");
4043
4045
  truncateSessionMessages(sessionId, messageIndex);
4044
4046
  res.json({ success: true });
4045
4047
  });
@@ -4057,7 +4059,7 @@ async function createServerHandle(config4) {
4057
4059
  if (!msg) {
4058
4060
  return res.status(400).json({ error: "Message not found at this index" });
4059
4061
  }
4060
- const { truncateSessionMessages } = await import("./events-JKPHAR5W.js");
4062
+ const { truncateSessionMessages } = await import("./events-F5IURVXP.js");
4061
4063
  truncateSessionMessages(sessionId, messageIndex - 1);
4062
4064
  sessionManager.queueMessage(sessionId, "asap", msg.content, msg.attachments, msg.messageKind);
4063
4065
  res.json({ success: true });
@@ -4129,7 +4131,7 @@ async function createServerHandle(config4) {
4129
4131
  let visionFallback;
4130
4132
  let globalWorkdir;
4131
4133
  try {
4132
- const { loadGlobalConfig, getVisionFallback } = await import("./config-Z66BQTNX.js");
4134
+ const { loadGlobalConfig, getVisionFallback } = await import("./config-OV5OLKOC.js");
4133
4135
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
4134
4136
  const fallback = getVisionFallback(globalConfig);
4135
4137
  if (fallback) {
@@ -4225,7 +4227,7 @@ async function createServerHandle(config4) {
4225
4227
  const apiKey = req.query["apiKey"];
4226
4228
  if (!url) return res.status(400).json({ error: "url is required" });
4227
4229
  try {
4228
- const { fetchModelsWithContext } = await import("./provider-manager-4H4VGNYA.js");
4230
+ const { fetchModelsWithContext } = await import("./provider-manager-5742XBEI.js");
4229
4231
  const models = await fetchModelsWithContext(url, apiKey);
4230
4232
  if (models.length === 0) {
4231
4233
  return res.status(404).json({ error: `No models found at ${buildModelsUrl(url)}`, url });
@@ -4341,9 +4343,10 @@ async function createServerHandle(config4) {
4341
4343
  return res.status(400).json({ error: "name, url, and backend are required" });
4342
4344
  }
4343
4345
  try {
4344
- const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-Z66BQTNX.js");
4346
+ const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-OV5OLKOC.js");
4345
4347
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
4346
4348
  const providerBackend = backend;
4349
+ const providerModels = modelConfigs?.length ? buildModelConfigs(modelConfigs) : model ? [{ id: model, contextWindow: 2e5, source: "user" }] : [];
4347
4350
  const configWithProvider = addProvider(globalConfig, {
4348
4351
  name,
4349
4352
  url,
@@ -4351,16 +4354,18 @@ async function createServerHandle(config4) {
4351
4354
  apiKey,
4352
4355
  ...isLocal !== void 0 ? { isLocal } : {},
4353
4356
  ...thinkingField ? { thinkingField } : {},
4354
- models: modelConfigs?.length ? buildModelConfigs(modelConfigs) : model ? [{ id: model, contextWindow: 2e5, source: "user" }] : [],
4357
+ models: providerModels,
4355
4358
  isActive: true
4356
4359
  });
4360
+ const firstModelId = model ?? providerModels[0]?.id ?? "auto";
4357
4361
  const finalConfig = setDefaultModelSelection(
4358
4362
  configWithProvider,
4359
4363
  configWithProvider.providers[configWithProvider.providers.length - 1].id,
4360
- model ?? "auto"
4364
+ firstModelId
4361
4365
  );
4362
4366
  await saveGlobalConfig(config4.mode ?? "production", finalConfig);
4363
4367
  providerManager.setProviders(finalConfig.providers, finalConfig.defaultModelSelection ?? void 0);
4368
+ config4.defaultModelSelection = finalConfig.defaultModelSelection;
4364
4369
  const newProvider = finalConfig.providers[finalConfig.providers.length - 1];
4365
4370
  res.status(201).json({
4366
4371
  success: true,
@@ -4376,7 +4381,7 @@ async function createServerHandle(config4) {
4376
4381
  app.post("/api/init/config", async (req, res) => {
4377
4382
  const { workdir, visionFallback } = req.body;
4378
4383
  try {
4379
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-Z66BQTNX.js");
4384
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-OV5OLKOC.js");
4380
4385
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
4381
4386
  const updatedConfig = {
4382
4387
  ...globalConfig,
@@ -4404,18 +4409,19 @@ async function createServerHandle(config4) {
4404
4409
  });
4405
4410
  app.delete("/api/providers/:id", async (req, res) => {
4406
4411
  const { id } = req.params;
4407
- const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-Z66BQTNX.js");
4412
+ const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-OV5OLKOC.js");
4408
4413
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
4409
4414
  const updatedConfig = removeProvider(globalConfig, id);
4410
4415
  await saveGlobalConfig(config4.mode ?? "production", updatedConfig);
4411
4416
  providerManager.setProviders(updatedConfig.providers, updatedConfig.defaultModelSelection ?? void 0);
4417
+ config4.defaultModelSelection = updatedConfig.defaultModelSelection;
4412
4418
  res.json({ success: true });
4413
4419
  });
4414
4420
  app.patch("/api/providers/:id", async (req, res) => {
4415
4421
  const { id } = req.params;
4416
4422
  const { isLocal } = req.body;
4417
4423
  try {
4418
- const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-Z66BQTNX.js");
4424
+ const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-OV5OLKOC.js");
4419
4425
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
4420
4426
  const provider = globalConfig.providers.find((p) => p.id === id);
4421
4427
  if (!provider) {
@@ -4426,6 +4432,7 @@ async function createServerHandle(config4) {
4426
4432
  const updatedConfig = updateProvider(globalConfig, id, updates);
4427
4433
  await saveGlobalConfig(config4.mode ?? "production", updatedConfig);
4428
4434
  providerManager.setProviders(updatedConfig.providers, updatedConfig.defaultModelSelection ?? void 0);
4435
+ config4.defaultModelSelection = updatedConfig.defaultModelSelection;
4429
4436
  res.json({ success: true, provider: updatedConfig.providers.find((p) => p.id === id) });
4430
4437
  } catch (error) {
4431
4438
  res.status(500).json({ error: error instanceof Error ? error.message : "Failed to update provider" });
@@ -4443,7 +4450,7 @@ async function createServerHandle(config4) {
4443
4450
  models: modelConfigs
4444
4451
  } = req.body;
4445
4452
  try {
4446
- const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-Z66BQTNX.js");
4453
+ const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-OV5OLKOC.js");
4447
4454
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
4448
4455
  const provider = globalConfig.providers.find((p) => p.id === id);
4449
4456
  if (!provider) {
@@ -4462,6 +4469,7 @@ async function createServerHandle(config4) {
4462
4469
  const updatedConfig = updateProvider(globalConfig, id, updates);
4463
4470
  await saveGlobalConfig(config4.mode ?? "production", updatedConfig);
4464
4471
  providerManager.setProviders(updatedConfig.providers, updatedConfig.defaultModelSelection ?? void 0);
4472
+ config4.defaultModelSelection = updatedConfig.defaultModelSelection;
4465
4473
  res.json({ success: true, provider: updatedConfig.providers.find((p) => p.id === id) });
4466
4474
  } catch (error) {
4467
4475
  res.status(500).json({ error: error instanceof Error ? error.message : "Failed to update provider" });
@@ -4480,7 +4488,7 @@ async function createServerHandle(config4) {
4480
4488
  return res.status(400).json({ error: result.error });
4481
4489
  }
4482
4490
  const llmClient = getLLMClient();
4483
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-Z66BQTNX.js");
4491
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-OV5OLKOC.js");
4484
4492
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
4485
4493
  const updatedConfig = setDefaultModelSelection(globalConfig, id, llmClient.getModel());
4486
4494
  await saveGlobalConfig(config4.mode ?? "production", updatedConfig);
@@ -4507,7 +4515,7 @@ async function createServerHandle(config4) {
4507
4515
  });
4508
4516
  async function rebuildMcpTools() {
4509
4517
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-B7QP6NLA.js");
4510
- const { setMcpTools: setMcpTools2 } = await import("./tools-4KGLCQJL.js");
4518
+ const { setMcpTools: setMcpTools2 } = await import("./tools-B6HIABTH.js");
4511
4519
  const mcpTools = createMcpTools2(mcpManager);
4512
4520
  setMcpTools2(mcpTools);
4513
4521
  }
@@ -4569,7 +4577,7 @@ async function createServerHandle(config4) {
4569
4577
  };
4570
4578
  await mcpManager.addServer(name, serverCfg);
4571
4579
  const server = mcpManager.getServer(name);
4572
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-Z66BQTNX.js");
4580
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-OV5OLKOC.js");
4573
4581
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
4574
4582
  const updatedMcpServers = { ...globalConfig.mcpServers ?? {}, [name]: serverCfg };
4575
4583
  await saveGlobalConfig(config4.mode ?? "production", {
@@ -4595,7 +4603,7 @@ async function createServerHandle(config4) {
4595
4603
  return res.status(404).json({ error: `MCP server '${name}' not found` });
4596
4604
  }
4597
4605
  mcpManager.removeServer(name);
4598
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-Z66BQTNX.js");
4606
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-OV5OLKOC.js");
4599
4607
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
4600
4608
  const updatedMcpServers = { ...globalConfig.mcpServers ?? {} };
4601
4609
  delete updatedMcpServers[name];
@@ -4620,7 +4628,7 @@ async function createServerHandle(config4) {
4620
4628
  await mcpManager.setToolEnabled(name, toolName, enabled);
4621
4629
  const server = mcpManager.getServer(name);
4622
4630
  if (server) {
4623
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-Z66BQTNX.js");
4631
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-OV5OLKOC.js");
4624
4632
  const globalConfig = await loadGlobalConfig(config4.mode ?? "production");
4625
4633
  const mcpServers2 = { ...globalConfig.mcpServers ?? {} };
4626
4634
  const serverCfg = mcpServers2[name];
@@ -4819,7 +4827,7 @@ async function createServerHandle(config4) {
4819
4827
  const state = sessionManager.getContextState(sessionId);
4820
4828
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
4821
4829
  });
4822
- const { QueueProcessor } = await import("./processor-AX2QQWUX.js");
4830
+ const { QueueProcessor } = await import("./processor-DJW5WIZO.js");
4823
4831
  const queueProcessor = new QueueProcessor({
4824
4832
  sessionManager,
4825
4833
  providerManager,
@@ -4894,4 +4902,4 @@ export {
4894
4902
  createServerHandle,
4895
4903
  createServer
4896
4904
  };
4897
- //# sourceMappingURL=chunk-YBPRGUAE.js.map
4905
+ //# sourceMappingURL=chunk-S2QN73UJ.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  getEventStore,
10
10
  updateSessionMetadata
11
- } from "./chunk-YBWY4DKY.js";
11
+ } from "./chunk-M7M2VH45.js";
12
12
  import {
13
13
  buildMessagesFromStoredEvents,
14
14
  foldPendingConfirmations
@@ -174,4 +174,4 @@ export {
174
174
  buildRunChatTurnParams,
175
175
  generateSessionNameForSession
176
176
  };
177
- //# sourceMappingURL=chunk-VI236SOY.js.map
177
+ //# sourceMappingURL=chunk-UHWRWFLE.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-Z66BQTNX.js");
36
+ const { saveGlobalConfig } = await import("./config-OV5OLKOC.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-Z66BQTNX.js");
97
+ const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-OV5OLKOC.js");
98
98
  const { getGlobalConfigPath } = await import("./paths-X46PPOI2.js");
99
99
  const config = await loadGlobalConfig(mode);
100
100
  const configPath = getGlobalConfigPath(mode);
@@ -152,7 +152,7 @@ async function runCli(options) {
152
152
  break;
153
153
  }
154
154
  case "provider": {
155
- const { runProviderCommand } = await import("./provider-XRTIWMB6.js");
155
+ const { runProviderCommand } = await import("./provider-AHIVZZI5.js");
156
156
  const [, subcommand] = positionals;
157
157
  await runProviderCommand(mode, subcommand);
158
158
  break;
@@ -191,12 +191,12 @@ async function runCli(options) {
191
191
  break;
192
192
  }
193
193
  default: {
194
- const { configFileExists } = await import("./config-Z66BQTNX.js");
194
+ const { configFileExists } = await import("./config-OV5OLKOC.js");
195
195
  const configExists = await configFileExists(mode);
196
196
  if (!configExists) {
197
197
  await runNetworkSetup(mode);
198
198
  }
199
- const { runServe } = await import("./serve-NVFK3XHF.js");
199
+ const { runServe } = await import("./serve-LQ4DULNW.js");
200
200
  const serveOptions = { mode };
201
201
  if (values.port) serveOptions.port = parseInt(values.port);
202
202
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -208,4 +208,4 @@ async function runCli(options) {
208
208
  export {
209
209
  runCli
210
210
  };
211
- //# sourceMappingURL=chunk-YRRUHP4T.js.map
211
+ //# sourceMappingURL=chunk-Z3GCVOXC.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-YRRUHP4T.js";
4
+ } from "../chunk-Z3GCVOXC.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-YRRUHP4T.js";
4
+ } from "../chunk-Z3GCVOXC.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
@@ -2,9 +2,9 @@ import {
2
2
  appendCompactionPrompt,
3
3
  getCompactionTarget,
4
4
  shouldCompact
5
- } from "./chunk-WEXW7ZXJ.js";
5
+ } from "./chunk-FMI362TD.js";
6
6
  import "./chunk-YGSBVKFU.js";
7
- import "./chunk-YBWY4DKY.js";
7
+ import "./chunk-M7M2VH45.js";
8
8
  import "./chunk-6PLAWCHQ.js";
9
9
  import "./chunk-FBGWG4N6.js";
10
10
  import "./chunk-J2GP3J3X.js";
@@ -17,4 +17,4 @@ export {
17
17
  getCompactionTarget,
18
18
  shouldCompact
19
19
  };
20
- //# sourceMappingURL=compactor-JMGSZ4DQ.js.map
20
+ //# sourceMappingURL=compactor-G4QIY6PV.js.map
@@ -13,7 +13,7 @@ import {
13
13
  saveGlobalConfig,
14
14
  setDefaultModelSelection,
15
15
  updateProvider
16
- } from "./chunk-SNQT7LNU.js";
16
+ } from "./chunk-BW6DQC2L.js";
17
17
  import "./chunk-CQGTEGKL.js";
18
18
  export {
19
19
  activateProvider,
@@ -31,4 +31,4 @@ export {
31
31
  setDefaultModelSelection,
32
32
  updateProvider
33
33
  };
34
- //# sourceMappingURL=config-Z66BQTNX.js.map
34
+ //# sourceMappingURL=config-OV5OLKOC.js.map
@@ -38,7 +38,7 @@ import {
38
38
  isStoredEvent,
39
39
  isTurnEvent,
40
40
  truncateSessionMessages
41
- } from "./chunk-YBWY4DKY.js";
41
+ } from "./chunk-M7M2VH45.js";
42
42
  import {
43
43
  buildContextMessagesFromEventHistory,
44
44
  buildContextMessagesFromMessages,
@@ -114,4 +114,4 @@ export {
114
114
  isTurnEvent,
115
115
  truncateSessionMessages
116
116
  };
117
- //# sourceMappingURL=events-JKPHAR5W.js.map
117
+ //# sourceMappingURL=events-F5IURVXP.js.map
@@ -2,8 +2,8 @@ import {
2
2
  injectWorkflowKickoffIfNeeded,
3
3
  runAgentTurn,
4
4
  runChatTurn
5
- } from "./chunk-7H4PYZMT.js";
6
- import "./chunk-K454WU7A.js";
5
+ } from "./chunk-NWMTGGVL.js";
6
+ import "./chunk-LU3I4FWR.js";
7
7
  import "./chunk-DL6ZILAF.js";
8
8
  import "./chunk-PBGOZMVY.js";
9
9
  import "./chunk-VRGRAQDG.js";
@@ -20,7 +20,7 @@ import {
20
20
  createToolCallEvent,
21
21
  createToolResultEvent
22
22
  } from "./chunk-YGSBVKFU.js";
23
- import "./chunk-YBWY4DKY.js";
23
+ import "./chunk-M7M2VH45.js";
24
24
  import "./chunk-6PLAWCHQ.js";
25
25
  import "./chunk-FBGWG4N6.js";
26
26
  import "./chunk-J2GP3J3X.js";
@@ -28,7 +28,7 @@ import "./chunk-Z4FMBCJO.js";
28
28
  import "./chunk-ZJ4FP6RS.js";
29
29
  import "./chunk-K44MW7JJ.js";
30
30
  import "./chunk-YD6NDTKF.js";
31
- import "./chunk-SNQT7LNU.js";
31
+ import "./chunk-BW6DQC2L.js";
32
32
  import "./chunk-CQGTEGKL.js";
33
33
  import "./chunk-V4IE7HJY.js";
34
34
  export {
@@ -42,4 +42,4 @@ export {
42
42
  runAgentTurn,
43
43
  runChatTurn
44
44
  };
45
- //# sourceMappingURL=orchestrator-HZX3IETX.js.map
45
+ //# sourceMappingURL=orchestrator-B5XMOEFI.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.26",
3
+ "version": "2.0.27",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -2,8 +2,8 @@ import {
2
2
  buildRunChatTurnParams,
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
- } from "./chunk-VI236SOY.js";
6
- import "./chunk-K454WU7A.js";
5
+ } from "./chunk-UHWRWFLE.js";
6
+ import "./chunk-LU3I4FWR.js";
7
7
  import "./chunk-DL6ZILAF.js";
8
8
  import "./chunk-PBGOZMVY.js";
9
9
  import "./chunk-VRGRAQDG.js";
@@ -18,7 +18,7 @@ import "./chunk-O4TED6AJ.js";
18
18
  import "./chunk-YGSBVKFU.js";
19
19
  import {
20
20
  getEventStore
21
- } from "./chunk-YBWY4DKY.js";
21
+ } from "./chunk-M7M2VH45.js";
22
22
  import "./chunk-6PLAWCHQ.js";
23
23
  import "./chunk-FBGWG4N6.js";
24
24
  import "./chunk-J2GP3J3X.js";
@@ -28,7 +28,7 @@ import {
28
28
  logger
29
29
  } from "./chunk-K44MW7JJ.js";
30
30
  import "./chunk-YD6NDTKF.js";
31
- import "./chunk-SNQT7LNU.js";
31
+ import "./chunk-BW6DQC2L.js";
32
32
  import "./chunk-CQGTEGKL.js";
33
33
  import "./chunk-V4IE7HJY.js";
34
34
 
@@ -171,7 +171,7 @@ var QueueProcessor = class {
171
171
  backend: provider?.backend ?? llmClient.getBackend(),
172
172
  model: llmClient.getModel()
173
173
  };
174
- const { runChatTurn } = await import("./orchestrator-HZX3IETX.js");
174
+ const { runChatTurn } = await import("./orchestrator-B5XMOEFI.js");
175
175
  const runChatTurnParams = buildRunChatTurnParams({
176
176
  sessionManager,
177
177
  sessionId,
@@ -216,4 +216,4 @@ var QueueProcessor = class {
216
216
  export {
217
217
  QueueProcessor
218
218
  };
219
- //# sourceMappingURL=processor-AX2QQWUX.js.map
219
+ //# sourceMappingURL=processor-DJW5WIZO.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fetchAvailableModelsFromBackend
3
- } from "./chunk-GBUP7UDI.js";
3
+ } from "./chunk-DHOOJDHX.js";
4
4
  import {
5
5
  detectModel
6
6
  } from "./chunk-M3RB4IF6.js";
@@ -18,7 +18,7 @@ import {
18
18
  loadGlobalConfig,
19
19
  removeProvider,
20
20
  saveGlobalConfig
21
- } from "./chunk-SNQT7LNU.js";
21
+ } from "./chunk-BW6DQC2L.js";
22
22
  import "./chunk-CQGTEGKL.js";
23
23
  import "./chunk-V4IE7HJY.js";
24
24
 
@@ -260,7 +260,7 @@ async function runProviderAdd(mode) {
260
260
  isActive: makeActive
261
261
  });
262
262
  if (makeActive) {
263
- const { setDefaultModelSelection } = await import("./config-Z66BQTNX.js");
263
+ const { setDefaultModelSelection } = await import("./config-OV5OLKOC.js");
264
264
  newConfig = setDefaultModelSelection(
265
265
  newConfig,
266
266
  newConfig.providers[newConfig.providers.length - 1].id,
@@ -388,4 +388,4 @@ export {
388
388
  runProviderRemove,
389
389
  runProviderUse
390
390
  };
391
- //# sourceMappingURL=provider-XRTIWMB6.js.map
391
+ //# sourceMappingURL=provider-AHIVZZI5.js.map
@@ -3,7 +3,7 @@ import {
3
3
  fetchAvailableModelsFromBackend,
4
4
  fetchModelsWithContext,
5
5
  parseDefaultModelSelection
6
- } from "./chunk-GBUP7UDI.js";
6
+ } from "./chunk-DHOOJDHX.js";
7
7
  import "./chunk-M3RB4IF6.js";
8
8
  import "./chunk-J2GP3J3X.js";
9
9
  import "./chunk-QYP6MOB5.js";
@@ -19,4 +19,4 @@ export {
19
19
  fetchModelsWithContext,
20
20
  parseDefaultModelSelection
21
21
  };
22
- //# sourceMappingURL=provider-manager-4H4VGNYA.js.map
22
+ //# sourceMappingURL=provider-manager-5742XBEI.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  VERSION,
3
3
  createServer
4
- } from "./chunk-YBPRGUAE.js";
5
- import "./chunk-DW55I7SI.js";
6
- import "./chunk-7H4PYZMT.js";
7
- import "./chunk-K454WU7A.js";
4
+ } from "./chunk-S2QN73UJ.js";
5
+ import "./chunk-DTZZ6GEI.js";
6
+ import "./chunk-NWMTGGVL.js";
7
+ import "./chunk-LU3I4FWR.js";
8
8
  import "./chunk-DL6ZILAF.js";
9
9
  import "./chunk-PBGOZMVY.js";
10
10
  import "./chunk-VRGRAQDG.js";
@@ -13,14 +13,14 @@ import "./chunk-F4PMNP7S.js";
13
13
  import "./chunk-EU3WWTFH.js";
14
14
  import "./chunk-RFNEDBVO.js";
15
15
  import "./chunk-O4TED6AJ.js";
16
- import "./chunk-WEXW7ZXJ.js";
16
+ import "./chunk-FMI362TD.js";
17
17
  import "./chunk-YGSBVKFU.js";
18
18
  import {
19
19
  loadConfig
20
- } from "./chunk-YBWY4DKY.js";
20
+ } from "./chunk-M7M2VH45.js";
21
21
  import "./chunk-6PLAWCHQ.js";
22
22
  import "./chunk-FBGWG4N6.js";
23
- import "./chunk-GBUP7UDI.js";
23
+ import "./chunk-DHOOJDHX.js";
24
24
  import "./chunk-M3RB4IF6.js";
25
25
  import "./chunk-J2GP3J3X.js";
26
26
  import "./chunk-QYP6MOB5.js";
@@ -37,7 +37,7 @@ import {
37
37
  getActiveProvider,
38
38
  getDefaultModel,
39
39
  loadGlobalConfig
40
- } from "./chunk-SNQT7LNU.js";
40
+ } from "./chunk-BW6DQC2L.js";
41
41
  import {
42
42
  ensureDataDirExists,
43
43
  getDatabasePath,
@@ -144,7 +144,7 @@ async function runServe(options) {
144
144
  const envModel = env.llm.model;
145
145
  const envUrl = env.llm.baseUrl;
146
146
  const isEnvBackendExplicit = envBackend !== "unknown";
147
- const isEnvModelExplicit = envModel !== "qwen3.5-122b-int4-autoround";
147
+ const isEnvModelExplicit = !!envModel;
148
148
  const isEnvUrlExplicit = envUrl !== "http://localhost:8000/v1";
149
149
  const providerUrl = activeProvider?.url ?? envUrl;
150
150
  const defaultModel = getDefaultModel(globalConfig) ?? envModel;
@@ -199,4 +199,4 @@ async function runServe(options) {
199
199
  export {
200
200
  runServe
201
201
  };
202
- //# sourceMappingURL=serve-NVFK3XHF.js.map
202
+ //# sourceMappingURL=serve-LQ4DULNW.js.map