openfox 1.6.71 → 1.6.73

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 (37) hide show
  1. package/dist/{auth-JF2HDJ6P.js → auth-LZZX63KI.js} +1 -1
  2. package/dist/{auto-compaction-FJ2LGJSA.js → auto-compaction-HQHEK75L.js} +9 -9
  3. package/dist/{chat-handler-KSF2CR5H.js → chat-handler-NNDQSDFI.js} +12 -12
  4. package/dist/{chunk-ENAZTRCR.js → chunk-4CQ7CUQ6.js} +2 -2
  5. package/dist/{chunk-F2VWCCMC.js → chunk-55Z3DJ7G.js} +5 -5
  6. package/dist/{chunk-LRXDM2PJ.js → chunk-5UTTLO4D.js} +5 -5
  7. package/dist/{chunk-TVQOONDR.js → chunk-AFATQ5LJ.js} +1 -6
  8. package/dist/{chunk-VCALN543.js → chunk-DLINTLB7.js} +3 -3
  9. package/dist/{chunk-K6NHXJM3.js → chunk-EGIJKK4U.js} +7 -5
  10. package/dist/{chunk-WNZIUQ2L.js → chunk-J5DV33SS.js} +2 -2
  11. package/dist/{chunk-HYIQFRYJ.js → chunk-JQBTYHUR.js} +21 -10
  12. package/dist/{chunk-KVZIYCT4.js → chunk-ODUSHSK2.js} +20 -22
  13. package/dist/{chunk-YNWDWIX2.js → chunk-PPSXSDMY.js} +18 -7
  14. package/dist/{chunk-WNDXRFVQ.js → chunk-RTOWT3GF.js} +42 -87
  15. package/dist/{chunk-4DNPYFL4.js → chunk-TYUNDOX2.js} +4 -4
  16. package/dist/cli/dev.js +1 -1
  17. package/dist/cli/index.js +1 -1
  18. package/dist/{config-3TU54V4X.js → config-6T4EHAP2.js} +5 -5
  19. package/dist/{events-2NH6YMVZ.js → events-LKEZ3YCW.js} +4 -4
  20. package/dist/{orchestrator-KBUCDCWE.js → orchestrator-T2EQZJS5.js} +10 -10
  21. package/dist/package.json +3 -1
  22. package/dist/{processor-TUK3TJ3N.js → processor-HF5SS6CR.js} +6 -6
  23. package/dist/{protocol-D8pu3Njm.d.ts → protocol-DRBnujwe.d.ts} +4 -0
  24. package/dist/{provider-J4G7XBDP.js → provider-AKN355YH.js} +8 -9
  25. package/dist/pwa-GHQCMCIU.js +357 -0
  26. package/dist/{runtime-config-2XJJIMSC.js → runtime-config-ZCK74XKM.js} +2 -2
  27. package/dist/{serve-Y7CERCIH.js → serve-YCFUOOGT.js} +14 -14
  28. package/dist/server/index.d.ts +2 -2
  29. package/dist/server/index.js +12 -12
  30. package/dist/shared/index.d.ts +2 -2
  31. package/dist/{tools-J23MXDY6.js → tools-5MCH72FH.js} +9 -9
  32. package/dist/{vision-fallback-HXPTLQHN.js → vision-fallback-AXH3BGJC.js} +2 -2
  33. package/dist/web/assets/{index-o22LDSSr.js → index-9GgVgB7B.js} +47 -47
  34. package/dist/web/assets/{index-Da8AupAk.css → index-D4Si0Pmc.css} +1 -1
  35. package/dist/web/index.html +2 -2
  36. package/dist/web/sw.js +1 -1
  37. package/package.json +3 -1
@@ -2,11 +2,10 @@ import {
2
2
  createVerifierNudgeConfig,
3
3
  runBuilderTurn,
4
4
  runChatTurn
5
- } from "./chunk-K6NHXJM3.js";
5
+ } from "./chunk-EGIJKK4U.js";
6
6
  import {
7
7
  TurnMetrics,
8
8
  agentExists,
9
- cancelPathConfirmationsForSession,
10
9
  checkAborted,
11
10
  createMessageStartEvent,
12
11
  createToolRegistry,
@@ -38,31 +37,31 @@ import {
38
37
  setSkillEnabled,
39
38
  skillExists,
40
39
  spawnShellProcess
41
- } from "./chunk-KVZIYCT4.js";
40
+ } from "./chunk-ODUSHSK2.js";
41
+ import {
42
+ getProject
43
+ } from "./chunk-7JPKRM6M.js";
42
44
  import {
43
45
  getPathSeparator,
44
46
  getPlatformShell,
45
47
  isAbsolutePath,
46
48
  onProcessEvent
47
49
  } from "./chunk-NBU6KIOD.js";
