openfox 2.0.63 → 2.0.65

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.
@@ -21,7 +21,7 @@ import {
21
21
  tokenFromPassword,
22
22
  verifyPassword,
23
23
  workflowExists
24
- } from "./chunk-W4PUAODY.js";
24
+ } from "./chunk-N4K3PNOS.js";
25
25
  import {
26
26
  agentExists,
27
27
  createToolRegistry,
@@ -66,7 +66,7 @@ import {
66
66
  setSkillEnabled,
67
67
  skillExists,
68
68
  updateOwnedSkill
69
- } from "./chunk-5OPZLQDV.js";
69
+ } from "./chunk-UEIQKG5P.js";
70
70
  import {
71
71
  ALWAYS_ALLOWED,
72
72
  ALWAYS_ALLOWED_FOR_SUBAGENTS,
@@ -109,14 +109,14 @@ import {
109
109
  import {
110
110
  createContextStateMessage
111
111
  } from "./chunk-F4PMNP7S.js";
112
- import {
113
- EventEmitter
114
- } from "./chunk-EU3WWTFH.js";
115
112
  import {
116
113
  deleteSetting,
117
114
  getSetting,
118
115
  setSetting
119
- } from "./chunk-SVSKQYFH.js";
116
+ } from "./chunk-PXJ4NOP4.js";
117
+ import {
118
+ EventEmitter
119
+ } from "./chunk-EU3WWTFH.js";
120
120
  import {
121
121
  getProject
122
122
  } from "./chunk-YQ3SOPBI.js";
@@ -4076,7 +4076,7 @@ import { Router as Router8 } from "express";
4076
4076
  import { spawn as spawn2 } from "child_process";
4077
4077
 
4078
4078
  // src/constants.ts
4079
- var VERSION = "2.0.63";
4079
+ var VERSION = "2.0.65";
4080
4080
 
4081
4081
  // src/server/routes/auto-update.ts
4082
4082
  var updateInProgress = false;
@@ -4516,7 +4516,7 @@ async function createServerHandle(config3) {
4516
4516
  setMcpTools(mcpTools);
4517
4517
  logger.info("MCP tools registered", { count: mcpTools.length });
4518
4518
  }
4519
- const { signalMcpReady } = await import("./server-XDC7R2IX.js");
4519
+ const { signalMcpReady } = await import("./server-PXXGMFBT.js");
4520
4520
  signalMcpReady();
4521
4521
  });
4522
4522
  const app = express();
