openfox 2.0.39 → 2.0.40

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.
@@ -5,9 +5,9 @@ import {
5
5
  } from "./chunk-JGNAYJJZ.js";
6
6
  import {
7
7
  runChatTurn
8
- } from "./chunk-BG5ILIWN.js";
9
- import "./chunk-UR4A2HYT.js";
10
- import "./chunk-DL6ZILAF.js";
8
+ } from "./chunk-WUG3TOAL.js";
9
+ import "./chunk-LH5J7V4F.js";
10
+ import "./chunk-LBGHZLLH.js";
11
11
  import "./chunk-PBGOZMVY.js";
12
12
  import "./chunk-VRGRAQDG.js";
13
13
  import "./chunk-NWO6GRYE.js";
@@ -145,4 +145,4 @@ export {
145
145
  startChatSession,
146
146
  stopSessionExecution
147
147
  };
148
- //# sourceMappingURL=chat-handler-4YZGM7V7.js.map
148
+ //# sourceMappingURL=chat-handler-KPQ3OM3U.js.map
@@ -202,7 +202,7 @@ async function runCli(options) {
202
202
  if (!configExists) {
203
203
  await runNetworkSetup(mode);
204
204
  }
205
- const { runServe } = await import("./serve-RZWSK3AA.js");
205
+ const { runServe } = await import("./serve-NC3U2VTG.js");
206
206
  const serveOptions = { mode };
207
207
  if (values.port) serveOptions.port = parseInt(values.port);
208
208
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -214,4 +214,4 @@ async function runCli(options) {
214
214
  export {
215
215
  runCli
216
216
  };
217
- //# sourceMappingURL=chunk-4RYP3RBY.js.map
217
+ //# sourceMappingURL=chunk-34CRQ76B.js.map
@@ -2,7 +2,7 @@ import {
2
2
  injectWorkflowKickoffIfNeeded,
3
3
  runAgentTurn,
4
4
  runChatTurn
5
- } from "./chunk-BG5ILIWN.js";
5
+ } from "./chunk-WUG3TOAL.js";
6
6
  import {
7
7
  applyDynamicContext,
8
8
  checkAborted,
@@ -16,7 +16,7 @@ import {
16
16
  loadAllAgentsDefault,
17
17
  saveItemToDir,
18
18
  spawnShellProcess
19
- } from "./chunk-UR4A2HYT.js";
19
+ } from "./chunk-LH5J7V4F.js";
20
20
  import {
21
21
  getPlatformShell,
22
22
  onProcessEvent
@@ -2056,4 +2056,4 @@ export {
2056
2056
  signalMcpReady,
2057
2057
  createWebSocketServer
2058
2058
  };
2059
- //# sourceMappingURL=chunk-P4SOUTLD.js.map
2059
+ //# sourceMappingURL=chunk-EZJFNX7D.js.map
@@ -21,7 +21,7 @@ import {
21
21
  tokenFromPassword,
22
22
  verifyPassword,
23
23
  workflowExists
24
- } from "./chunk-P4SOUTLD.js";
24
+ } from "./chunk-EZJFNX7D.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-UR4A2HYT.js";
64
+ } from "./chunk-LH5J7V4F.js";
65
65
  import {
66
66
  getPathSeparator,
67
67
  isAbsolutePath
@@ -3837,7 +3837,7 @@ import { Router as Router7 } from "express";
3837
3837
  import { spawn as spawn2 } from "child_process";
3838
3838
 
3839
3839
  // src/constants.ts
3840
- var VERSION = "2.0.39";
3840
+ var VERSION = "2.0.40";
3841
3841
 
3842
3842
  // src/server/routes/auto-update.ts
3843
3843
  var updateInProgress = false;
@@ -4034,7 +4034,7 @@ async function createServerHandle(config4) {
4034
4034
  setMcpTools(mcpTools);
4035
4035
  logger.info("MCP tools registered", { count: mcpTools.length });
4036
4036
  }
4037
- const { signalMcpReady } = await import("./server-YPCAJFOC.js");
4037
+ const { signalMcpReady } = await import("./server-INICKQAY.js");
4038
4038
  signalMcpReady();
4039
4039
  });