48
- import {
49
- getProject
50
- } from "./chunk-7JPKRM6M.js";
51
50
  import {
52
51
  createProviderManager,
53
52
  parseDefaultModelSelection
54
- } from "./chunk-HYIQFRYJ.js";
53
+ } from "./chunk-JQBTYHUR.js";
55
54
  import {
56
55
  SessionNotFoundError,
57
56
  createLLMClient,
58
57
  detectModel,
59
58
  getLlmStatus
60
- } from "./chunk-F2VWCCMC.js";
59
+ } from "./chunk-55Z3DJ7G.js";
61
60
  import {
62
61
  detectBackend,
63
62
  getBackendDisplayName,
64
63
  getModelProfile
65
- } from "./chunk-WNZIUQ2L.js";
64
+ } from "./chunk-J5DV33SS.js";
66
65
  import {
67
66
  createSession,
68
67
  deleteSession,
@@ -88,7 +87,10 @@ import {
88
87
  updateSessionProvider,
89
88
  updateSessionRunning,
90
89
  updateSessionSummary
91
- } from "./chunk-LRXDM2PJ.js";
90
+ } from "./chunk-5UTTLO4D.js";
91
+ import {
92
+ initDatabase
93
+ } from "./chunk-BLNFJ22S.js";
92
94
  import {
93
95
  buildMessagesFromStoredEvents,
94
96
  foldPendingConfirmations
@@ -109,12 +111,8 @@ import {
109
111
  } from "./chunk-KFBIHS3S.js";
110
112
  import {
111
113
  EventEmitter,
112
- cancelQuestionsForSession,
113
114
  provideAnswer
114
115
  } from "./chunk-22CTURMH.js";
115
- import {
116
- initDatabase
117
- } from "./chunk-BLNFJ22S.js";
118
116
  import {
119
117
  computeSessionStats
120
118
  } from "./chunk-B7E3BICY.js";
@@ -127,7 +125,7 @@ import {
127
125
  import {
128
126
  getRuntimeConfig,
129
127
  setRuntimeConfig
130
- } from "./chunk-TVQOONDR.js";
128
+ } from "./chunk-AFATQ5LJ.js";
131
129
  import {
132
130
  logger,
133
131
  setLogLevel
@@ -2221,9 +2219,6 @@ function createWebSocketServer(httpServer, config, getLLMClient, getActiveProvid
2221
2219
  model: client.getModel()
2222
2220
  };
2223
2221
  }
2224
- function invalidateSessionLLMClient(sessionId) {
2225
- sessionLLMClients.delete(sessionId);
2226
- }
2227
2222
  const isSubscribedToSession = (client, sessionId) => {
2228
2223
  return client.activeSessionId === sessionId;
2229
2224
  };
@@ -2290,29 +2285,6 @@ function createWebSocketServer(httpServer, config, getLLMClient, getActiveProvid
2290
2285
  cleanupAfterTurn(sessionId, controller, broadcastForSession, false);
2291
2286
  });
2292
2287
  }
