openfox 2.0.25 → 2.0.26

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.
@@ -2,11 +2,11 @@ import {
2
2
  buildRunChatTurnParams,
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
- } from "./chunk-AYJTMZVU.js";
5
+ } from "./chunk-VI236SOY.js";
6
6
  import {
7
7
  runChatTurn
8
- } from "./chunk-64NCACBV.js";
9
- import "./chunk-WCPFR6ZP.js";
8
+ } from "./chunk-7H4PYZMT.js";
9
+ import "./chunk-K454WU7A.js";
10
10
  import "./chunk-DL6ZILAF.js";
11
11
  import "./chunk-PBGOZMVY.js";
12
12
  import "./chunk-VRGRAQDG.js";
@@ -145,4 +145,4 @@ export {
145
145
  startChatSession,
146
146
  stopSessionExecution
147
147
  };
148
- //# sourceMappingURL=chat-handler-XH3QUXIC.js.map
148
+ //# sourceMappingURL=chat-handler-C4HZJNUN.js.map
@@ -14,7 +14,7 @@ import {
14
14
  loadAllAgentsDefault,
15
15
  processEventsForConversation,
16
16
  runTopLevelAgentLoop
17
- } from "./chunk-WCPFR6ZP.js";
17
+ } from "./chunk-K454WU7A.js";
18
18
  import {
19
19
  TurnMetrics,
20
20
  WORKFLOW_KICKOFF_PROMPT,
@@ -320,4 +320,4 @@ export {
320
320
  runAgentTurn,
321
321
  injectWorkflowKickoffIfNeeded
322
322
  };
323
- //# sourceMappingURL=chunk-64NCACBV.js.map
323
+ //# sourceMappingURL=chunk-7H4PYZMT.js.map
@@ -2,7 +2,7 @@ import {
2
2
  injectWorkflowKickoffIfNeeded,
3
3
  runAgentTurn,
4
4
  runChatTurn
5
- } from "./chunk-64NCACBV.js";
5
+ } from "./chunk-7H4PYZMT.js";
6
6
  import {
7
7
  applyDynamicContext,
8
8
  checkAborted,
@@ -19,7 +19,7 @@ import {
19
19
  loadAllAgentsDefault,
20
20
  saveItemToDir,
21
21
  spawnShellProcess
22
- } from "./chunk-WCPFR6ZP.js";
22
+ } from "./chunk-K454WU7A.js";
23
23
  import {
24
24
  getPlatformShell,
25
25
  onProcessEvent
@@ -55,7 +55,7 @@ import {
55
55
  } from "./chunk-YBWY4DKY.js";
56
56
  import {
57
57
  createLLMClient
58
- } from "./chunk-2ELCWCO3.js";
58
+ } from "./chunk-QYP6MOB5.js";
59
59
  import {
60
60
  ensureVersionPrefix
61
61
  } from "./chunk-HNCM3D7Y.js";
@@ -1777,7 +1777,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
1777
1777
  const runtimeConfig = getRuntimeConfig();
1778
1778
  const configDir = getGlobalConfigDir(runtimeConfig.mode ?? "production");
1779
1779
  const skills = await getEnabledSkillMetadata(configDir, runtimeConfig.workdir);
1780
- const { createToolRegistry } = await import("./tools-JDYXXX2N.js");
1780
+ const { createToolRegistry } = await import("./tools-4KGLCQJL.js");
1781
1781
  const allTools = createToolRegistry().definitions;
1782
1782
  const toolFingerprint = getToolFingerprint(allTools);
1783
1783
  const currentHash = computeDynamicContextHash(instructionContent, skills, toolFingerprint);
@@ -1850,7 +1850,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
1850
1850
  const runtimeConfig = getRuntimeConfig();
1851
1851
  const configDir = getGlobalConfigDir(runtimeConfig.mode ?? "production");
1852
1852
  const skills = await getEnabledSkillMetadata(configDir, runtimeConfig.workdir);