4040
4040
  const app = express();
@@ -4227,7 +4227,7 @@ async function createServerHandle(config4) {
4227
4227
  app.get("/api/sessions/:id", async (req, res) => {
4228
4228
  const { getEventStore: getEventStore2 } = await import("./events-KZZPCW2Q.js");
4229
4229
  const { buildMessagesFromStoredEvents } = await import("./folding-ENYH4LMG.js");
4230
- const { getPendingQuestionsForSession } = await import("./tools-ZYUJUI4R.js");
4230
+ const { getPendingQuestionsForSession } = await import("./tools-Q32G4RCJ.js");
4231
4231
  const session = sessionManager.getSession(req.params.id);
4232
4232
  if (!session) {
4233
4233
  return res.status(404).json({ error: "Session not found" });
@@ -4378,7 +4378,7 @@ async function createServerHandle(config4) {
4378
4378
  if (!callId || approved === void 0) {
4379
4379
  return res.status(400).json({ error: "callId and approved are required" });
4380
4380
  }
4381
- const { providePathConfirmation } = await import("./tools-ZYUJUI4R.js");
4381
+ const { providePathConfirmation } = await import("./tools-Q32G4RCJ.js");
4382
4382
  const result = providePathConfirmation(callId, approved, alwaysAllow);
4383
4383
  if (!result.found) {
4384
4384
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -4386,7 +4386,7 @@ async function createServerHandle(config4) {
4386
4386
  const { getEventStore: getEventStore2 } = await import("./events-KZZPCW2Q.js");
4387
4387
  const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-ENYH4LMG.js");
4388
4388
  const { createSessionStateMessage } = await import("./protocol-BKNLAEPJ.js");
4389
- const { getPendingQuestionsForSession } = await import("./tools-ZYUJUI4R.js");
4389
+ const { getPendingQuestionsForSession } = await import("./tools-Q32G4RCJ.js");
4390
4390
  const eventStore = getEventStore2();
4391
4391
  const events = eventStore.getEvents(sessionId);
4392
4392
  const messages = buildMessagesFromStoredEvents(events);
@@ -4407,7 +4407,7 @@ async function createServerHandle(config4) {
4407
4407
  if (!skip && typeof answer !== "string") {
4408
4408
  return res.status(400).json({ error: "answer is required when not skipping" });
4409
4409
  }
4410
- const { provideAnswer } = await import("./tools-ZYUJUI4R.js");
4410
+ const { provideAnswer } = await import("./tools-Q32G4RCJ.js");
4411
4411
  const found = provideAnswer(callId, answer ?? "", skip ?? false);
4412
4412
  if (!found) {
4413
4413
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -4443,8 +4443,8 @@ async function createServerHandle(config4) {
4443
4443
  if (!session) {
4444
4444
  return res.status(404).json({ error: "Session not found" });
4445
4445
  }
4446
- const { stopSessionExecution } = await import("./chat-handler-4YZGM7V7.js");
4447
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-ZYUJUI4R.js");
4446
+ const { stopSessionExecution } = await import("./chat-handler-KPQ3OM3U.js");
4447
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-Q32G4RCJ.js");
4448
4448
  const queuedMessages = sessionManager.getQueueState(sessionId);
4449
4449
  sessionManager.clearMessageQueue(sessionId);
4450
4450
  stopSessionExecution(sessionId, sessionManager);
@@ -4940,7 +4940,7 @@ async function createServerHandle(config4) {
4940
4940
  });
4941
4941
  async function rebuildMcpTools() {
4942
4942
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-B7QP6NLA.js");
4943
- const { setMcpTools: setMcpTools2 } = await import("./tools-ZYUJUI4R.js");
4943
+ const { setMcpTools: setMcpTools2 } = await import("./tools-Q32G4RCJ.js");
4944
4944
  const mcpTools = createMcpTools2(mcpManager);
4945
4945
  setMcpTools2(mcpTools);
4946
4946
  }
@@ -5219,11 +5219,6 @@ async function createServerHandle(config4) {
5219
5219
  res.set("Content-Type", "application/javascript");
5220
5220
  readFile(join5(distWebDir, "__inspect__.js")).then((content) => res.send(content)).catch(() => res.status(404).send("Not found"));
5221
5221
  });
5222
- app.use("/__inspect__.js", (_req, res) => {
5223
- res.set("Access-Control-Allow-Origin", "*");
5224
- res.set("Content-Type", "application/javascript");
5225
- readFile(join5(distWebDir, "__inspect__.js")).then((content) => res.send(content)).catch(() => res.status(404).send("Not found"));
5226
- });
5227
5222
  app.get("/", (_req, res) => {
5228
5223
  readFile(join5(distWebDir, "index.html"), "utf-8").then((content) => res.send(content)).catch(() => {
5229
5224
  res.status(404).send("Web UI not built. Run `npm run build:web`");
@@ -5253,7 +5248,7 @@ async function createServerHandle(config4) {
5253
5248
  const state = sessionManager.getContextState(sessionId);
5254
5249
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
5255
5250
  });
5256
- const { QueueProcessor } = await import("./processor-FB2I73B3.js");
5251
+ const { QueueProcessor } = await import("./processor-PQ5IQ24D.js");
5257
5252
  const queueProcessor = new QueueProcessor({
5258
5253
  sessionManager,
5259
5254
  providerManager,
@@ -5294,7 +5289,7 @@ async function createServerHandle(config4) {
5294
5289
  void (async () => {
5295
5290
  await devServerManager.stopAll();
5296
5291
  await mcpManager.disconnectAll();
5297
- const { stopAllInspectProxies } = await import("./inspect-proxy-42ZXL2R5.js");
5292
+ const { stopAllInspectProxies } = await import("./inspect-proxy-UT2LFGJ5.js");
5298
5293
  stopAllInspectProxies();
5299
5294
  const { cleanupAllProcesses } = await import("./store-OQ45KONN.js");
5300
5295
  cleanupAllProcesses();
@@ -5328,4 +5323,4 @@ export {
5328
5323
  createServerHandle,
5329
5324
  createServer
5330
5325
  };
5331
- //# sourceMappingURL=chunk-BMRC6TQ5.js.map
5326
+ //# sourceMappingURL=chunk-J7QZK6WE.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ getProjectByWorkdir
3
+ } from "./chunk-YQ3SOPBI.js";
1
4
  import {
2
5
  logger
3
6
  } from "./chunk-K44MW7JJ.js";
@@ -65,25 +68,24 @@ ${headerLines}\r
65
68
  return Buffer.concat([head, body]);
66
69
  }
67
70
  function dechunk(buf) {
68
- const str = buf.toString("utf8");
69
71
  const parts = [];
70
72
  let pos = 0;
71
- while (pos < str.length) {
72
- const nlIdx = str.indexOf("\r\n", pos);
73
+ while (pos < buf.length) {
74
+ const nlIdx = buf.indexOf("\r\n", pos);
73
75
  if (nlIdx < 0) break;
74
- const sizeStr = str.slice(pos, nlIdx);
76
+ const sizeStr = buf.subarray(pos, nlIdx).toString("ascii");
75
77
  const size = parseInt(sizeStr, 16);
76
78
  if (isNaN(size) || size < 0) break;
77
79
  if (size === 0) break;
78
80
  const chunkStart = nlIdx + 2;
79
81
  const chunkEnd = chunkStart + size;
80
- if (chunkEnd > str.length) break;
81
- parts.push(str.slice(chunkStart, chunkEnd));
82
+ if (chunkEnd > buf.length) break;
83
+ parts.push(buf.subarray(chunkStart, chunkEnd));
82
84
  pos = chunkEnd + 2;
83
85
  }
84
- return Buffer.from(parts.join(""), "utf8");
86
+ return Buffer.concat(parts);
85
87
  }
86
- function startInspectProxy(target, sessionManager) {
88
+ function startInspectProxy(target, sessionManager, workdir) {
87
89
  const port = getAvailablePort();
88
90
  const server = net.createServer((client) => {
89
91
  let clientHead = "";
@@ -100,6 +102,26 @@ function startInspectProxy(target, sessionManager) {
100
102
  const { method, url, headers } = parseReqHeaders(clientHead);
101
103
  const isWS = headers["upgrade"] === "websocket";
102
104
  clientParsed = true;
105
+ if (url === "/__openfox_sessions" && method === "GET") {
106
+ let sessions = sessionManager.listSessions();
107
+ if (workdir) {
108
+ const project = getProjectByWorkdir(workdir);
109
+ if (project) {
110
+ sessions = sessions.filter((s) => s.projectId === project.id);
111
+ }
112
+ }
113
+ sessions.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
114
+ const mapped = sessions.map((s) => ({
115
+ id: s.id,
116
+ title: s.title ?? s.id,
117
+ createdAt: s.createdAt
118
+ }));
119
+ client.write(
120
+ buildResponse(200, { "Content-Type": "application/json" }, Buffer.from(JSON.stringify({ sessions: mapped })))
121
+ );
122
+ client.end();
123
+ return;
124
+ }
103
125
  if (url === "/__openfox_feedback" && method === "POST") {
104
126
  const contentLength = parseInt(headers["content-length"] || "0", 10);
105
127
  let bodyData = chunk.slice(he + 4);
@@ -158,8 +180,10 @@ ${annotation || "(none)"}`;
158
180
  return;
159
181
  }
160
182
  targetSocket = net.connect(targetPort, targetHost);
161
- targetSocket.on("error", () => client.destroy());
162
- client.on("error", () => targetSocket.destroy());
183
+ targetSocket.on("error", () => {
184
+ respondWithError(502, "Bad Gateway");
185
+ });
186
+ client.on("error", () => targetSocket?.destroy());
163
187
  client.on("end", () => targetSocket.end());
164
188
  const connClose = "\r\nConnection: close";
165
189
  const reqEnd = clientHead.indexOf("\r\n\r\n");
@@ -176,7 +200,15 @@ ${annotation || "(none)"}`;
176
200
  let resHeaders = {};
177
201
  const bodyBuf = [];
178
202
  let headEnd = -1;
203
+ let responded = false;
204
+ function respondWithError(status2, message) {
205
+ if (responded) return;
206
+ responded = true;
207
+ client.write(buildResponse(status2, { "Content-Type": "text/plain" }, Buffer.from(message)));
208
+ client.end();
209
+ }
179
210
  targetSocket.on("data", (sChunk) => {
211
+ if (responded) return;
180
212
  if (!serverParsed) {
181
213
  serverHeadBuf += sChunk.toString("utf8");
182
214
  const sHe = serverHeadBuf.indexOf("\r\n\r\n");
@@ -215,17 +247,20 @@ ${annotation || "(none)"}`;
215
247
  client.write(sChunk);
216
248
  });
217
249
  targetSocket.on("end", () => {
250
+ if (responded) return;
218
251
  if (!serverParsed) {
219
- client.end();
252
+ respondWithError(502, "Upstream connection closed prematurely");
220
253
  return;
221
254
  }
222
255
  if (isHtml && enc) {
223
256
  const fullBody = Buffer.concat(bodyBuf);
257
+ const isChunked = (resHeaders["transfer-encoding"] || "").toLowerCase() === "chunked";
258
+ const decoded = isChunked ? dechunk(fullBody) : fullBody;
224
259
  let text;
225
260
  try {
226
- if (enc === "gzip") text = zlib.gunzipSync(fullBody).toString("utf8");
227
- else if (enc === "deflate") text = zlib.inflateSync(fullBody).toString("utf8");
228
- else text = fullBody.toString("utf8");
261
+ if (enc === "gzip") text = zlib.gunzipSync(decoded).toString("utf8");
262
+ else if (enc === "deflate") text = zlib.inflateSync(decoded).toString("utf8");
263
+ else text = decoded.toString("utf8");
229
264
  } catch {
230
265
  client.end();
231
266
  return;
@@ -236,6 +271,9 @@ ${annotation || "(none)"}`;
236
271
  if (bi >= 0) modified = text.slice(0, bi) + INJECT_SCRIPT + text.slice(bi);
237
272
  else if (hi >= 0) modified = text.slice(0, hi) + INJECT_SCRIPT + text.slice(hi);
238
273
  else {
274
+ const headStr2 = buildHttpHeaders(resHeaders, status);
275
+ client.write(Buffer.from(headStr2, "utf8"));
276
+ client.write(fullBody);
239
277
  client.end();
240
278
  return;
241
279
  }
@@ -246,6 +284,7 @@ ${annotation || "(none)"}`;
246
284
  const headStr = buildHttpHeaders(resHeaders, status);
247
285
  client.write(Buffer.from(headStr, "utf8"));
248
286
  client.write(compressed);
287
+ client.end();
249
288
  } else if (isHtml && bodyBuf.length > 0) {
250
289
  const fullBody = Buffer.concat(bodyBuf);
251
290
  const isChunked = (resHeaders["transfer-encoding"] || "").toLowerCase() === "chunked";
@@ -258,14 +297,22 @@ ${annotation || "(none)"}`;
258
297
  else if (hi >= 0)
259
298
  modified = Buffer.concat([dechunks.slice(0, hi), Buffer.from(INJECT_SCRIPT, "utf8"), dechunks.slice(hi)]);
260
299
  else {
300
+ const headStr2 = buildHttpHeaders(
301
+ resHeaders,
302
+ status,
303
+ Buffer.byteLength(dechunks),
304
+ "text/html; charset=utf-8"
305
+ );
306
+ client.write(Buffer.from(headStr2, "utf8"));
307
+ client.write(dechunks);
261
308
  client.end();
262
309
  return;
263
310
  }
264
311
  const headStr = buildHttpHeaders(resHeaders, status, Buffer.byteLength(modified), "text/html; charset=utf-8");
265
312
  client.write(Buffer.from(headStr, "utf8"));
266
313
  client.write(modified);
314
+ client.end();
267
315
  }
268
- client.end();
269
316
  });
270
317
  });
271
318
  client.on("error", () => {
@@ -293,4 +340,4 @@ export {
293
340
  startInspectProxy,
294
341
  stopAllInspectProxies
295
342
  };
296
- //# sourceMappingURL=chunk-DL6ZILAF.js.map
343
+ //# sourceMappingURL=chunk-LBGHZLLH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  startInspectProxy
3
- } from "./chunk-DL6ZILAF.js";
3
+ } from "./chunk-LBGHZLLH.js";
4
4
  import {
5
5
  createProcess,
6
6
  getPlatformShell,
@@ -3452,7 +3452,7 @@ var callSubAgentTool = {
3452
3452
  };
3453
3453
  }
3454
3454
  try {
3455
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-ZYUJUI4R.js");
3455
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-Q32G4RCJ.js");
3456
3456
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3457
3457
  const turnMetrics = new TurnMetrics();
3458
3458
  const result = await executeSubAgent({
@@ -3806,7 +3806,7 @@ var DevServerManager = class {
3806
3806
  instance.exited = false;
3807
3807
  if (!config.disableInspect && config.url && this._sessionManager) {
3808
3808
  try {
3809
- const { port, cleanup } = startInspectProxy(config.url, this._sessionManager);
3809
+ const { port, cleanup } = startInspectProxy(config.url, this._sessionManager, workdir);
3810
3810
  instance.inspectProxyPort = port;
3811
3811
  instance.proxyCleanup = cleanup;
3812
3812
  logger.debug("Inspect proxy started", { workdir, port, target: config.url });
@@ -4268,7 +4268,7 @@ function resolveAgentDef2(sessionManager, sessionId) {
4268
4268
  }
4269
4269
  async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
4270
4270
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
4271
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-ZYUJUI4R.js");
4271
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-Q32G4RCJ.js");
4272
4272
  const tools = getToolRegistryForAgent2(agentDef).definitions;
4273
4273
  const toolFingerprint = getToolFingerprint(tools);
4274
4274
  const allAgents = await loadAllAgentsDefault();
@@ -4281,7 +4281,7 @@ async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
4281
4281
  async function computeSessionHash(sessionManager, sessionId) {
4282
4282
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
4283
4283
  const agentDef = await resolveAgentDef2(sessionManager, sessionId);
4284
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-ZYUJUI4R.js");
4284
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-Q32G4RCJ.js");
4285
4285
  const tools = getToolRegistryForAgent2(agentDef).definitions;
4286
4286
  const toolFingerprint = getToolFingerprint(tools);
4287
4287
  return computeDynamicContextHash(instructionContent, skills, toolFingerprint);
@@ -4388,7 +4388,7 @@ var mcpConfigTool = createTool(
4388
4388
  await saveGlobalConfig(mcpConfigMode, { ...globalConfig, mcpServers: updated });
4389
4389
  }
4390
4390
  async function rebuildTools() {
4391
- const { setMcpTools: setMcpTools2 } = await import("./tools-ZYUJUI4R.js");
4391
+ const { setMcpTools: setMcpTools2 } = await import("./tools-Q32G4RCJ.js");
4392
4392
  const mcpTools = createMcpTools(mcpManagerForTools);
4393
4393
  setMcpTools2(mcpTools);
4394
4394
  }
@@ -5058,4 +5058,4 @@ export {
5058
5058
  getToolRegistryForAgent,
5059
5059
  createToolRegistry
5060
5060
  };
5061
- //# sourceMappingURL=chunk-UR4A2HYT.js.map
5061
+ //# sourceMappingURL=chunk-LH5J7V4F.js.map
@@ -12,7 +12,7 @@ import {
12
12
  loadAllAgentsDefault,
13
13
  processEventsForConversation,
14
14
  runTopLevelAgentLoop
15
- } from "./chunk-UR4A2HYT.js";
15
+ } from "./chunk-LH5J7V4F.js";
16
16
  import {
17
17
  TurnMetrics,
18
18
  WORKFLOW_KICKOFF_PROMPT,
@@ -310,4 +310,4 @@ export {
310
310
  runAgentTurn,
311
311
  injectWorkflowKickoffIfNeeded
312
312
  };
313
- //# sourceMappingURL=chunk-BG5ILIWN.js.map
313
+ //# sourceMappingURL=chunk-WUG3TOAL.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-4RYP3RBY.js";
4
+ } from "../chunk-34CRQ76B.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-4RYP3RBY.js";
4
+ } from "../chunk-34CRQ76B.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
@@ -1,10 +1,12 @@
1
1
  import {
2
2
  startInspectProxy,
3
3
  stopAllInspectProxies
4
- } from "./chunk-DL6ZILAF.js";
4
+ } from "./chunk-LBGHZLLH.js";
5
+ import "./chunk-YQ3SOPBI.js";
6
+ import "./chunk-ZPIZLTWU.js";
5
7
  import "./chunk-K44MW7JJ.js";
6
8
  export {
7
9
  startInspectProxy,
8
10
  stopAllInspectProxies
9
11
  };
10
- //# sourceMappingURL=inspect-proxy-42ZXL2R5.js.map
12
+ //# sourceMappingURL=inspect-proxy-UT2LFGJ5.js.map
@@ -2,9 +2,9 @@ import {
2
2
  injectWorkflowKickoffIfNeeded,
3
3
  runAgentTurn,
4
4
  runChatTurn
5
- } from "./chunk-BG5ILIWN.js";
6
- import "./chunk-UR4A2HYT.js";
7
- import "./chunk-DL6ZILAF.js";
5
+ } from "./chunk-WUG3TOAL.js";
6
+ import "./chunk-LH5J7V4F.js";
7
+ import "./chunk-LBGHZLLH.js";
8
8
  import "./chunk-PBGOZMVY.js";
9
9
  import "./chunk-VRGRAQDG.js";
10
10
  import "./chunk-NWO6GRYE.js";
@@ -42,4 +42,4 @@ export {
42
42
  runAgentTurn,
43
43
  runChatTurn
44
44
  };
45
- //# sourceMappingURL=orchestrator-7B3XOZ4T.js.map
45
+ //# sourceMappingURL=orchestrator-O4FZ3UVV.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.39",
3
+ "version": "2.0.40",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -3,8 +3,8 @@ import {
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
5
  } from "./chunk-JGNAYJJZ.js";
6
- import "./chunk-UR4A2HYT.js";
7
- import "./chunk-DL6ZILAF.js";
6
+ import "./chunk-LH5J7V4F.js";
7
+ import "./chunk-LBGHZLLH.js";
8
8
  import "./chunk-PBGOZMVY.js";
9
9
  import "./chunk-VRGRAQDG.js";
10
10
  import "./chunk-NWO6GRYE.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-7B3XOZ4T.js");
174
+ const { runChatTurn } = await import("./orchestrator-O4FZ3UVV.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-FB2I73B3.js.map
219
+ //# sourceMappingURL=processor-PQ5IQ24D.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  VERSION,
3
3
  createServer
4
- } from "./chunk-BMRC6TQ5.js";
5
- import "./chunk-P4SOUTLD.js";
6
- import "./chunk-BG5ILIWN.js";
7
- import "./chunk-UR4A2HYT.js";
8
- import "./chunk-DL6ZILAF.js";
4
+ } from "./chunk-J7QZK6WE.js";
5
+ import "./chunk-EZJFNX7D.js";
6
+ import "./chunk-WUG3TOAL.js";
7
+ import "./chunk-LH5J7V4F.js";
8
+ import "./chunk-LBGHZLLH.js";
9
9
  import "./chunk-PBGOZMVY.js";
10
10
  import "./chunk-VRGRAQDG.js";
11
11
  import "./chunk-NWO6GRYE.js";
@@ -199,4 +199,4 @@ async function runServe(options) {
199
199
  export {
200
200
  runServe
201
201
  };
202
- //# sourceMappingURL=serve-RZWSK3AA.js.map
202
+ //# sourceMappingURL=serve-NC3U2VTG.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-BMRC6TQ5.js";
5
- import "../chunk-P4SOUTLD.js";
6
- import "../chunk-BG5ILIWN.js";
7
- import "../chunk-UR4A2HYT.js";
8
- import "../chunk-DL6ZILAF.js";
4
+ } from "../chunk-J7QZK6WE.js";
5
+ import "../chunk-EZJFNX7D.js";
6
+ import "../chunk-WUG3TOAL.js";
7
+ import "../chunk-LH5J7V4F.js";
8
+ import "../chunk-LBGHZLLH.js";
9
9
  import "../chunk-PBGOZMVY.js";
10
10
  import "../chunk-VRGRAQDG.js";
11
11
  import "../chunk-NWO6GRYE.js";
File without changes
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createWebSocketServer,
3
3
  signalMcpReady
4
- } from "./chunk-P4SOUTLD.js";
5
- import "./chunk-BG5ILIWN.js";
6
- import "./chunk-UR4A2HYT.js";
7
- import "./chunk-DL6ZILAF.js";
4
+ } from "./chunk-EZJFNX7D.js";
5
+ import "./chunk-WUG3TOAL.js";
6
+ import "./chunk-LH5J7V4F.js";
7
+ import "./chunk-LBGHZLLH.js";
8
8
  import "./chunk-PBGOZMVY.js";
9
9
  import "./chunk-VRGRAQDG.js";
10
10
  import "./chunk-NWO6GRYE.js";
@@ -34,4 +34,4 @@ export {
34
34
  createWebSocketServer,
35
35
  signalMcpReady
36
36
  };
37
- //# sourceMappingURL=server-YPCAJFOC.js.map
37
+ //# sourceMappingURL=server-INICKQAY.js.map
@@ -12,8 +12,8 @@ import {
12
12
  setMcpTools,
13
13
  stepDoneTool,
14
14
  validateToolAction
15
- } from "./chunk-UR4A2HYT.js";
16
- import "./chunk-DL6ZILAF.js";
15
+ } from "./chunk-LH5J7V4F.js";
16
+ import "./chunk-LBGHZLLH.js";
17
17
  import "./chunk-PBGOZMVY.js";
18
18
  import "./chunk-VRGRAQDG.js";
19
19
  import "./chunk-NWO6GRYE.js";
@@ -57,4 +57,4 @@ export {
57
57
  stepDoneTool,
58
58
  validateToolAction
59
59
  };
60
- //# sourceMappingURL=tools-ZYUJUI4R.js.map
60
+ //# sourceMappingURL=tools-Q32G4RCJ.js.map