2293
- function triggerQueueProcessing(sessionId) {
2294
- const currentSession = sessionManager.getSession(sessionId);
2295
- if (!currentSession || currentSession.isRunning) {
2296
- return false;
2297
- }
2298
- const queue = sessionManager.getQueueState(sessionId);
2299
- if (queue.length === 0) {
2300
- return false;
2301
- }
2302
- const controller = new AbortController();
2303
- activeAgents.set(sessionId, controller);
2304
- sessionManager.setRunning(sessionId, true);
2305
- const eventStore = getEventStore();
2306
- eventStore.append(sessionId, { type: "running.changed", data: { isRunning: true } });
2307
- broadcastForSession(sessionId, createSessionRunningMessage(true, sessionId));
2308
- const nextAsap = queue.find((m) => m.mode === "asap") ?? queue[0];
2309
- if (nextAsap) {
2310
- sessionManager.cancelQueuedMessage(sessionId, nextAsap.queueId);
2311
- addUserMessageAndBroadcast(sessionManager, sessionId, { content: nextAsap.content, ...nextAsap.attachments ? { attachments: nextAsap.attachments } : {}, ...nextAsap.messageKind ? { messageKind: nextAsap.messageKind } : {} }, broadcastForSession);
2312
- }
2313
- startTurnWithCompletionChain(sessionId, controller);
2314
- return true;
2315
- }
2316
2288
  sessionManager.subscribe((event) => {
2317
2289
  const sessionId = "sessionId" in event ? event.sessionId : "session" in event ? event.session.id : null;
2318
2290
  if (!sessionId) return;
@@ -2454,7 +2426,7 @@ function createWebSocketServer(httpServer, config, getLLMClient, getActiveProvid
2454
2426
  broadcastForSession
2455
2427
  };
2456
2428
  }
2457
- async function handleClientMessage(ws, client, message, getLLMClient, getActiveProvider, sessionManager, broadcastForSession, providerManager, getSessionLLMClient, getSessionStatsIdentity, llmForSession, statsForSession, startTurnWithCompletionChain, cleanupAfterTurn) {
2429
+ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiveProvider, sessionManager, _broadcastForSession, _providerManager, _getSessionLLMClient, _getSessionStatsIdentity, llmForSession, statsForSession, _startTurnWithCompletionChain, cleanupAfterTurn) {
2458
2430
  const send = (msg) => {
2459
2431
  if (ws.readyState === WebSocket2.OPEN) {
2460
2432
  ws.send(serializeServerMessage(msg));
@@ -2463,22 +2435,6 @@ async function handleClientMessage(ws, client, message, getLLMClient, getActiveP
2463
2435
  const sendForSession = (sessionId, msg) => {
2464
2436
  send({ ...msg, sessionId });
2465
2437
  };
2466
- const abortSessionExecution = (sessionId, reason) => {
2467
- const controller = activeAgents.get(sessionId);
2468
- if (!controller) {
2469
- return false;
2470
- }
2471
- activeAgents.delete(sessionId);
2472
- controller.abort();
2473
- cancelQuestionsForSession(sessionId, reason);
2474
- cancelPathConfirmationsForSession(sessionId, reason);
2475
- sessionManager.clearMessageQueue(sessionId);
2476
- sessionManager.setRunning(sessionId, false);
2477
- sendForSession(sessionId, createSessionRunningMessage(false));
2478
- const contextState = sessionManager.getContextState(sessionId);
2479
- sendForSession(sessionId, createContextStateMessage(contextState));
2480
- return true;
2481
- };
2482
2438
  const ensureEventStoreSubscription = (_sessionId) => {
2483
2439
  };
2484
2440
  switch (message.type) {
@@ -4010,7 +3966,7 @@ var SessionManager = class {
4010
3966
  /**
4011
3967
  * Update message stats. Delegates to EventStore (emits message.done if needed).
4012
3968
  */
4013
- updateMessageStats(sessionId, messageId, stats) {
3969
+ updateMessageStats(sessionId, messageId, _stats) {
4014
3970
  this.requireSession(sessionId);
4015
3971
  logger.debug("updateMessageStats called (no-op in event model)", { sessionId, messageId });
4016
3972
  }
@@ -5058,7 +5014,7 @@ function createTerminalRoutes() {
5058
5014
  }
5059
5015
 
5060
5016
  // src/constants.ts
5061
- var VERSION = "1.6.71";
5017
+ var VERSION = "1.6.73";
5062
5018
 
5063
5019
  // src/server/index.ts
5064
5020
  var __dirname2 = dirname5(fileURLToPath4(import.meta.url));
@@ -5220,7 +5176,7 @@ async function createServerHandle(config) {
5220
5176
  res.json({ success: true });
5221
5177
  });
5222
5178
  app.get("/api/sessions", async (req, res) => {
5223
- const { getRecentUserPromptsForSession } = await import("./events-2NH6YMVZ.js");
5179
+ const { getRecentUserPromptsForSession } = await import("./events-LKEZ3YCW.js");
5224
5180
  const projectId = req.query["projectId"];
5225
5181
  const limit = Math.min(parseInt(req.query["limit"]) || 20, 100);
5226
5182
  const offset = parseInt(req.query["offset"]) || 0;
@@ -5253,7 +5209,7 @@ async function createServerHandle(config) {
5253
5209
  res.status(201).json({ session });
5254
5210
  });
5255
5211
  app.get("/api/sessions/:id", async (req, res) => {
5256
- const { getEventStore: getEventStore2 } = await import("./events-2NH6YMVZ.js");
5212
+ const { getEventStore: getEventStore2 } = await import("./events-LKEZ3YCW.js");
5257
5213
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-JN2WT44N.js");
5258
5214
  const session = sessionManager.getSession(req.params.id);
5259
5215
  if (!session) {
@@ -5284,7 +5240,7 @@ async function createServerHandle(config) {
5284
5240
  res.json({ success: true });
5285
5241
  });
5286
5242
  app.post("/api/sessions/:id/provider", async (req, res) => {
5287
- const { getEventStore: getEventStore2 } = await import("./events-2NH6YMVZ.js");
5243
+ const { getEventStore: getEventStore2 } = await import("./events-LKEZ3YCW.js");
5288
5244
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-JN2WT44N.js");
5289
5245
  const sessionId = req.params.id;
5290
5246
  const session = sessionManager.getSession(sessionId);
@@ -5296,7 +5252,7 @@ async function createServerHandle(config) {
5296
5252
  return res.status(400).json({ error: "providerId is required" });
5297
5253
  }
5298
5254
  sessionManager.setSessionProvider(sessionId, providerId, model ?? "auto");
5299
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-3TU54V4X.js");
5255
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-6T4EHAP2.js");
5300
5256
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
5301
5257
  const updatedConfig = setDefaultModelSelection(globalConfig, providerId, model ?? "auto");
5302
5258
  await saveGlobalConfig(config.mode ?? "production", updatedConfig);
@@ -5322,7 +5278,7 @@ async function createServerHandle(config) {
5322
5278
  res.json({ success: true });
5323
5279
  });
5324
5280
  app.put("/api/sessions/:id/mode", async (req, res) => {
5325
- const { getEventStore: getEventStore2 } = await import("./events-2NH6YMVZ.js");
5281
+ const { getEventStore: getEventStore2 } = await import("./events-LKEZ3YCW.js");
5326
5282
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-JN2WT44N.js");
5327
5283
  const sessionId = req.params.id;
5328
5284
  const session = sessionManager.getSession(sessionId);
@@ -5361,12 +5317,12 @@ async function createServerHandle(config) {
5361
5317
  if (!callId || approved === void 0) {
5362
5318
  return res.status(400).json({ error: "callId and approved are required" });
5363
5319
  }
5364
- const { providePathConfirmation: providePathConfirmation2 } = await import("./tools-J23MXDY6.js");
5365
- const result = providePathConfirmation2(callId, approved, alwaysAllow);
5320
+ const { providePathConfirmation } = await import("./tools-5MCH72FH.js");
5321
+ const result = providePathConfirmation(callId, approved, alwaysAllow);
5366
5322
  if (!result.found) {
5367
5323
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
5368
5324
  }
5369
- const { getEventStore: getEventStore2 } = await import("./events-2NH6YMVZ.js");
5325
+ const { getEventStore: getEventStore2 } = await import("./events-LKEZ3YCW.js");
5370
5326
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations: foldPendingConfirmations2 } = await import("./folding-JN2WT44N.js");
5371
5327
  const { createSessionStateMessage: createSessionStateMessage2 } = await import("./protocol-5AWNGFLH.js");
5372
5328
  const eventStore = getEventStore2();
@@ -5381,12 +5337,11 @@ async function createServerHandle(config) {
5381
5337
  res.json({ success: true });
5382
5338
  });
5383
5339
  app.post("/api/sessions/:id/answer", async (req, res) => {
5384
- const sessionId = req.params.id;
5385
5340
  const { callId, answer } = req.body;
5386
5341
  if (!callId || !answer) {
5387
5342
  return res.status(400).json({ error: "callId and answer are required" });
5388
5343
  }
5389
- const { provideAnswer: provideAnswer2 } = await import("./tools-J23MXDY6.js");
5344
+ const { provideAnswer: provideAnswer2 } = await import("./tools-5MCH72FH.js");
5390
5345
  const found = provideAnswer2(callId, answer);
5391
5346
  if (!found) {
5392
5347
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -5422,14 +5377,14 @@ async function createServerHandle(config) {
5422
5377
  if (!session) {
5423
5378
  return res.status(404).json({ error: "Session not found" });
5424
5379
  }
5425
- const { stopSessionExecution } = await import("./chat-handler-KSF2CR5H.js");
5426
- const { cancelQuestionsForSession: cancelQuestionsForSession2, cancelPathConfirmationsForSession: cancelPathConfirmationsForSession2 } = await import("./tools-J23MXDY6.js");
5380
+ const { stopSessionExecution } = await import("./chat-handler-NNDQSDFI.js");
5381
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-5MCH72FH.js");
5427
5382
  stopSessionExecution(sessionId, sessionManager);
5428
5383
  abortSession(sessionId);
5429
- cancelQuestionsForSession2(sessionId, "Session stopped by user");
5430
- cancelPathConfirmationsForSession2(sessionId, "Session stopped by user");
5384
+ cancelQuestionsForSession(sessionId, "Session stopped by user");
5385
+ cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
5431
5386
  sessionManager.clearMessageQueue(sessionId);
5432
- const eventStore = (await import("./events-2NH6YMVZ.js")).getEventStore();
5387
+ const eventStore = (await import("./events-LKEZ3YCW.js")).getEventStore();
5433
5388
  eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
5434
5389
  res.json({ success: true });
5435
5390
  });
@@ -5439,7 +5394,7 @@ async function createServerHandle(config) {
5439
5394
  if (!session) {
5440
5395
  return res.status(404).json({ error: "Session not found" });
5441
5396
  }
5442
- const { content, attachments, messageKind, isSystemGenerated } = req.body;
5397
+ const { content } = req.body;
5443
5398
  if (!content) {
5444
5399
  return res.status(400).json({ error: "content is required" });
5445
5400
  }
@@ -5481,7 +5436,7 @@ async function createServerHandle(config) {
5481
5436
  let visionFallback;
5482
5437
  let globalWorkdir;
5483
5438
  try {
5484
- const { loadGlobalConfig, getVisionFallback } = await import("./config-3TU54V4X.js");
5439
+ const { loadGlobalConfig, getVisionFallback } = await import("./config-6T4EHAP2.js");
5485
5440
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
5486
5441
  const fallback = getVisionFallback(globalConfig);
5487
5442
  if (fallback) {
@@ -5560,7 +5515,7 @@ async function createServerHandle(config) {
5560
5515
  return res.status(400).json({ error: "name, url, and backend are required" });
5561
5516
  }
5562
5517
  try {
5563
- const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-3TU54V4X.js");
5518
+ const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-6T4EHAP2.js");
5564
5519
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
5565
5520
  const providerBackend = backend;
5566
5521
  const configWithProvider = addProvider(globalConfig, {
@@ -5593,7 +5548,7 @@ async function createServerHandle(config) {
5593
5548
  app.post("/api/init/config", async (req, res) => {
5594
5549
  const { workdir, visionFallback } = req.body;
5595
5550
  try {
5596
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-3TU54V4X.js");
5551
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-6T4EHAP2.js");
5597
5552
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
5598
5553
  const updatedConfig = {
5599
5554
  ...globalConfig,
@@ -5621,7 +5576,7 @@ async function createServerHandle(config) {
5621
5576
  });
5622
5577
  app.delete("/api/providers/:id", async (req, res) => {
5623
5578
  const { id } = req.params;
5624
- const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-3TU54V4X.js");
5579
+ const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-6T4EHAP2.js");
5625
5580
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
5626
5581
  const updatedConfig = removeProvider(globalConfig, id);
5627
5582
  await saveGlobalConfig(config.mode ?? "production", updatedConfig);
@@ -5641,7 +5596,7 @@ async function createServerHandle(config) {
5641
5596
  return res.status(400).json({ error: result.error });
5642
5597
  }
5643
5598
  const llmClient = getLLMClient();
5644
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-3TU54V4X.js");
5599
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-6T4EHAP2.js");
5645
5600
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
5646
5601
  const updatedConfig = setDefaultModelSelection(globalConfig, id, llmClient.getModel());
5647
5602
  await saveGlobalConfig(config.mode ?? "production", updatedConfig);
@@ -5672,7 +5627,7 @@ async function createServerHandle(config) {
5672
5627
  if (!result.success) {
5673
5628
  return res.status(400).json({ error: result.error });
5674
5629
  }
5675
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-3TU54V4X.js");
5630
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-6T4EHAP2.js");
5676
5631
  const globalConfig = await loadGlobalConfig(config.mode ?? "production");
5677
5632
  const updatedProviders = providerManager.getProviders();
5678
5633
  const updatedConfig = {
@@ -5816,7 +5771,7 @@ async function createServerHandle(config) {
5816
5771
  }
5817
5772
  })
5818
5773
  );
5819
- app.use("/__inspect__.js", (req, res) => {
5774
+ app.use("/__inspect__.js", (_req, res) => {
5820
5775
  res.set("Access-Control-Allow-Origin", "*");
5821
5776
  res.set("Content-Type", "application/javascript");
5822
5777
  readFile3(join5(webDir, "public", "__inspect__.js")).then((content) => res.send(content)).catch(() => res.status(404).send("Not found"));
@@ -5863,12 +5818,12 @@ async function createServerHandle(config) {
5863
5818
  }
5864
5819
  })
5865
5820
  );
5866
- app.use("/__inspect__.js", (req, res) => {
5821
+ app.use("/__inspect__.js", (_req, res) => {
5867
5822
  res.set("Access-Control-Allow-Origin", "*");
5868
5823
  res.set("Content-Type", "application/javascript");
5869
5824
  readFile3(join5(distWebDir, "__inspect__.js")).then((content) => res.send(content)).catch(() => res.status(404).send("Not found"));
5870
5825
  });
5871
- app.use("/__inspect__.js", (req, res) => {
5826
+ app.use("/__inspect__.js", (_req, res) => {
5872
5827
  res.set("Access-Control-Allow-Origin", "*");
5873
5828
  res.set("Content-Type", "application/javascript");
5874
5829
  readFile3(join5(distWebDir, "__inspect__.js")).then((content) => res.send(content)).catch(() => res.status(404).send("Not found"));
@@ -5897,7 +5852,7 @@ async function createServerHandle(config) {
5897
5852
  providerManager
5898
5853
  );
5899
5854
  const wss = wssExports.wss;
5900
- const { QueueProcessor } = await import("./processor-TUK3TJ3N.js");
5855
+ const { QueueProcessor } = await import("./processor-HF5SS6CR.js");
5901
5856
  const queueProcessor = new QueueProcessor({
5902
5857
  sessionManager,
5903
5858
  providerManager,
@@ -5972,4 +5927,4 @@ export {
5972
5927
  createServerHandle,
5973
5928
  createServer
5974
5929
  };
5975
- //# sourceMappingURL=chunk-WNDXRFVQ.js.map
5930
+ //# sourceMappingURL=chunk-RTOWT3GF.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  detectModel
3
- } from "./chunk-F2VWCCMC.js";
3
+ } from "./chunk-55Z3DJ7G.js";
4
4
  import {
5
5
  detectBackend
6
- } from "./chunk-WNZIUQ2L.js";
6
+ } from "./chunk-J5DV33SS.js";
7
7
  import {
8
8
  getGlobalConfigPath
9
9
  } from "./chunk-R4HADRYO.js";
@@ -18,7 +18,7 @@ var SMART_DEFAULTS = [
18
18
  "http://localhost:11434",
19
19
  "http://localhost:8080"
20
20
  ];
21
- async function trySmartDefaults(mode) {
21
+ async function trySmartDefaults(_mode) {
22
22
  const results = await Promise.all(
23
23
  SMART_DEFAULTS.map(async (url) => {
24
24
  try {
@@ -386,4 +386,4 @@ export {
386
386
  activateProvider,
387
387
  mergeConfigs
388
388
  };
389
- //# sourceMappingURL=chunk-4DNPYFL4.js.map
389
+ //# sourceMappingURL=chunk-TYUNDOX2.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-YNWDWIX2.js";
4
+ } from "../chunk-PPSXSDMY.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-YNWDWIX2.js";
4
+ } from "../chunk-PPSXSDMY.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-4DNPYFL4.js";
17
- import "./chunk-F2VWCCMC.js";
18
- import "./chunk-WNZIUQ2L.js";
16
+ } from "./chunk-TYUNDOX2.js";
17
+ import "./chunk-55Z3DJ7G.js";
18
+ import "./chunk-J5DV33SS.js";
19
19
  import "./chunk-R4HADRYO.js";
20
- import "./chunk-VCALN543.js";
20
+ import "./chunk-DLINTLB7.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-3TU54V4X.js.map
38
+ //# sourceMappingURL=config-6T4EHAP2.js.map
@@ -36,7 +36,8 @@ import {
36
36
  isFileInCache,
37
37
  isStoredEvent,
38
38
  isTurnEvent
39
- } from "./chunk-LRXDM2PJ.js";
39
+ } from "./chunk-5UTTLO4D.js";
40
+ import "./chunk-BLNFJ22S.js";
40
41
  import {
41
42
  buildContextMessagesFromEventHistory,
42
43
  buildContextMessagesFromMessages,
@@ -54,8 +55,7 @@ import {
54
55
  foldTurnEventsToSnapshotMessages,
55
56
  getMessagesForWindow
56
57
  } from "./chunk-PFRQO5Z3.js";
57
- import "./chunk-BLNFJ22S.js";
58
- import "./chunk-TVQOONDR.js";
58
+ import "./chunk-AFATQ5LJ.js";
59
59
  import "./chunk-PNBH3RAX.js";
60
60
  export {
61
61
  EventStore,
@@ -111,4 +111,4 @@ export {
111
111
  isStoredEvent,
112
112
  isTurnEvent
113
113
  };
114
- //# sourceMappingURL=events-2NH6YMVZ.js.map
114
+ //# sourceMappingURL=events-LKEZ3YCW.js.map
@@ -3,7 +3,7 @@ import {
3
3
  runBuilderTurn,
4
4
  runChatTurn,
5
5
  runVerifierTurn
6
- } from "./chunk-K6NHXJM3.js";
6
+ } from "./chunk-EGIJKK4U.js";
7
7
  import {
8
8
  TurnMetrics,
9
9
  createChatDoneEvent,
@@ -11,22 +11,22 @@ import {
11
11
  createMessageStartEvent,
12
12
  createToolCallEvent,
13
13
  createToolResultEvent
14
- } from "./chunk-KVZIYCT4.js";
14
+ } from "./chunk-ODUSHSK2.js";
15
+ import "./chunk-GQZGIMJO.js";
16
+ import "./chunk-7JPKRM6M.js";
15
17
  import "./chunk-RBPOAAIZ.js";
16
18
  import "./chunk-NBU6KIOD.js";
17
19
  import "./chunk-574HZVLE.js";
18
- import "./chunk-7JPKRM6M.js";
19
- import "./chunk-WNZIUQ2L.js";
20
- import "./chunk-LRXDM2PJ.js";
20
+ import "./chunk-J5DV33SS.js";
21
+ import "./chunk-5UTTLO4D.js";
22
+ import "./chunk-BLNFJ22S.js";
21
23
  import "./chunk-PFRQO5Z3.js";
22
24
  import "./chunk-KFBIHS3S.js";
23
25
  import "./chunk-22CTURMH.js";
24
- import "./chunk-GQZGIMJO.js";
25
- import "./chunk-BLNFJ22S.js";
26
26
  import "./chunk-CTAIXOZJ.js";
27
27
  import "./chunk-R4HADRYO.js";
28
- import "./chunk-TVQOONDR.js";
29
- import "./chunk-VCALN543.js";
28
+ import "./chunk-AFATQ5LJ.js";
29
+ import "./chunk-DLINTLB7.js";
30
30
  import "./chunk-PNBH3RAX.js";
31
31
  export {
32
32
  TurnMetrics,
@@ -40,4 +40,4 @@ export {
40
40
  runChatTurn,
41
41
  runVerifierTurn
42
42
  };
43
- //# sourceMappingURL=orchestrator-KBUCDCWE.js.map
43
+ //# sourceMappingURL=orchestrator-T2EQZJS5.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "1.6.71",
3
+ "version": "1.6.73",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -51,6 +51,7 @@
51
51
  "duplicate:web": "jscpd web/src/ --config .jscpd-web.json --threshold 0",
52
52
  "duplicate": "npm run duplicate:server && npm run duplicate:web",
53
53
  "check": "npm run typecheck && npm run duplicate",
54
+ "patch": "HUSKY=0 npm version patch",
54
55
  "clean": "rm -rf dist",
55
56
  "prepublishOnly": "npm run build && npm run test:publish:e2e",
56
57
  "prepare": "husky",
@@ -133,6 +134,7 @@
133
134
  "jscpd src/server/ --ignore '**/*.test.ts' --threshold 0"
134
135
  ],
135
136
  "web/src/**/*.{ts,tsx}": [
137
+ "tsc --noEmit",
136
138
  "jscpd web/src/ --config .jscpd-web.json --threshold 0"
137
139
  ]
138
140
  },
@@ -5,18 +5,18 @@ import {
5
5
  generateSessionName,
6
6
  getSessionMessageCount,
7
7
  needsNameGenerationCheck
8
- } from "./chunk-ENAZTRCR.js";
8
+ } from "./chunk-4CQ7CUQ6.js";
9
9
  import {
10
10
  getEventStore
11
- } from "./chunk-LRXDM2PJ.js";
11
+ } from "./chunk-5UTTLO4D.js";
12
+ import "./chunk-BLNFJ22S.js";
12
13
  import "./chunk-PFRQO5Z3.js";
13
14
  import {
14
15
  createChatMessageMessage,
15
16
  createSessionRunningMessage
16
17
  } from "./chunk-KFBIHS3S.js";
17
- import "./chunk-BLNFJ22S.js";
18
18
  import "./chunk-CTAIXOZJ.js";
19
- import "./chunk-TVQOONDR.js";
19
+ import "./chunk-AFATQ5LJ.js";
20
20
  import {
21
21
  logger
22
22
  } from "./chunk-PNBH3RAX.js";
@@ -173,7 +173,7 @@ var QueueProcessor = class {
173
173
  backend: provider?.backend ?? llmClient.getBackend(),
174
174
  model: llmClient.getModel()
175
175
  };
176
- const { runChatTurn } = await import("./orchestrator-KBUCDCWE.js");
176
+ const { runChatTurn } = await import("./orchestrator-T2EQZJS5.js");
177
177
  const runChatTurnParams = buildRunChatTurnParams({
178
178
  sessionManager,
179
179
  sessionId,
@@ -210,4 +210,4 @@ var QueueProcessor = class {
210
210
  export {
211
211
  QueueProcessor
212
212
  };
213
- //# sourceMappingURL=processor-TUK3TJ3N.js.map
213
+ //# sourceMappingURL=processor-HF5SS6CR.js.map
@@ -419,6 +419,10 @@ interface ModelConfig {
419
419
  topK?: number;
420
420
  maxTokens?: number;
421
421
  supportsVision?: boolean;
422
+ defaultTemperature?: number;
423
+ defaultTopP?: number;
424
+ defaultTopK?: number;
425
+ defaultMaxTokens?: number;
422
426
  }
423
427
  /** LLM provider configuration */
424
428
  interface Provider {
@@ -5,18 +5,18 @@ import {
5
5
  loadGlobalConfig,
6
6
  removeProvider,
7
7
  saveGlobalConfig
8
- } from "./chunk-4DNPYFL4.js";
8
+ } from "./chunk-TYUNDOX2.js";
9
9
  import {
10
10
  fetchAvailableModelsFromBackend
11
- } from "./chunk-HYIQFRYJ.js";
11
+ } from "./chunk-JQBTYHUR.js";
12
12
  import {
13
13
  detectModel
14
- } from "./chunk-F2VWCCMC.js";
14
+ } from "./chunk-55Z3DJ7G.js";
15
15
  import {
16
16
  detectBackend
17
- } from "./chunk-WNZIUQ2L.js";
17
+ } from "./chunk-J5DV33SS.js";
18
18
  import "./chunk-R4HADRYO.js";
19
- import "./chunk-VCALN543.js";
19
+ import "./chunk-DLINTLB7.js";
20
20
  import "./chunk-PNBH3RAX.js";
21
21
 
22
22
  // src/cli/provider.ts
@@ -89,9 +89,8 @@ async function runProviderAdd(mode) {
89
89
  let availableModels = [];
90
90
  let detectedModel = null;
91
91
  try {
92
- let detectedBackend = backend;
93
92
  if (backend === "auto") {
94
- detectedBackend = await detectBackend(url);
93
+ await detectBackend(url);
95
94
  }
96
95
  availableModels = await fetchAvailableModelsFromBackend(url);
97
96
  s.stop(`Found ${availableModels.length} model(s)`);
@@ -249,7 +248,7 @@ async function runProviderAdd(mode) {
249
248
  isActive: makeActive
250
249
  });
251
250
  if (makeActive) {
252
- const { setDefaultModelSelection } = await import("./config-3TU54V4X.js");
251
+ const { setDefaultModelSelection } = await import("./config-6T4EHAP2.js");
253
252
  newConfig = setDefaultModelSelection(newConfig, newConfig.providers[newConfig.providers.length - 1].id, selectedModel);
254
253
  }
255
254
  await saveGlobalConfig(mode, newConfig);
@@ -373,4 +372,4 @@ export {
373
372
  runProviderRemove,
374
373
  runProviderUse
375
374
  };
376
- //# sourceMappingURL=provider-J4G7XBDP.js.map
375
+ //# sourceMappingURL=provider-AKN355YH.js.map