1853
- const { createToolRegistry } = await import("./tools-JDYXXX2N.js");
1853
+ const { createToolRegistry } = await import("./tools-4KGLCQJL.js");
1854
1854
  const allTools = createToolRegistry().definitions;
1855
1855
  const toolFingerprint = getToolFingerprint(allTools);
1856
1856
  const currentHash = computeDynamicContextHash(instructionContent, skills, toolFingerprint);
@@ -2071,4 +2071,4 @@ export {
2071
2071
  signalMcpReady,
2072
2072
  createWebSocketServer
2073
2073
  };
2074
- //# sourceMappingURL=chunk-Y6STCE5Z.js.map
2074
+ //# sourceMappingURL=chunk-DW55I7SI.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-M3RB4IF6.js";
5
5
  import {
6
6
  createLLMClient
7
- } from "./chunk-2ELCWCO3.js";
7
+ } from "./chunk-QYP6MOB5.js";
8
8
  import {
9
9
  buildModelsUrl,
10
10
  ensureVersionPrefix,
@@ -554,4 +554,4 @@ export {
554
554
  parseDefaultModelSelection,
555
555
  createProviderManager
556
556
  };
557
- //# sourceMappingURL=chunk-GZOYGODG.js.map
557
+ //# sourceMappingURL=chunk-GBUP7UDI.js.map
@@ -205,6 +205,9 @@ async function isPathWithinSandbox(path, workdir, sessionId) {
205
205
  }
206
206
  return { allowed: false, resolvedPath };
207
207
  }