@@ -4709,7 +4709,7 @@ async function createServerHandle(config3) {
4709
4709
  app.get("/api/sessions/:id", async (req, res) => {
4710
4710
  const { getEventStore: getEventStore2 } = await import("./events-52XADT6Y.js");
4711
4711
  const { buildMessagesFromStoredEvents } = await import("./folding-2BGFLV5J.js");
4712
- const { getPendingQuestionsForSession } = await import("./tools-W2FFSF4N.js");
4712
+ const { getPendingQuestionsForSession } = await import("./tools-ZZM36DAZ.js");
4713
4713
  const session = sessionManager.getSession(req.params.id);
4714
4714
  if (!session) {
4715
4715
  return res.status(404).json({ error: "Session not found" });
@@ -4728,8 +4728,8 @@ async function createServerHandle(config3) {
4728
4728
  if (!session) {
4729
4729
  return res.status(404).json({ error: "Session not found" });
4730
4730
  }
4731
- const { stopSessionExecution } = await import("./chat-handler-WNARPARQ.js");
4732
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-W2FFSF4N.js");
4731
+ const { stopSessionExecution } = await import("./chat-handler-MC3XZ3OV.js");
4732
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-ZZM36DAZ.js");
4733
4733
  sessionManager.clearMessageQueue(sessionId);
4734
4734
  stopSessionExecution(sessionId, sessionManager);
4735
4735
  abortSession(sessionId);
@@ -4883,7 +4883,7 @@ async function createServerHandle(config3) {
4883
4883
  if (!callId || approved === void 0) {
4884
4884
  return res.status(400).json({ error: "callId and approved are required" });
4885
4885
  }
4886
- const { providePathConfirmation } = await import("./tools-W2FFSF4N.js");
4886
+ const { providePathConfirmation } = await import("./tools-ZZM36DAZ.js");
4887
4887
  const result = providePathConfirmation(callId, approved, alwaysAllow);
4888
4888
  if (!result.found) {
4889
4889
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -4891,7 +4891,7 @@ async function createServerHandle(config3) {
4891
4891
  const { getEventStore: getEventStore2 } = await import("./events-52XADT6Y.js");
4892
4892
  const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-2BGFLV5J.js");
4893
4893
  const { createSessionStateMessage } = await import("./protocol-CTNE3ANP.js");
4894
- const { getPendingQuestionsForSession } = await import("./tools-W2FFSF4N.js");
4894
+ const { getPendingQuestionsForSession } = await import("./tools-ZZM36DAZ.js");
4895
4895
  const eventStore = getEventStore2();
4896
4896
  const events = eventStore.getEvents(sessionId);
4897
4897
  const messages = buildMessagesFromStoredEvents(events);
@@ -4912,7 +4912,7 @@ async function createServerHandle(config3) {
4912
4912
  if (!skip && typeof answer !== "string") {
4913
4913
  return res.status(400).json({ error: "answer is required when not skipping" });
4914
4914
  }
4915
- const { provideAnswer } = await import("./tools-W2FFSF4N.js");
4915
+ const { provideAnswer } = await import("./tools-ZZM36DAZ.js");
4916
4916
  const found = provideAnswer(callId, answer ?? "", skip ?? false);
4917
4917
  if (!found) {
4918
4918
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -4940,7 +4940,7 @@ async function createServerHandle(config3) {
4940
4940
  if (!session) {
4941
4941
  return res.status(404).json({ error: "Session not found" });
4942
4942
  }
4943
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-ASLTSUE2.js");
4943
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-JA4XUR3W.js");
4944
4944
  if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
4945
4945
  return res.json({ success: false, reason: "disabled" });
4946
4946
  }
@@ -4972,7 +4972,7 @@ async function createServerHandle(config3) {
4972
4972
  backend: activeProvider?.backend ?? llmClient.getBackend(),
4973
4973
  model: llmClient.getModel()
4974
4974
  };
4975
- const { runAgentTurn, TurnMetrics } = await import("./orchestrator-OIBLY5QJ.js");
4975
+ const { runAgentTurn, TurnMetrics } = await import("./orchestrator-IYJRQQKB.js");
4976
4976
  runAgentTurn(
4977
4977
  {
4978
4978
  sessionManager,
@@ -5010,8 +5010,8 @@ async function createServerHandle(config3) {
5010
5010
  if (!session) {
5011
5011
  return res.status(404).json({ error: "Session not found" });
5012
5012
  }
5013
- const { stopSessionExecution } = await import("./chat-handler-WNARPARQ.js");
5014
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-W2FFSF4N.js");
5013
+ const { stopSessionExecution } = await import("./chat-handler-MC3XZ3OV.js");
5014
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-ZZM36DAZ.js");
5015
5015
  const queuedMessages = sessionManager.getQueueState(sessionId);
5016
5016
  sessionManager.clearMessageQueue(sessionId);
5017
5017
  stopSessionExecution(sessionId, sessionManager);
@@ -5091,7 +5091,7 @@ async function createServerHandle(config3) {
5091
5091
  res.json({ accepted: true });
5092
5092
  });
5093
5093
  app.get("/api/settings", async (req, res) => {
5094
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-ASLTSUE2.js");
5094
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-JA4XUR3W.js");
5095
5095
  const keysParam = req.query["keys"];
5096
5096
  if (!keysParam) {
5097
5097
  return res.status(400).json({ error: "keys query parameter is required" });
@@ -5104,19 +5104,19 @@ async function createServerHandle(config3) {
5104
5104
  res.json(result);
5105
5105
  });
5106
5106
  app.get("/api/settings/:key", async (req, res) => {
5107
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-ASLTSUE2.js");
5107
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-JA4XUR3W.js");
5108
5108
  const key = req.params.key;
5109
5109
  const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
5110
5110
  res.json({ key, value });
5111
5111
  });
5112
5112
  app.get("/api/settings/:key", async (req, res) => {
5113
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-ASLTSUE2.js");
5113
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-JA4XUR3W.js");
5114
5114
  const key = req.params.key;
5115
5115
  const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
5116
5116
  res.json({ key, value });
5117
5117
  });
5118
5118
  app.put("/api/settings/:key", async (req, res) => {
5119
- const { setSetting: setSetting2 } = await import("./settings-ASLTSUE2.js");
5119
+ const { setSetting: setSetting2 } = await import("./settings-JA4XUR3W.js");
5120
5120
  const key = req.params.key;
5121
5121
  const { value } = req.body;
5122
5122
  if (value === void 0) {
@@ -5125,6 +5125,23 @@ async function createServerHandle(config3) {
5125
5125
  setSetting2(key, value);
5126
5126
  res.json({ key, value });
5127
5127
  });
5128
+ app.get("/api/tools/rtk-check", async (_req, res) => {
5129
+ const { spawn: spawn3 } = await import("child_process");
5130
+ try {
5131
+ const available = await new Promise((resolve6) => {
5132
+ const proc = spawn3("rtk", ["--version"], { stdio: ["ignore", "pipe", "pipe"] });
5133
+ let out = "";
5134
+ proc.stdout?.on("data", (d) => {
5135
+ out += d.toString();
5136
+ });
5137
+ proc.on("error", () => resolve6(false));
5138
+ proc.on("close", (code) => resolve6(code === 0 && out.startsWith("rtk ")));
5139
+ });
5140
+ res.json({ available });
5141
+ } catch {
5142
+ res.json({ available: false });
5143
+ }
5144
+ });
5128
5145
  app.get("/api/config", async (_req, res) => {
5129
5146
  const llmClient = getLLMClient();
5130
5147
  const activeProvider = providerManager.getActiveProvider();
@@ -5612,7 +5629,7 @@ async function createServerHandle(config3) {
5612
5629
  });
5613
5630
  async function rebuildMcpTools() {
5614
5631
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-MOGEI6TP.js");
5615
- const { setMcpTools: setMcpTools2 } = await import("./tools-W2FFSF4N.js");
5632
+ const { setMcpTools: setMcpTools2 } = await import("./tools-ZZM36DAZ.js");
5616
5633
  const mcpTools = createMcpTools2(mcpManager);
5617
5634
  setMcpTools2(mcpTools);
5618
5635
  }
@@ -5932,7 +5949,7 @@ async function createServerHandle(config3) {
5932
5949
  const state = sessionManager.getContextState(sessionId);
5933
5950
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
5934
5951
  });
5935
- const { QueueProcessor } = await import("./processor-27VCKRGB.js");
5952
+ const { QueueProcessor } = await import("./processor-LUXKVIED.js");
5936
5953
  const queueProcessor = new QueueProcessor({
5937
5954
  sessionManager,
5938
5955
  providerManager,
@@ -6013,4 +6030,4 @@ export {
6013
6030
  createServerHandle,
6014
6031
  createServer
6015
6032
  };
6016
- //# sourceMappingURL=chunk-N5JF4RYJ.js.map
6033
+ //# sourceMappingURL=chunk-Z6H7SFQR.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-FGG4KRFX.js";
4
+ } from "../chunk-4UYKN6JU.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-FGG4KRFX.js";
4
+ } from "../chunk-4UYKN6JU.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-IVJYQZSN.js";
6
- import "./chunk-5OPZLQDV.js";
5
+ } from "./chunk-VWPY2KWH.js";
6
+ import "./chunk-UEIQKG5P.js";
7
7
  import {
8
8
  TurnMetrics,
9
9
  createChatDoneEvent,
@@ -19,8 +19,8 @@ import "./chunk-NWO6GRYE.js";
19
19
  import "./chunk-AIJE3RYH.js";
20
20
  import "./chunk-TMUBLQFC.js";
21
21
  import "./chunk-F4PMNP7S.js";
22
+ import "./chunk-PXJ4NOP4.js";
22
23
  import "./chunk-EU3WWTFH.js";
23
- import "./chunk-SVSKQYFH.js";
24
24
  import "./chunk-YQ3SOPBI.js";
25
25
  import "./chunk-ZPIZLTWU.js";
26
26
  import "./chunk-J2GP3J3X.js";
@@ -43,4 +43,4 @@ export {
43
43
  runAgentTurn,
44
44
  runChatTurn
45
45
  };
46
- //# sourceMappingURL=orchestrator-OIBLY5QJ.js.map
46
+ //# sourceMappingURL=orchestrator-IYJRQQKB.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.63",
3
+ "version": "2.0.65",
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-QJ5FH5DP.js";
6
- import "./chunk-5OPZLQDV.js";
6
+ import "./chunk-UEIQKG5P.js";
7
7
  import "./chunk-X5YCWKNS.js";
8
8
  import "./chunk-LBGHZLLH.js";
9
9
  import "./chunk-BGTEIA2S.js";
@@ -17,8 +17,8 @@ import {
17
17
  createChatMessageMessage,
18
18
  createSessionRunningMessage
19
19
  } from "./chunk-F4PMNP7S.js";
20
+ import "./chunk-PXJ4NOP4.js";
20
21
  import "./chunk-EU3WWTFH.js";
21
- import "./chunk-SVSKQYFH.js";
22
22
  import "./chunk-YQ3SOPBI.js";
23
23
  import "./chunk-ZPIZLTWU.js";
24
24
  import "./chunk-J2GP3J3X.js";
@@ -175,7 +175,7 @@ var QueueProcessor = class {
175
175
  backend: provider?.backend ?? llmClient.getBackend(),
176
176
  model: llmClient.getModel()
177
177
  };
178
- const { runChatTurn } = await import("./orchestrator-OIBLY5QJ.js");
178
+ const { runChatTurn } = await import("./orchestrator-IYJRQQKB.js");
179
179
  const runChatTurnParams = buildRunChatTurnParams({
180
180
  sessionManager,
181
181
  sessionId,
@@ -223,4 +223,4 @@ var QueueProcessor = class {
223
223
  export {
224
224
  QueueProcessor
225
225
  };
226
- //# sourceMappingURL=processor-27VCKRGB.js.map
226
+ //# sourceMappingURL=processor-LUXKVIED.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  VERSION,
3
3
  createServer
4
- } from "./chunk-N5JF4RYJ.js";
5
- import "./chunk-W4PUAODY.js";
4
+ } from "./chunk-Z6H7SFQR.js";
5
+ import "./chunk-N4K3PNOS.js";
6
6
  import "./chunk-OESYKZCM.js";
7
- import "./chunk-IVJYQZSN.js";
8
- import "./chunk-5OPZLQDV.js";
7
+ import "./chunk-VWPY2KWH.js";
8
+ import "./chunk-UEIQKG5P.js";
9
9
  import "./chunk-X5YCWKNS.js";
10
10
  import "./chunk-LBGHZLLH.js";
11
11
  import "./chunk-BGTEIA2S.js";
@@ -16,8 +16,8 @@ import {
16
16
  } from "./chunk-AIJE3RYH.js";
17
17
  import "./chunk-TMUBLQFC.js";
18
18
  import "./chunk-F4PMNP7S.js";
19
+ import "./chunk-PXJ4NOP4.js";
19
20
  import "./chunk-EU3WWTFH.js";
20
- import "./chunk-SVSKQYFH.js";
21
21
  import "./chunk-YQ3SOPBI.js";
22
22
  import "./chunk-ZPIZLTWU.js";
23
23
  import "./chunk-RYIREJAW.js";
@@ -204,4 +204,4 @@ async function runServe(options) {
204
204
  export {
205
205
  runServe
206
206
  };
207
- //# sourceMappingURL=serve-HB222ARV.js.map
207
+ //# sourceMappingURL=serve-ZRTWVOL2.js.map
@@ -542,6 +542,7 @@ interface ToolContext {
542
542
  sessionId: string;
543
543
  sessionManager: SessionManager;
544
544
  dangerLevel?: DangerLevel$1;
545
+ isSubAgent?: boolean;
545
546
  signal?: AbortSignal | undefined;
546
547
  onProgress?: ((message: string) => void) | undefined;
547
548
  onEvent?: ((event: ServerMessage) => void) | undefined;
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-N5JF4RYJ.js";
5
- import "../chunk-W4PUAODY.js";
4
+ } from "../chunk-Z6H7SFQR.js";
5
+ import "../chunk-N4K3PNOS.js";
6
6
  import "../chunk-OESYKZCM.js";
7
- import "../chunk-IVJYQZSN.js";
8
- import "../chunk-5OPZLQDV.js";
7
+ import "../chunk-VWPY2KWH.js";
8
+ import "../chunk-UEIQKG5P.js";
9
9
  import "../chunk-X5YCWKNS.js";
10
10
  import "../chunk-LBGHZLLH.js";
11
11
  import "../chunk-BGTEIA2S.js";
@@ -14,8 +14,8 @@ import "../chunk-NWO6GRYE.js";
14
14
  import "../chunk-AIJE3RYH.js";
15
15
  import "../chunk-TMUBLQFC.js";
16
16
  import "../chunk-F4PMNP7S.js";
17
+ import "../chunk-PXJ4NOP4.js";
17
18
  import "../chunk-EU3WWTFH.js";
18
- import "../chunk-SVSKQYFH.js";
19
19
  import "../chunk-YQ3SOPBI.js";
20
20
  import "../chunk-ZPIZLTWU.js";
21
21
  import "../chunk-RYIREJAW.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createWebSocketServer,
3
3
  signalMcpReady
4
- } from "./chunk-W4PUAODY.js";
4
+ } from "./chunk-N4K3PNOS.js";
5
5
  import "./chunk-OESYKZCM.js";
6
- import "./chunk-IVJYQZSN.js";
7
- import "./chunk-5OPZLQDV.js";
6
+ import "./chunk-VWPY2KWH.js";
7
+ import "./chunk-UEIQKG5P.js";
8
8
  import "./chunk-X5YCWKNS.js";
9
9
  import "./chunk-LBGHZLLH.js";
10
10
  import "./chunk-BGTEIA2S.js";
@@ -13,8 +13,8 @@ import "./chunk-NWO6GRYE.js";
13
13
  import "./chunk-AIJE3RYH.js";
14
14
  import "./chunk-TMUBLQFC.js";
15
15
  import "./chunk-F4PMNP7S.js";
16
+ import "./chunk-PXJ4NOP4.js";
16
17
  import "./chunk-EU3WWTFH.js";
17
- import "./chunk-SVSKQYFH.js";
18
18
  import "./chunk-YQ3SOPBI.js";
19
19
  import "./chunk-ZPIZLTWU.js";
20
20
  import "./chunk-J2GP3J3X.js";
@@ -31,4 +31,4 @@ export {
31
31
  createWebSocketServer,
32
32
  signalMcpReady
33
33
  };
34
- //# sourceMappingURL=server-XDC7R2IX.js.map
34
+ //# sourceMappingURL=server-PXXGMFBT.js.map
@@ -5,7 +5,7 @@ import {
5
5
  getAllSettings,
6
6
  getSetting,
7
7
  setSetting
8
- } from "./chunk-SVSKQYFH.js";
8
+ } from "./chunk-PXJ4NOP4.js";
9
9
  import "./chunk-ZPIZLTWU.js";
10
10
  import "./chunk-K44MW7JJ.js";
11
11
  import "./chunk-5WRI5ZAA.js";
@@ -17,4 +17,4 @@ export {
17
17
  getSetting,
18
18
  setSetting
19
19
  };
20
- //# sourceMappingURL=settings-ASLTSUE2.js.map
20
+ //# sourceMappingURL=settings-JA4XUR3W.js.map
@@ -12,7 +12,7 @@ import {
12
12
  setMcpTools,
13
13
  stepDoneTool,
14
14
  validateToolAction
15
- } from "./chunk-5OPZLQDV.js";
15
+ } from "./chunk-UEIQKG5P.js";
16
16
  import "./chunk-X5YCWKNS.js";
17
17
  import "./chunk-LBGHZLLH.js";
18
18
  import "./chunk-BGTEIA2S.js";
@@ -21,13 +21,13 @@ import "./chunk-NWO6GRYE.js";
21
21
  import "./chunk-AIJE3RYH.js";
22
22
  import "./chunk-TMUBLQFC.js";
23
23
  import "./chunk-F4PMNP7S.js";
24
+ import "./chunk-PXJ4NOP4.js";
24
25
  import {
25
26
  AskUserInterrupt,
26
27
  cancelQuestionsForSession,
27
28
  getPendingQuestionsForSession,
28
29
  provideAnswer
29
30
  } from "./chunk-EU3WWTFH.js";
30
- import "./chunk-SVSKQYFH.js";
31
31
  import "./chunk-YQ3SOPBI.js";
32
32
  import "./chunk-ZPIZLTWU.js";
33
33
  import "./chunk-J2GP3J3X.js";
@@ -58,4 +58,4 @@ export {
58
58
  stepDoneTool,
59
59
  validateToolAction
60
60
  };
61
- //# sourceMappingURL=tools-W2FFSF4N.js.map
61
+ //# sourceMappingURL=tools-ZZM36DAZ.js.map