openfox 2.0.5 → 2.0.7

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.
@@ -8,8 +8,8 @@ import {
8
8
  } from "./chunk-TIKQWNYK.js";
9
9
  import {
10
10
  runChatTurn
11
- } from "./chunk-7EHJPONC.js";
12
- import "./chunk-7S6FKODI.js";
11
+ } from "./chunk-LIOHT26X.js";
12
+ import "./chunk-KGZMKMEZ.js";
13
13
  import "./chunk-DL6ZILAF.js";
14
14
  import "./chunk-PBGOZMVY.js";
15
15
  import "./chunk-VRGRAQDG.js";
@@ -161,4 +161,4 @@ export {
161
161
  startChatSession,
162
162
  stopSessionExecution
163
163
  };
164
- //# sourceMappingURL=chat-handler-RQXMBCKX.js.map
164
+ //# sourceMappingURL=chat-handler-C33BNR7G.js.map
@@ -3,7 +3,7 @@ import {
3
3
  injectWorkflowKickoffIfNeeded,
4
4
  runAgentTurn,
5
5
  runChatTurn
6
- } from "./chunk-7EHJPONC.js";
6
+ } from "./chunk-LIOHT26X.js";
7
7
  import {
8
8
  COMPACTION_PROMPT,
9
9
  TurnMetrics,
@@ -58,7 +58,7 @@ import {
58
58
  skillExists,
59
59
  spawnShellProcess,
60
60
  streamLLMPure
61
- } from "./chunk-7S6FKODI.js";
61
+ } from "./chunk-KGZMKMEZ.js";
62
62
  import {
63
63
  getPathSeparator,
64
64
  getPlatformShell,
@@ -3283,7 +3283,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
3283
3283
  const compactEvents = compactEventStore.getEvents(sessionId);
3284
3284
  const compactMessages = buildMessagesFromStoredEvents(compactEvents);
3285
3285
  const pendingConfirmations = foldPendingConfirmations(compactEvents);
3286
- const { getPendingQuestionsForSession } = await import("./tools-Z6KF35SO.js");
3286
+ const { getPendingQuestionsForSession } = await import("./tools-SPZBVI7Y.js");
3287
3287
  const pendingQuestions = getPendingQuestionsForSession(sessionId);
3288
3288
  sendForSession(
3289
3289
  sessionId,
@@ -5818,7 +5818,7 @@ import { Router as Router6 } from "express";
5818
5818
  import { spawn as spawn5 } from "child_process";
5819
5819
 
5820
5820
  // src/constants.ts
5821
- var VERSION = "2.0.5";
5821
+ var VERSION = "2.0.7";
5822
5822
 
5823
5823
  // src/server/routes/auto-update.ts
5824
5824
  var updateInProgress = false;
@@ -6146,7 +6146,7 @@ async function createServerHandle(config4) {
6146
6146
  app.get("/api/sessions/:id", async (req, res) => {
6147
6147
  const { getEventStore: getEventStore2 } = await import("./events-4K52FKPR.js");
6148
6148
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-QIBNKYA6.js");
6149
- const { getPendingQuestionsForSession } = await import("./tools-Z6KF35SO.js");
6149
+ const { getPendingQuestionsForSession } = await import("./tools-SPZBVI7Y.js");
6150
6150
  const session = sessionManager.getSession(req.params.id);
6151
6151
  if (!session) {
6152
6152
  return res.status(404).json({ error: "Session not found" });
@@ -6277,7 +6277,7 @@ async function createServerHandle(config4) {
6277
6277
  if (!callId || approved === void 0) {
6278
6278
  return res.status(400).json({ error: "callId and approved are required" });
6279
6279
  }
6280
- const { providePathConfirmation } = await import("./tools-Z6KF35SO.js");
6280
+ const { providePathConfirmation } = await import("./tools-SPZBVI7Y.js");
6281
6281
  const result = providePathConfirmation(callId, approved, alwaysAllow);
6282
6282
  if (!result.found) {
6283
6283
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -6285,7 +6285,7 @@ async function createServerHandle(config4) {
6285
6285
  const { getEventStore: getEventStore2 } = await import("./events-4K52FKPR.js");
6286
6286
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations: foldPendingConfirmations2 } = await import("./folding-QIBNKYA6.js");
6287
6287
  const { createSessionStateMessage: createSessionStateMessage2 } = await import("./protocol-YYWMFR35.js");
6288
- const { getPendingQuestionsForSession } = await import("./tools-Z6KF35SO.js");
6288
+ const { getPendingQuestionsForSession } = await import("./tools-SPZBVI7Y.js");
6289
6289
  const eventStore = getEventStore2();
6290
6290
  const events = eventStore.getEvents(sessionId);
6291
6291
  const messages = buildMessagesFromStoredEvents2(events);
@@ -6306,7 +6306,7 @@ async function createServerHandle(config4) {
6306
6306
  if (!skip && typeof answer !== "string") {
6307
6307
  return res.status(400).json({ error: "answer is required when not skipping" });
6308
6308
  }
6309
- const { provideAnswer: provideAnswer2 } = await import("./tools-Z6KF35SO.js");
6309
+ const { provideAnswer: provideAnswer2 } = await import("./tools-SPZBVI7Y.js");
6310
6310
  const found = provideAnswer2(callId, answer ?? "", skip ?? false);
6311
6311
  if (!found) {
6312
6312
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -6342,8 +6342,8 @@ async function createServerHandle(config4) {
6342
6342
  if (!session) {
6343
6343
  return res.status(404).json({ error: "Session not found" });
6344
6344
  }
6345
- const { stopSessionExecution } = await import("./chat-handler-RQXMBCKX.js");
6346
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-Z6KF35SO.js");
6345
+ const { stopSessionExecution } = await import("./chat-handler-C33BNR7G.js");
6346
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-SPZBVI7Y.js");
6347
6347
  const queuedMessages = sessionManager.getQueueState(sessionId);
6348
6348
  sessionManager.clearMessageQueue(sessionId);
6349
6349
  stopSessionExecution(sessionId, sessionManager);
@@ -6547,10 +6547,11 @@ async function createServerHandle(config4) {
6547
6547
  });
6548
6548
  app.get("/api/providers/models", async (req, res) => {
6549
6549
  const url = req.query["url"];
6550
+ const apiKey = req.query["apiKey"];
6550
6551
  if (!url) return res.status(400).json({ error: "url is required" });
6551
6552
  try {
6552
6553
  const { fetchModelsWithContext } = await import("./provider-manager-YA2WALTF.js");
6553
- const models = await fetchModelsWithContext(url);
6554
+ const models = await fetchModelsWithContext(url, apiKey);
6554
6555
  if (models.length === 0) {
6555
6556
  return res.status(404).json({ error: `No models found at ${buildModelsUrl(url)}`, url });
6556
6557
  }
@@ -6953,7 +6954,7 @@ async function createServerHandle(config4) {
6953
6954
  providerManager
6954
6955
  );
6955
6956
  const wss = wssExports.wss;
6956
- const { QueueProcessor } = await import("./processor-KRBBTKRS.js");
6957
+ const { QueueProcessor } = await import("./processor-6J4M2TLA.js");
6957
6958
  const queueProcessor = new QueueProcessor({
6958
6959
  sessionManager,
6959
6960
  providerManager,
@@ -7027,4 +7028,4 @@ export {
7027
7028
  createServerHandle,
7028
7029
  createServer
7029
7030
  };
7030
- //# sourceMappingURL=chunk-DXV74LCI.js.map
7031
+ //# sourceMappingURL=chunk-4UOVP7FK.js.map
@@ -193,7 +193,7 @@ async function runCli(options) {
193
193
  if (!configExists) {
194
194
  await runNetworkSetup(mode);
195
195
  }
196
- const { runServe } = await import("./serve-YJIMBTIX.js");
196
+ const { runServe } = await import("./serve-XVTRORFM.js");
197
197
  const serveOptions = { mode };
198
198
  if (values.port) serveOptions.port = parseInt(values.port);
199
199
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -205,4 +205,4 @@ async function runCli(options) {
205
205
  export {
206
206
  runCli
207
207
  };
208
- //# sourceMappingURL=chunk-734M5CG5.js.map
208
+ //# sourceMappingURL=chunk-7CNWK2WI.js.map
@@ -3564,7 +3564,9 @@ async function processEventsForConversation(sessionId, llmClient, onEvent) {
3564
3564
  var RETURN_VALUE_INSTRUCTION = `
3565
3565
 
3566
3566
  ## RETURN VALUE
3567
- As the very last thing you do, call \`return_value\` ONCE with a structured summary of your work. This is how your findings get passed back to the calling agent. Do not finish without calling return_value.`;
3567
+ As the very last thing you do, call \`return_value\` ONCE with a structured summary of your work. This is how your findings get passed back to the calling agent. Do not finish without calling return_value.
3568
+
3569
+ CRITICAL: Do NOT output your summary as text in the chat. Your summary must ONLY be provided via the \`return_value\` tool call. If you write the summary as text AND call return_value, you produce duplicate output \u2014 wasteful and incorrect.`;
3568
3570
  function buildSubAgentResult(returnValueContent, returnValueResult) {
3569
3571
  return {
3570
3572
  content: returnValueContent ?? "",
@@ -3761,7 +3763,7 @@ var callSubAgentTool = {
3761
3763
  };
3762
3764
  }
3763
3765
  try {
3764
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-Z6KF35SO.js");
3766
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-SPZBVI7Y.js");
3765
3767
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3766
3768
  const turnMetrics = new TurnMetrics();
3767
3769
  const result = await executeSubAgent({
@@ -4811,4 +4813,4 @@ export {
4811
4813
  getToolRegistryForAgent,
4812
4814
  createToolRegistry
4813
4815
  };
4814
- //# sourceMappingURL=chunk-7S6FKODI.js.map
4816
+ //# sourceMappingURL=chunk-KGZMKMEZ.js.map
@@ -17,7 +17,7 @@ import {
17
17
  loadAllAgentsDefault,
18
18
  processEventsForConversation,
19
19
  runTopLevelAgentLoop
20
- } from "./chunk-7S6FKODI.js";
20
+ } from "./chunk-KGZMKMEZ.js";
21
21
  import {
22
22
  getCurrentContextWindowId,
23
23
  getCurrentWindowMessageOptions,
@@ -311,4 +311,4 @@ export {
311
311
  runAgentTurn,
312
312
  injectWorkflowKickoffIfNeeded
313
313
  };
314
- //# sourceMappingURL=chunk-7EHJPONC.js.map
314
+ //# sourceMappingURL=chunk-LIOHT26X.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-734M5CG5.js";
4
+ } from "../chunk-7CNWK2WI.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-734M5CG5.js";
4
+ } from "../chunk-7CNWK2WI.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
@@ -2,7 +2,7 @@ import {
2
2
  injectWorkflowKickoffIfNeeded,
3
3
  runAgentTurn,
4
4
  runChatTurn
5
- } from "./chunk-7EHJPONC.js";
5
+ } from "./chunk-LIOHT26X.js";
6
6
  import {
7
7
  TurnMetrics,
8
8
  createChatDoneEvent,
@@ -10,7 +10,7 @@ import {
10
10
  createMessageStartEvent,
11
11
  createToolCallEvent,
12
12
  createToolResultEvent
13
- } from "./chunk-7S6FKODI.js";
13
+ } from "./chunk-KGZMKMEZ.js";
14
14
  import "./chunk-DL6ZILAF.js";
15
15
  import "./chunk-PBGOZMVY.js";
16
16
  import "./chunk-VRGRAQDG.js";
@@ -36,4 +36,4 @@ export {
36
36
  runAgentTurn,
37
37
  runChatTurn
38
38
  };
39
- //# sourceMappingURL=orchestrator-JPDTRWQE.js.map
39
+ //# sourceMappingURL=orchestrator-6WHZ53DB.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.5",
3
+ "version": "2.0.7",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -6,7 +6,7 @@ import {
6
6
  getSessionMessageCount,
7
7
  needsNameGenerationCheck
8
8
  } from "./chunk-TIKQWNYK.js";
9
- import "./chunk-7S6FKODI.js";
9
+ import "./chunk-KGZMKMEZ.js";
10
10
  import "./chunk-DL6ZILAF.js";
11
11
  import "./chunk-PBGOZMVY.js";
12
12
  import "./chunk-VRGRAQDG.js";
@@ -190,7 +190,7 @@ var QueueProcessor = class {
190
190
  backend: provider?.backend ?? llmClient.getBackend(),
191
191
  model: llmClient.getModel()
192
192
  };
193
- const { runChatTurn } = await import("./orchestrator-JPDTRWQE.js");
193
+ const { runChatTurn } = await import("./orchestrator-6WHZ53DB.js");
194
194
  const runChatTurnParams = buildRunChatTurnParams({
195
195
  sessionManager,
196
196
  sessionId,
@@ -238,4 +238,4 @@ var QueueProcessor = class {
238
238
  export {
239
239
  QueueProcessor
240
240
  };
241
- //# sourceMappingURL=processor-KRBBTKRS.js.map
241
+ //# sourceMappingURL=processor-6J4M2TLA.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  VERSION,
3
3
  createServer
4
- } from "./chunk-DXV74LCI.js";
4
+ } from "./chunk-4UOVP7FK.js";
5
5
  import "./chunk-NZCKCJH5.js";
6
- import "./chunk-7EHJPONC.js";
7
- import "./chunk-7S6FKODI.js";
6
+ import "./chunk-LIOHT26X.js";
7
+ import "./chunk-KGZMKMEZ.js";
8
8
  import "./chunk-DL6ZILAF.js";
9
9
  import "./chunk-PBGOZMVY.js";
10
10
  import "./chunk-VRGRAQDG.js";
@@ -188,4 +188,4 @@ async function runServe(options) {
188
188
  export {
189
189
  runServe
190
190
  };
191
- //# sourceMappingURL=serve-YJIMBTIX.js.map
191
+ //# sourceMappingURL=serve-XVTRORFM.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-DXV74LCI.js";
4
+ } from "../chunk-4UOVP7FK.js";
5
5
  import "../chunk-NZCKCJH5.js";
6
- import "../chunk-7EHJPONC.js";
7
- import "../chunk-7S6FKODI.js";
6
+ import "../chunk-LIOHT26X.js";
7
+ import "../chunk-KGZMKMEZ.js";
8
8
  import "../chunk-DL6ZILAF.js";
9
9
  import "../chunk-PBGOZMVY.js";
10
10
  import "../chunk-VRGRAQDG.js";
@@ -11,7 +11,7 @@ import {
11
11
  requestPathAccess,
12
12
  stepDoneTool,
13
13
  validateToolAction
14
- } from "./chunk-7S6FKODI.js";
14
+ } from "./chunk-KGZMKMEZ.js";
15
15
  import "./chunk-DL6ZILAF.js";
16
16
  import "./chunk-PBGOZMVY.js";
17
17
  import "./chunk-VRGRAQDG.js";
@@ -49,4 +49,4 @@ export {
49
49
  stepDoneTool,
50
50
  validateToolAction
51
51
  };
52
- //# sourceMappingURL=tools-Z6KF35SO.js.map
52
+ //# sourceMappingURL=tools-SPZBVI7Y.js.map