208
+ function looksLikeRegex(str) {
209
+ return /[*?+[\]\\]/.test(str);
210
+ }
208
211
  function extractAbsolutePathsFromCommand(command) {
209
212
  if (!command.trim()) {
210
213
  return [];
@@ -239,6 +242,9 @@ function extractAbsolutePathsFromCommand(command) {
239
242
  if (content.startsWith("/") && content.endsWith("/")) {
240
243
  continue;
241
244
  }
245
+ if (content.startsWith("/") && looksLikeRegex(content)) {
246
+ continue;
247
+ }
242
248
  if (content.startsWith("/")) {
243
249
  const resolved = normalize(content);
244
250
  if (!isSafePath(resolved)) {
@@ -259,7 +265,7 @@ function extractAbsolutePathsFromCommand(command) {
259
265
  if (pathCandidate.includes("__URL__") || pathCandidate.includes("__FILEURL__")) {
260
266
  continue;
261
267
  }
262
- if (pathCandidate.endsWith("/") && pathCandidate.split("/").length <= 2) {
268
+ if (looksLikeRegex(pathCandidate)) {
263
269
  continue;
264
270
  }
265
271
  const resolved = normalize(pathCandidate);
@@ -3362,7 +3368,7 @@ var callSubAgentTool = {
3362
3368
  };
3363
3369
  }
3364
3370
  try {
3365
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-JDYXXX2N.js");
3371
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-4KGLCQJL.js");
3366
3372
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3367
3373
  const turnMetrics = new TurnMetrics();
3368
3374
  const result = await executeSubAgent({
@@ -4168,7 +4174,7 @@ async function computeContextHash(sessionManager, sessionId) {
4168
4174
  const runtimeConfig = getRuntimeConfig();
4169
4175
  const configDir = getGlobalConfigDir(runtimeConfig.mode ?? "production");
4170
4176
  const skills = await getEnabledSkillMetadata(configDir, runtimeConfig.workdir);
4171
- const { createToolRegistry: createToolRegistry2 } = await import("./tools-JDYXXX2N.js");
4177
+ const { createToolRegistry: createToolRegistry2 } = await import("./tools-4KGLCQJL.js");
4172
4178
  const allTools = createToolRegistry2().definitions;
4173
4179
  const toolFingerprint = getToolFingerprint(allTools);
4174
4180
  const hash = computeDynamicContextHash(instructionContent, skills, toolFingerprint);
@@ -4281,7 +4287,7 @@ var mcpConfigTool = createTool(
4281
4287
  await saveGlobalConfig(mcpConfigMode, { ...globalConfig, mcpServers: updated });
4282
4288
  }
4283
4289
  async function rebuildTools() {
4284
- const { setMcpTools: setMcpTools2 } = await import("./tools-JDYXXX2N.js");
4290
+ const { setMcpTools: setMcpTools2 } = await import("./tools-4KGLCQJL.js");
4285
4291
  const mcpTools = createMcpTools(mcpManagerForTools);
4286
4292
  setMcpTools2(mcpTools);
4287
4293
  }
@@ -4685,4 +4691,4 @@ export {
4685
4691
  getToolRegistryForAgent,
4686
4692
  createToolRegistry
4687
4693
  };
4688
- //# sourceMappingURL=chunk-WCPFR6ZP.js.map
4694
+ //# sourceMappingURL=chunk-K454WU7A.js.map
@@ -34,7 +34,7 @@ function createLLMClient(config, initialBackend = "unknown") {
34
34
  let capabilities = getBackendCapabilities(backend);
35
35
  const reasoningEffort = config.llm.reasoningEffort;
36
36
  const thinkingField = config.llm.thinkingField;
37
- const idleTimeout = config.llm.idleTimeout ?? 3e4;
37
+ const idleTimeout = config.llm.idleTimeout ?? 12e4;
38
38
  return {
39
39
  getModel() {
40
40
  return model;
@@ -259,4 +259,4 @@ function createLLMClient(config, initialBackend = "unknown") {
259
259
  export {
260
260
  createLLMClient
261
261
  };
262
- //# sourceMappingURL=chunk-2ELCWCO3.js.map
262
+ //# sourceMappingURL=chunk-QYP6MOB5.js.map
@@ -125,7 +125,7 @@ async function generateSessionNameForSession(sessionId, userMessage, deps, signa
125
125
  client = deps.getLLMClient();
126
126
  client.setModel(providerConfig.model);
127
127
  } else if (providerConfig) {
128
- const { createLLMClient } = await import("./client-725U6BTX.js");
128
+ const { createLLMClient } = await import("./client-X6BVH4Q4.js");
129
129
  client = createLLMClient({
130
130
  llm: {
131
131
  baseUrl: providerConfig.baseUrl,
@@ -139,7 +139,7 @@ async function generateSessionNameForSession(sessionId, userMessage, deps, signa
139
139
  logger.debug("Session name generation skipped: no LLM client available", { sessionId });
140
140
  return;
141
141
  }
142
- const timeoutSignal = AbortSignal.timeout(3e4);
142
+ const timeoutSignal = AbortSignal.timeout(12e4);
143
143
  const composedSignal = signal ? AbortSignal.any([timeoutSignal, signal]) : timeoutSignal;
144
144
  const response = await client.complete({
145
145
  messages: [{ role: "user", content: prompt }],
@@ -174,4 +174,4 @@ export {
174
174
  buildRunChatTurnParams,
175
175
  generateSessionNameForSession
176
176
  };
177
- //# sourceMappingURL=chunk-AYJTMZVU.js.map
177
+ //# sourceMappingURL=chunk-VI236SOY.js.map
@@ -21,7 +21,7 @@ import {
21
21
  tokenFromPassword,
22
22
  verifyPassword,
23
23
  workflowExists
24
- } from "./chunk-Y6STCE5Z.js";
24
+ } from "./chunk-DW55I7SI.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-WCPFR6ZP.js";
64
+ } from "./chunk-K454WU7A.js";
65
65
  import {
66
66
  getPathSeparator,
67
67
  isAbsolutePath
@@ -114,7 +114,7 @@ import {
114
114
  import {
115
115
  createProviderManager,
116
116
  parseDefaultModelSelection
117
- } from "./chunk-GZOYGODG.js";
117
+ } from "./chunk-GBUP7UDI.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.25";
3451
+ var VERSION = "2.0.26";
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-VXOP7JUX.js");
3631
+ const { signalMcpReady } = await import("./server-7MFV467L.js");
3632
3632
  signalMcpReady();
3633
3633
  });
3634
3634
  const app = express();
@@ -3821,7 +3821,7 @@ async function createServerHandle(config4) {
3821
3821
  app.get("/api/sessions/:id", async (req, res) => {
3822
3822
  const { getEventStore: getEventStore2 } = await import("./events-JKPHAR5W.js");
3823
3823
  const { buildMessagesFromStoredEvents } = await import("./folding-PI67HWBR.js");
3824
- const { getPendingQuestionsForSession } = await import("./tools-JDYXXX2N.js");
3824
+ const { getPendingQuestionsForSession } = await import("./tools-4KGLCQJL.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" });
@@ -3952,7 +3952,7 @@ async function createServerHandle(config4) {
3952
3952
  if (!callId || approved === void 0) {
3953
3953
  return res.status(400).json({ error: "callId and approved are required" });
3954
3954
  }
3955
- const { providePathConfirmation } = await import("./tools-JDYXXX2N.js");
3955
+ const { providePathConfirmation } = await import("./tools-4KGLCQJL.js");
3956
3956
  const result = providePathConfirmation(callId, approved, alwaysAllow);
3957
3957
  if (!result.found) {
3958
3958
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -3960,7 +3960,7 @@ async function createServerHandle(config4) {
3960
3960
  const { getEventStore: getEventStore2 } = await import("./events-JKPHAR5W.js");
3961
3961
  const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-PI67HWBR.js");
3962
3962
  const { createSessionStateMessage } = await import("./protocol-BKNLAEPJ.js");
3963
- const { getPendingQuestionsForSession } = await import("./tools-JDYXXX2N.js");
3963
+ const { getPendingQuestionsForSession } = await import("./tools-4KGLCQJL.js");
3964
3964
  const eventStore = getEventStore2();
3965
3965
  const events = eventStore.getEvents(sessionId);
3966
3966
  const messages = buildMessagesFromStoredEvents(events);
@@ -3981,7 +3981,7 @@ async function createServerHandle(config4) {
3981
3981
  if (!skip && typeof answer !== "string") {
3982
3982
  return res.status(400).json({ error: "answer is required when not skipping" });
3983
3983
  }
3984
- const { provideAnswer } = await import("./tools-JDYXXX2N.js");
3984
+ const { provideAnswer } = await import("./tools-4KGLCQJL.js");
3985
3985
  const found = provideAnswer(callId, answer ?? "", skip ?? false);
3986
3986
  if (!found) {
3987
3987
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -4017,8 +4017,8 @@ async function createServerHandle(config4) {
4017
4017
  if (!session) {
4018
4018
  return res.status(404).json({ error: "Session not found" });
4019
4019
  }
4020
- const { stopSessionExecution } = await import("./chat-handler-XH3QUXIC.js");
4021
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-JDYXXX2N.js");
4020
+ const { stopSessionExecution } = await import("./chat-handler-C4HZJNUN.js");
4021
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-4KGLCQJL.js");
4022
4022
  const queuedMessages = sessionManager.getQueueState(sessionId);
4023
4023
  sessionManager.clearMessageQueue(sessionId);
4024
4024
  stopSessionExecution(sessionId, sessionManager);
@@ -4225,7 +4225,7 @@ async function createServerHandle(config4) {
4225
4225
  const apiKey = req.query["apiKey"];
4226
4226
  if (!url) return res.status(400).json({ error: "url is required" });
4227
4227
  try {
4228
- const { fetchModelsWithContext } = await import("./provider-manager-5VAVOKHC.js");
4228
+ const { fetchModelsWithContext } = await import("./provider-manager-4H4VGNYA.js");
4229
4229
  const models = await fetchModelsWithContext(url, apiKey);
4230
4230
  if (models.length === 0) {
4231
4231
  return res.status(404).json({ error: `No models found at ${buildModelsUrl(url)}`, url });
@@ -4507,7 +4507,7 @@ async function createServerHandle(config4) {
4507
4507
  });
4508
4508
  async function rebuildMcpTools() {
4509
4509
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-B7QP6NLA.js");
4510
- const { setMcpTools: setMcpTools2 } = await import("./tools-JDYXXX2N.js");
4510
+ const { setMcpTools: setMcpTools2 } = await import("./tools-4KGLCQJL.js");
4511
4511
  const mcpTools = createMcpTools2(mcpManager);
4512
4512
  setMcpTools2(mcpTools);
4513
4513
  }
@@ -4819,7 +4819,7 @@ async function createServerHandle(config4) {
4819
4819
  const state = sessionManager.getContextState(sessionId);
4820
4820
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
4821
4821
  });
4822
- const { QueueProcessor } = await import("./processor-YAMVUA7K.js");
4822
+ const { QueueProcessor } = await import("./processor-AX2QQWUX.js");
4823
4823
  const queueProcessor = new QueueProcessor({
4824
4824
  sessionManager,
4825
4825
  providerManager,
@@ -4894,4 +4894,4 @@ export {
4894
4894
  createServerHandle,
4895
4895
  createServer
4896
4896
  };
4897
- //# sourceMappingURL=chunk-L5FBH2YX.js.map
4897
+ //# sourceMappingURL=chunk-YBPRGUAE.js.map
@@ -152,7 +152,7 @@ async function runCli(options) {
152
152
  break;
153
153
  }
154
154
  case "provider": {
155
- const { runProviderCommand } = await import("./provider-KB7GB2O2.js");
155
+ const { runProviderCommand } = await import("./provider-XRTIWMB6.js");
156
156
  const [, subcommand] = positionals;
157
157
  await runProviderCommand(mode, subcommand);
158
158
  break;
@@ -196,7 +196,7 @@ async function runCli(options) {
196
196
  if (!configExists) {
197
197
  await runNetworkSetup(mode);
198
198
  }
199
- const { runServe } = await import("./serve-XBIN2DEU.js");
199
+ const { runServe } = await import("./serve-NVFK3XHF.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-LP5RXQW5.js.map
211
+ //# sourceMappingURL=chunk-YRRUHP4T.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-LP5RXQW5.js";
4
+ } from "../chunk-YRRUHP4T.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-LP5RXQW5.js";
4
+ } from "../chunk-YRRUHP4T.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLLMClient
3
- } from "./chunk-2ELCWCO3.js";
3
+ } from "./chunk-QYP6MOB5.js";
4
4
  import "./chunk-Z4FMBCJO.js";
5
5
  import "./chunk-HNCM3D7Y.js";
6
6
  import "./chunk-ZJ4FP6RS.js";
@@ -10,4 +10,4 @@ import "./chunk-V4IE7HJY.js";
10
10
  export {
11
11
  createLLMClient
12
12
  };
13
- //# sourceMappingURL=client-725U6BTX.js.map
13
+ //# sourceMappingURL=client-X6BVH4Q4.js.map
@@ -2,8 +2,8 @@ import {
2
2
  injectWorkflowKickoffIfNeeded,
3
3
  runAgentTurn,
4
4
  runChatTurn
5
- } from "./chunk-64NCACBV.js";
6
- import "./chunk-WCPFR6ZP.js";
5
+ } from "./chunk-7H4PYZMT.js";
6
+ import "./chunk-K454WU7A.js";
7
7
  import "./chunk-DL6ZILAF.js";
8
8
  import "./chunk-PBGOZMVY.js";
9
9
  import "./chunk-VRGRAQDG.js";
@@ -42,4 +42,4 @@ export {
42
42
  runAgentTurn,
43
43
  runChatTurn
44
44
  };
45
- //# sourceMappingURL=orchestrator-FRFKYO77.js.map
45
+ //# sourceMappingURL=orchestrator-HZX3IETX.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.25",
3
+ "version": "2.0.26",
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-AYJTMZVU.js";
6
- import "./chunk-WCPFR6ZP.js";
5
+ } from "./chunk-VI236SOY.js";
6
+ import "./chunk-K454WU7A.js";
7
7
  import "./chunk-DL6ZILAF.js";
8
8
  import "./chunk-PBGOZMVY.js";
9
9
  import "./chunk-VRGRAQDG.js";
@@ -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-FRFKYO77.js");
174
+ const { runChatTurn } = await import("./orchestrator-HZX3IETX.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-YAMVUA7K.js.map
219
+ //# sourceMappingURL=processor-AX2QQWUX.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  fetchAvailableModelsFromBackend
3
- } from "./chunk-GZOYGODG.js";
3
+ } from "./chunk-GBUP7UDI.js";
4
4
  import {
5
5
  detectModel
6
6
  } from "./chunk-M3RB4IF6.js";
7
7
  import "./chunk-J2GP3J3X.js";
8
- import "./chunk-2ELCWCO3.js";
8
+ import "./chunk-QYP6MOB5.js";
9
9
  import "./chunk-Z4FMBCJO.js";
10
10
  import "./chunk-HNCM3D7Y.js";
11
11
  import "./chunk-ZJ4FP6RS.js";
@@ -388,4 +388,4 @@ export {
388
388
  runProviderRemove,
389
389
  runProviderUse
390
390
  };
391
- //# sourceMappingURL=provider-KB7GB2O2.js.map
391
+ //# sourceMappingURL=provider-XRTIWMB6.js.map
@@ -3,10 +3,10 @@ import {
3
3
  fetchAvailableModelsFromBackend,
4
4
  fetchModelsWithContext,
5
5
  parseDefaultModelSelection
6
- } from "./chunk-GZOYGODG.js";
6
+ } from "./chunk-GBUP7UDI.js";
7
7
  import "./chunk-M3RB4IF6.js";
8
8
  import "./chunk-J2GP3J3X.js";
9
- import "./chunk-2ELCWCO3.js";
9
+ import "./chunk-QYP6MOB5.js";
10
10
  import "./chunk-Z4FMBCJO.js";
11
11
  import "./chunk-HNCM3D7Y.js";
12
12
  import "./chunk-ZJ4FP6RS.js";
@@ -19,4 +19,4 @@ export {
19
19
  fetchModelsWithContext,
20
20
  parseDefaultModelSelection
21
21
  };
22
- //# sourceMappingURL=provider-manager-5VAVOKHC.js.map
22
+ //# sourceMappingURL=provider-manager-4H4VGNYA.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  VERSION,
3
3
  createServer
4
- } from "./chunk-L5FBH2YX.js";
5
- import "./chunk-Y6STCE5Z.js";
6
- import "./chunk-64NCACBV.js";
7
- import "./chunk-WCPFR6ZP.js";
4
+ } from "./chunk-YBPRGUAE.js";
5
+ import "./chunk-DW55I7SI.js";
6
+ import "./chunk-7H4PYZMT.js";
7
+ import "./chunk-K454WU7A.js";
8
8
  import "./chunk-DL6ZILAF.js";
9
9
  import "./chunk-PBGOZMVY.js";
10
10
  import "./chunk-VRGRAQDG.js";
@@ -20,10 +20,10 @@ import {
20
20
  } from "./chunk-YBWY4DKY.js";
21
21
  import "./chunk-6PLAWCHQ.js";
22
22
  import "./chunk-FBGWG4N6.js";
23
- import "./chunk-GZOYGODG.js";
23
+ import "./chunk-GBUP7UDI.js";
24
24
  import "./chunk-M3RB4IF6.js";
25
25
  import "./chunk-J2GP3J3X.js";
26
- import "./chunk-2ELCWCO3.js";
26
+ import "./chunk-QYP6MOB5.js";
27
27
  import "./chunk-Z4FMBCJO.js";
28
28
  import "./chunk-HNCM3D7Y.js";
29
29
  import "./chunk-ZJ4FP6RS.js";
@@ -199,4 +199,4 @@ async function runServe(options) {
199
199
  export {
200
200
  runServe
201
201
  };
202
- //# sourceMappingURL=serve-XBIN2DEU.js.map
202
+ //# sourceMappingURL=serve-NVFK3XHF.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-L5FBH2YX.js";
5
- import "../chunk-Y6STCE5Z.js";
6
- import "../chunk-64NCACBV.js";
7
- import "../chunk-WCPFR6ZP.js";
4
+ } from "../chunk-YBPRGUAE.js";
5
+ import "../chunk-DW55I7SI.js";
6
+ import "../chunk-7H4PYZMT.js";
7
+ import "../chunk-K454WU7A.js";
8
8
  import "../chunk-DL6ZILAF.js";
9
9
  import "../chunk-PBGOZMVY.js";
10
10
  import "../chunk-VRGRAQDG.js";
@@ -18,10 +18,10 @@ import "../chunk-YGSBVKFU.js";
18
18
  import "../chunk-YBWY4DKY.js";
19
19
  import "../chunk-6PLAWCHQ.js";
20
20
  import "../chunk-FBGWG4N6.js";
21
- import "../chunk-GZOYGODG.js";
21
+ import "../chunk-GBUP7UDI.js";
22
22
  import "../chunk-M3RB4IF6.js";
23
23
  import "../chunk-J2GP3J3X.js";
24
- import "../chunk-2ELCWCO3.js";
24
+ import "../chunk-QYP6MOB5.js";
25
25
  import "../chunk-Z4FMBCJO.js";
26
26
  import "../chunk-HNCM3D7Y.js";
27
27
  import "../chunk-ZJ4FP6RS.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createWebSocketServer,
3
3
  signalMcpReady
4
- } from "./chunk-Y6STCE5Z.js";
5
- import "./chunk-64NCACBV.js";
6
- import "./chunk-WCPFR6ZP.js";
4
+ } from "./chunk-DW55I7SI.js";
5
+ import "./chunk-7H4PYZMT.js";
6
+ import "./chunk-K454WU7A.js";
7
7
  import "./chunk-DL6ZILAF.js";
8
8
  import "./chunk-PBGOZMVY.js";
9
9
  import "./chunk-VRGRAQDG.js";
@@ -19,7 +19,7 @@ import "./chunk-6PLAWCHQ.js";
19
19
  import "./chunk-FBGWG4N6.js";
20
20
  import "./chunk-M3RB4IF6.js";
21
21
  import "./chunk-J2GP3J3X.js";
22
- import "./chunk-2ELCWCO3.js";
22
+ import "./chunk-QYP6MOB5.js";
23
23
  import "./chunk-Z4FMBCJO.js";
24
24
  import "./chunk-HNCM3D7Y.js";
25
25
  import "./chunk-ZJ4FP6RS.js";
@@ -34,4 +34,4 @@ export {
34
34
  createWebSocketServer,
35
35
  signalMcpReady
36
36
  };
37
- //# sourceMappingURL=server-VXOP7JUX.js.map
37
+ //# sourceMappingURL=server-7MFV467L.js.map
@@ -12,7 +12,7 @@ import {
12
12
  setMcpTools,
13
13
  stepDoneTool,
14
14
  validateToolAction
15
- } from "./chunk-WCPFR6ZP.js";
15
+ } from "./chunk-K454WU7A.js";
16
16
  import "./chunk-DL6ZILAF.js";
17
17
  import "./chunk-PBGOZMVY.js";
18
18
  import "./chunk-VRGRAQDG.js";
@@ -57,4 +57,4 @@ export {
57
57
  stepDoneTool,
58
58
  validateToolAction
59
59
  };
60
- //# sourceMappingURL=tools-JDYXXX2N.js.map
60
+ //# sourceMappingURL=tools-4KGLCQJL.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.25",
3
+ "version": "2.0.26",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {