openfox 2.0.46 → 2.0.47

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,8 +5,8 @@ import {
5
5
  } from "./chunk-U62IKLKM.js";
6
6
  import {
7
7
  runChatTurn
8
- } from "./chunk-VVBHUTJ5.js";
9
- import "./chunk-MH73ZSPY.js";
8
+ } from "./chunk-CJDWHFC2.js";
9
+ import "./chunk-GTY27MWS.js";
10
10
  import "./chunk-LBGHZLLH.js";
11
11
  import "./chunk-PBGOZMVY.js";
12
12
  import "./chunk-VRGRAQDG.js";
@@ -154,4 +154,4 @@ export {
154
154
  startChatSession,
155
155
  stopSessionExecution
156
156
  };
157
- //# sourceMappingURL=chat-handler-QSIPCVYT.js.map
157
+ //# sourceMappingURL=chat-handler-RQMS6H7Y.js.map
@@ -2,7 +2,7 @@ import {
2
2
  injectWorkflowKickoffIfNeeded,
3
3
  runAgentTurn,
4
4
  runChatTurn
5
- } from "./chunk-VVBHUTJ5.js";
5
+ } from "./chunk-CJDWHFC2.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-MH73ZSPY.js";
19
+ } from "./chunk-GTY27MWS.js";
20
20
  import {
21
21
  getPlatformShell,
22
22
  onProcessEvent
@@ -2065,4 +2065,4 @@ export {
2065
2065
  signalMcpReady,
2066
2066
  createWebSocketServer
2067
2067
  };
2068
- //# sourceMappingURL=chunk-EU6XT5ST.js.map
2068
+ //# sourceMappingURL=chunk-7LRXWATH.js.map
@@ -12,7 +12,7 @@ import {
12
12
  loadAllAgentsDefault,
13
13
  processEventsForConversation,
14
14
  runTopLevelAgentLoop
15
- } from "./chunk-MH73ZSPY.js";
15
+ } from "./chunk-GTY27MWS.js";
16
16
  import {
17
17
  TurnMetrics,
18
18
  WORKFLOW_KICKOFF_PROMPT,
@@ -313,4 +313,4 @@ export {
313
313
  runAgentTurn,
314
314
  injectWorkflowKickoffIfNeeded
315
315
  };
316
- //# sourceMappingURL=chunk-VVBHUTJ5.js.map
316
+ //# sourceMappingURL=chunk-CJDWHFC2.js.map
@@ -208,7 +208,7 @@ async function runCli(options) {
208
208
  if (!configExists) {
209
209
  await runNetworkSetup(mode);
210
210
  }
211
- const { runServe } = await import("./serve-TKOKRJTR.js");
211
+ const { runServe } = await import("./serve-3SFSDC3X.js");
212
212
  const serveOptions = { mode };
213
213
  if (values.port) serveOptions.port = parseInt(values.port);
214
214
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -220,4 +220,4 @@ async function runCli(options) {
220
220
  export {
221
221
  runCli
222
222
  };
223
- //# sourceMappingURL=chunk-LNE4QPNW.js.map
223
+ //# sourceMappingURL=chunk-ENZPGAZV.js.map
@@ -882,7 +882,7 @@ var readFileTool = createTool(
882
882
  type: "function",
883
883
  function: {
884
884
  name: "read_file",
885
- description: "Read the contents of a file or list directory contents. For text files: returns line-numbered content. For images (PNG, JPEG, GIF, WebP, BMP, SVG): returns base64-encoded data with MIME type metadata. For directories: returns a tree-formatted listing of entries with file sizes.",
885
+ description: "Read the contents of a file or list directory contents. For text files: returns file content. For images (PNG, JPEG, GIF, WebP, BMP, SVG): returns base64-encoded data with MIME type metadata. For directories: returns a tree-formatted listing of entries with file sizes.",
886
886
  parameters: {
887
887
  type: "object",
888
888
  properties: {
@@ -948,7 +948,7 @@ var readFileTool = createTool(
948
948
  const startLine = Math.max(1, offset);
949
949
  const endLine = Math.min(startLine + limit - 1, totalLines);
950
950
  const selectedLines = lines.slice(startLine - 1, endLine);
951
- const formatted = selectedLines.map((line, i) => `${startLine + i}|${line}`).join("\n");
951
+ const formatted = selectedLines.join("\n");
952
952
  const truncated = endLine < totalLines;
953
953
  let output = formatted;
954
954
  if (truncated) {
@@ -969,6 +969,8 @@ var readFileTool = createTool(
969
969
  encoding,
970
970
  confidence: Math.round(confidence * 100) / 100,
971
971
  lineCount: totalLines,
972
+ startLine,
973
+ endLine,
972
974
  path: fullPath
973
975
  }
974
976
  });
@@ -3477,7 +3479,7 @@ var callSubAgentTool = {
3477
3479
  };
3478
3480
  }
3479
3481
  try {
3480
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-UMI2IMYI.js");
3482
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-CSRQDWRI.js");
3481
3483
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3482
3484
  const turnMetrics = new TurnMetrics();
3483
3485
  const result = await executeSubAgent({
@@ -4293,7 +4295,7 @@ function resolveAgentDef2(sessionManager, sessionId) {
4293
4295
  }
4294
4296
  async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
4295
4297
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
4296
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-UMI2IMYI.js");
4298
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-CSRQDWRI.js");
4297
4299
  const tools = getToolRegistryForAgent2(agentDef).definitions;
4298
4300
  const toolFingerprint = getToolFingerprint(tools);
4299
4301
  const allAgents = await loadAllAgentsDefault();
@@ -4306,7 +4308,7 @@ async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
4306
4308
  async function computeSessionHash(sessionManager, sessionId) {
4307
4309
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
4308
4310
  const agentDef = await resolveAgentDef2(sessionManager, sessionId);
4309
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-UMI2IMYI.js");
4311
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-CSRQDWRI.js");
4310
4312
  const tools = getToolRegistryForAgent2(agentDef).definitions;
4311
4313
  const toolFingerprint = getToolFingerprint(tools);
4312
4314
  return computeDynamicContextHash(instructionContent, skills, toolFingerprint);
@@ -4413,7 +4415,7 @@ var mcpConfigTool = createTool(
4413
4415
  await saveGlobalConfig(mcpConfigMode, { ...globalConfig, mcpServers: updated });
4414
4416
  }
4415
4417
  async function rebuildTools() {
4416
- const { setMcpTools: setMcpTools2 } = await import("./tools-UMI2IMYI.js");
4418
+ const { setMcpTools: setMcpTools2 } = await import("./tools-CSRQDWRI.js");
4417
4419
  const mcpTools = createMcpTools(mcpManagerForTools);
4418
4420
  setMcpTools2(mcpTools);
4419
4421
  }
@@ -5083,4 +5085,4 @@ export {
5083
5085
  getToolRegistryForAgent,
5084
5086
  createToolRegistry
5085
5087
  };
5086
- //# sourceMappingURL=chunk-MH73ZSPY.js.map
5088
+ //# sourceMappingURL=chunk-GTY27MWS.js.map
@@ -21,7 +21,7 @@ import {
21
21
  tokenFromPassword,
22
22
  verifyPassword,
23
23
  workflowExists
24
- } from "./chunk-EU6XT5ST.js";
24
+ } from "./chunk-7LRXWATH.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-MH73ZSPY.js";
64
+ } from "./chunk-GTY27MWS.js";
65
65
  import {
66
66
  getPathSeparator,
67
67
  isAbsolutePath
@@ -3849,7 +3849,7 @@ import { Router as Router7 } from "express";
3849
3849
  import { spawn as spawn2 } from "child_process";
3850
3850
 
3851
3851
  // src/constants.ts
3852
- var VERSION = "2.0.46";
3852
+ var VERSION = "2.0.47";
3853
3853
 
3854
3854
  // src/server/routes/auto-update.ts
3855
3855
  var updateInProgress = false;
@@ -4046,7 +4046,7 @@ async function createServerHandle(config4) {
4046
4046
  setMcpTools(mcpTools);
4047
4047
  logger.info("MCP tools registered", { count: mcpTools.length });
4048
4048
  }
4049
- const { signalMcpReady } = await import("./server-KZ3UARRZ.js");
4049
+ const { signalMcpReady } = await import("./server-PV5DANZ7.js");
4050
4050
  signalMcpReady();
4051
4051
  });
4052
4052
  const app = express();
@@ -4239,7 +4239,7 @@ async function createServerHandle(config4) {
4239
4239
  app.get("/api/sessions/:id", async (req, res) => {
4240
4240
  const { getEventStore: getEventStore2 } = await import("./events-S4EOKSYA.js");
4241
4241
  const { buildMessagesFromStoredEvents } = await import("./folding-H5C6HS7O.js");
4242
- const { getPendingQuestionsForSession } = await import("./tools-UMI2IMYI.js");
4242
+ const { getPendingQuestionsForSession } = await import("./tools-CSRQDWRI.js");
4243
4243
  const session = sessionManager.getSession(req.params.id);
4244
4244
  if (!session) {
4245
4245
  return res.status(404).json({ error: "Session not found" });
@@ -4390,7 +4390,7 @@ async function createServerHandle(config4) {
4390
4390
  if (!callId || approved === void 0) {
4391
4391
  return res.status(400).json({ error: "callId and approved are required" });
4392
4392
  }
4393
- const { providePathConfirmation } = await import("./tools-UMI2IMYI.js");
4393
+ const { providePathConfirmation } = await import("./tools-CSRQDWRI.js");
4394
4394
  const result = providePathConfirmation(callId, approved, alwaysAllow);
4395
4395
  if (!result.found) {
4396
4396
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -4398,7 +4398,7 @@ async function createServerHandle(config4) {
4398
4398
  const { getEventStore: getEventStore2 } = await import("./events-S4EOKSYA.js");
4399
4399
  const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-H5C6HS7O.js");
4400
4400
  const { createSessionStateMessage } = await import("./protocol-CTNE3ANP.js");
4401
- const { getPendingQuestionsForSession } = await import("./tools-UMI2IMYI.js");
4401
+ const { getPendingQuestionsForSession } = await import("./tools-CSRQDWRI.js");
4402
4402
  const eventStore = getEventStore2();
4403
4403
  const events = eventStore.getEvents(sessionId);
4404
4404
  const messages = buildMessagesFromStoredEvents(events);
@@ -4419,7 +4419,7 @@ async function createServerHandle(config4) {
4419
4419
  if (!skip && typeof answer !== "string") {
4420
4420
  return res.status(400).json({ error: "answer is required when not skipping" });
4421
4421
  }
4422
- const { provideAnswer } = await import("./tools-UMI2IMYI.js");
4422
+ const { provideAnswer } = await import("./tools-CSRQDWRI.js");
4423
4423
  const found = provideAnswer(callId, answer ?? "", skip ?? false);
4424
4424
  if (!found) {
4425
4425
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -4455,7 +4455,7 @@ async function createServerHandle(config4) {
4455
4455
  if (sessionManager.isWarmedUp(sessionId)) {
4456
4456
  return res.json({ success: false, reason: "already_warmed" });
4457
4457
  }
4458
- const { runAgentTurn, TurnMetrics } = await import("./orchestrator-3PQ6KQAG.js");
4458
+ const { runAgentTurn, TurnMetrics } = await import("./orchestrator-B37KCY3N.js");
4459
4459
  runAgentTurn(
4460
4460
  {
4461
4461
  sessionManager,
@@ -4498,8 +4498,8 @@ async function createServerHandle(config4) {
4498
4498
  if (!session) {
4499
4499
  return res.status(404).json({ error: "Session not found" });
4500
4500
  }
4501
- const { stopSessionExecution } = await import("./chat-handler-QSIPCVYT.js");
4502
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-UMI2IMYI.js");
4501
+ const { stopSessionExecution } = await import("./chat-handler-RQMS6H7Y.js");
4502
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CSRQDWRI.js");
4503
4503
  const queuedMessages = sessionManager.getQueueState(sessionId);
4504
4504
  sessionManager.clearMessageQueue(sessionId);
4505
4505
  stopSessionExecution(sessionId, sessionManager);
@@ -4995,7 +4995,7 @@ async function createServerHandle(config4) {
4995
4995
  });
4996
4996
  async function rebuildMcpTools() {
4997
4997
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-MOGEI6TP.js");
4998
- const { setMcpTools: setMcpTools2 } = await import("./tools-UMI2IMYI.js");
4998
+ const { setMcpTools: setMcpTools2 } = await import("./tools-CSRQDWRI.js");
4999
4999
  const mcpTools = createMcpTools2(mcpManager);
5000
5000
  setMcpTools2(mcpTools);
5001
5001
  }
@@ -5303,7 +5303,7 @@ async function createServerHandle(config4) {
5303
5303
  const state = sessionManager.getContextState(sessionId);
5304
5304
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
5305
5305
  });
5306
- const { QueueProcessor } = await import("./processor-MHNIP32O.js");
5306
+ const { QueueProcessor } = await import("./processor-FQEDZOWL.js");
5307
5307
  const queueProcessor = new QueueProcessor({
5308
5308
  sessionManager,
5309
5309
  providerManager,
@@ -5378,4 +5378,4 @@ export {
5378
5378
  createServerHandle,
5379
5379
  createServer
5380
5380
  };
5381
- //# sourceMappingURL=chunk-HSXSRVW2.js.map
5381
+ //# sourceMappingURL=chunk-LCCED4OV.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-LNE4QPNW.js";
4
+ } from "../chunk-ENZPGAZV.js";
5
5
  import "../chunk-XY3LESVZ.js";
6
6
  import {
7
7
  logger
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-LNE4QPNW.js";
4
+ } from "../chunk-ENZPGAZV.js";
5
5
  import "../chunk-XY3LESVZ.js";
6
6
  import {
7
7
  logger
@@ -2,8 +2,8 @@ import {
2
2
  injectWorkflowKickoffIfNeeded,
3
3
  runAgentTurn,
4
4
  runChatTurn
5
- } from "./chunk-VVBHUTJ5.js";
6
- import "./chunk-MH73ZSPY.js";
5
+ } from "./chunk-CJDWHFC2.js";
6
+ import "./chunk-GTY27MWS.js";
7
7
  import "./chunk-LBGHZLLH.js";
8
8
  import "./chunk-PBGOZMVY.js";
9
9
  import "./chunk-VRGRAQDG.js";
@@ -43,4 +43,4 @@ export {
43
43
  runAgentTurn,
44
44
  runChatTurn
45
45
  };
46
- //# sourceMappingURL=orchestrator-3PQ6KQAG.js.map
46
+ //# sourceMappingURL=orchestrator-B37KCY3N.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.46",
3
+ "version": "2.0.47",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -3,7 +3,7 @@ import {
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
5
  } from "./chunk-U62IKLKM.js";
6
- import "./chunk-MH73ZSPY.js";
6
+ import "./chunk-GTY27MWS.js";
7
7
  import "./chunk-LBGHZLLH.js";
8
8
  import "./chunk-PBGOZMVY.js";
9
9
  import "./chunk-VRGRAQDG.js";
@@ -174,7 +174,7 @@ var QueueProcessor = class {
174
174
  backend: provider?.backend ?? llmClient.getBackend(),
175
175
  model: llmClient.getModel()
176
176
  };
177
- const { runChatTurn } = await import("./orchestrator-3PQ6KQAG.js");
177
+ const { runChatTurn } = await import("./orchestrator-B37KCY3N.js");
178
178
  const runChatTurnParams = buildRunChatTurnParams({
179
179
  sessionManager,
180
180
  sessionId,
@@ -224,4 +224,4 @@ var QueueProcessor = class {
224
224
  export {
225
225
  QueueProcessor
226
226
  };
227
- //# sourceMappingURL=processor-MHNIP32O.js.map
227
+ //# sourceMappingURL=processor-FQEDZOWL.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  VERSION,
3
3
  createServer
4
- } from "./chunk-HSXSRVW2.js";
5
- import "./chunk-EU6XT5ST.js";
6
- import "./chunk-VVBHUTJ5.js";
7
- import "./chunk-MH73ZSPY.js";
4
+ } from "./chunk-LCCED4OV.js";
5
+ import "./chunk-7LRXWATH.js";
6
+ import "./chunk-CJDWHFC2.js";
7
+ import "./chunk-GTY27MWS.js";
8
8
  import "./chunk-LBGHZLLH.js";
9
9
  import "./chunk-PBGOZMVY.js";
10
10
  import "./chunk-VRGRAQDG.js";
@@ -205,4 +205,4 @@ async function runServe(options) {
205
205
  export {
206
206
  runServe
207
207
  };
208
- //# sourceMappingURL=serve-TKOKRJTR.js.map
208
+ //# sourceMappingURL=serve-3SFSDC3X.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-HSXSRVW2.js";
5
- import "../chunk-EU6XT5ST.js";
6
- import "../chunk-VVBHUTJ5.js";
7
- import "../chunk-MH73ZSPY.js";
4
+ } from "../chunk-LCCED4OV.js";
5
+ import "../chunk-7LRXWATH.js";
6
+ import "../chunk-CJDWHFC2.js";
7
+ import "../chunk-GTY27MWS.js";
8
8
  import "../chunk-LBGHZLLH.js";
9
9
  import "../chunk-PBGOZMVY.js";
10
10
  import "../chunk-VRGRAQDG.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createWebSocketServer,
3
3
  signalMcpReady
4
- } from "./chunk-EU6XT5ST.js";
5
- import "./chunk-VVBHUTJ5.js";
6
- import "./chunk-MH73ZSPY.js";
4
+ } from "./chunk-7LRXWATH.js";
5
+ import "./chunk-CJDWHFC2.js";
6
+ import "./chunk-GTY27MWS.js";
7
7
  import "./chunk-LBGHZLLH.js";
8
8
  import "./chunk-PBGOZMVY.js";
9
9
  import "./chunk-VRGRAQDG.js";
@@ -35,4 +35,4 @@ export {
35
35
  createWebSocketServer,
36
36
  signalMcpReady
37
37
  };
38
- //# sourceMappingURL=server-KZ3UARRZ.js.map
38
+ //# sourceMappingURL=server-PV5DANZ7.js.map
@@ -12,7 +12,7 @@ import {
12
12
  setMcpTools,
13
13
  stepDoneTool,
14
14
  validateToolAction
15
- } from "./chunk-MH73ZSPY.js";
15
+ } from "./chunk-GTY27MWS.js";
16
16
  import "./chunk-LBGHZLLH.js";
17
17
  import "./chunk-PBGOZMVY.js";
18
18
  import "./chunk-VRGRAQDG.js";
@@ -58,4 +58,4 @@ export {
58
58
  stepDoneTool,
59
59
  validateToolAction
60
60
  };
61
- //# sourceMappingURL=tools-UMI2IMYI.js.map
61
+ //# sourceMappingURL=tools-CSRQDWRI.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.46",
3
+ "version": "2.0.47",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {