openfox 2.0.125 → 2.0.126

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.126 - 2026-08-21
4
+
5
+ ### Bug Fixes
6
+
7
+ - **Numeric criterion ids are no longer rejected** — session_metadata now accepts number-form ids (e.g. 0) for add, update, and remove, so agents can mark criteria complete reliably
8
+ - **Auto-generated metadata ids start at 1** — criteria, todos, and review findings now get sequential ids from 1 instead of 0
9
+
3
10
  ## 2.0.125 - 2026-08-21
4
11
 
5
12
  ### Features
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.126 - 2026-08-21
4
+
5
+ ### Bug Fixes
6
+
7
+ - **Numeric criterion ids are no longer rejected** — session_metadata now accepts number-form ids (e.g. 0) for add, update, and remove, so agents can mark criteria complete reliably
8
+ - **Auto-generated metadata ids start at 1** — criteria, todos, and review findings now get sequential ids from 1 instead of 0
9
+
3
10
  ## 2.0.125 - 2026-08-21
4
11
 
5
12
  ### Features
@@ -5,9 +5,9 @@ import {
5
5
  } from "./chunk-HOSFRPPI.js";
6
6
  import {
7
7
  runChatTurn
8
- } from "./chunk-NBOSTFTS.js";
9
- import "./chunk-O5A3XKE5.js";
10
- import "./chunk-KETVPTMI.js";
8
+ } from "./chunk-2UPFWNC4.js";
9
+ import "./chunk-76A3E4LK.js";
10
+ import "./chunk-TP2PGZSE.js";
11
11
  import "./chunk-ZIL6VKLU.js";
12
12
  import "./chunk-LJX7KXRU.js";
13
13
  import "./chunk-GIJUWPRQ.js";
@@ -174,4 +174,4 @@ export {
174
174
  startChatSession,
175
175
  stopSessionExecution
176
176
  };
177
- //# sourceMappingURL=chat-handler-HJ2RBGNV.js.map
177
+ //# sourceMappingURL=chat-handler-OJ4XBQY4.js.map
@@ -4,12 +4,12 @@ import {
4
4
  getToolRegistryForAgent,
5
5
  processEventsForConversation,
6
6
  runTopLevelAgentLoop
7
- } from "./chunk-O5A3XKE5.js";
7
+ } from "./chunk-76A3E4LK.js";
8
8
  import {
9
9
  buildCachedPrompt,
10
10
  computeDynamicContextHash,
11
11
  getToolFingerprint
12
- } from "./chunk-KETVPTMI.js";
12
+ } from "./chunk-TP2PGZSE.js";
13
13
  import {
14
14
  getAllInstructions,
15
15
  getEnabledSkillMetadata
@@ -329,4 +329,4 @@ export {
329
329
  runChatTurn,
330
330
  runAgentTurn
331
331
  };
332
- //# sourceMappingURL=chunk-NBOSTFTS.js.map
332
+ //# sourceMappingURL=chunk-2UPFWNC4.js.map
@@ -5,18 +5,18 @@ import {
5
5
  } from "./chunk-HOSFRPPI.js";
6
6
  import {
7
7
  launchWorkflowRun
8
- } from "./chunk-7DO4JMGT.js";
8
+ } from "./chunk-77PJWQR7.js";
9
9
  import {
10
10
  runChatTurn
11
- } from "./chunk-NBOSTFTS.js";
11
+ } from "./chunk-2UPFWNC4.js";
12
12
  import {
13
13
  devServerManager
14
- } from "./chunk-O5A3XKE5.js";
14
+ } from "./chunk-76A3E4LK.js";
15
15
  import {
16
16
  applyDynamicContext,
17
17
  computeSessionHash,
18
18
  computeUnifiedDiff
19
- } from "./chunk-KETVPTMI.js";
19
+ } from "./chunk-TP2PGZSE.js";
20
20
  import {
21
21
  appendCompactionPrompt
22
22
  } from "./chunk-UAAFZEIS.js";
@@ -1299,7 +1299,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
1299
1299
  }
1300
1300
  const session = sessionManager.requireSession(sessionId);
1301
1301
  try {
1302
- const { buildCachedPrompt } = await import("./dynamic-context-5MQWJTJC.js");
1302
+ const { buildCachedPrompt } = await import("./dynamic-context-PYAUG2LP.js");
1303
1303
  const allAgents = await import("./registry-Z4GVYFTV.js");
1304
1304
  const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
1305
1305
  const modelName = session.providerModel ?? _providerManager?.getCurrentModel();
@@ -1624,4 +1624,4 @@ export {
1624
1624
  signalMcpReady,
1625
1625
  createWebSocketServer
1626
1626
  };
1627
- //# sourceMappingURL=chunk-WMAW37GV.js.map
1627
+ //# sourceMappingURL=chunk-6VW4BQMP.js.map
@@ -1381,7 +1381,7 @@ var SCHEMAS = {
1381
1381
  criteria: {
1382
1382
  description: "Acceptance criteria that drive workflow transitions",
1383
1383
  fields: {
1384
- id: "string (auto-generated)",
1384
+ id: "string (auto-generated; numeric ids accepted and normalized)",
1385
1385
  description: "string \u2014 what needs to be done and how to verify it",
1386
1386
  status: "pending | completed | passed | failed"
1387
1387
  }
@@ -1404,9 +1404,14 @@ var SCHEMAS = {
1404
1404
  }
1405
1405
  }
1406
1406
  };
1407
+ function normalizeId(id) {
1408
+ if (typeof id !== "string" && typeof id !== "number") return void 0;
1409
+ if (id === "") return void 0;
1410
+ return String(id);
1411
+ }
1407
1412
  function requireKeyAndId(args, helpers, entries) {
1408
1413
  if (!args.key) return helpers.error("Missing required field: key");
1409
- if (!args.id) return helpers.error("Missing required field: id");
1414
+ if (normalizeId(args.id) === void 0) return helpers.error("Missing required field: id");
1410
1415
  const current = entries[args.key];
1411
1416
  if (!current) return helpers.error(`Key "${args.key}" not found.`);
1412
1417
  return current;
@@ -1432,7 +1437,7 @@ var sessionMetadataTool = createTool(
1432
1437
  },
1433
1438
  id: {
1434
1439
  type: "string",
1435
- description: "Item ID (required for: update, remove)"
1440
+ description: "Item ID (required for: update, remove). Accepts numeric ids too \u2014 they are normalized to strings."
1436
1441
  },
1437
1442
  description: {
1438
1443
  type: "string",
@@ -1490,7 +1495,7 @@ ${Object.entries(schema.fields).map(([f, t]) => ` ${f}: ${t}`).join("\n")}`
1490
1495
  if (!args.description) return helpers.error("Missing required field: description");
1491
1496
  const current = entries[args.key] ?? [];
1492
1497
  const newEntry = {
1493
- id: args.id || current.length.toString(),
1498
+ id: normalizeId(args.id) ?? (current.length + 1).toString(),
1494
1499
  description: args.description,
1495
1500
  status: args.status || "pending"
1496
1501
  };
@@ -1501,8 +1506,9 @@ ${Object.entries(schema.fields).map(([f, t]) => ` ${f}: ${t}`).join("\n")}`
1501
1506
  if (args.action === "update") {
1502
1507
  const current = requireKeyAndId(args, helpers, entries);
1503
1508
  if (!Array.isArray(current)) return current;
1504
- const idx = current.findIndex((e) => e.id === args.id);
1505
- if (idx === -1) return helpers.error(`Item "${args.id}" not found in "${args.key}".`);
1509
+ const id = normalizeId(args.id);
1510
+ const idx = current.findIndex((e) => e.id === id);
1511
+ if (idx === -1) return helpers.error(`Item "${id}" not found in "${args.key}".`);
1506
1512
  const updated = current.map(
1507
1513
  (e, i) => i === idx ? {
1508
1514
  ...e,
@@ -1511,15 +1517,16 @@ ${Object.entries(schema.fields).map(([f, t]) => ` ${f}: ${t}`).join("\n")}`
1511
1517
  } : e
1512
1518
  );
1513
1519
  context.sessionManager.setMetadataEntries(context.sessionId, args.key, updated);
1514
- return helpers.success(`Updated item "${args.id}" in "${args.key}".`);
1520
+ return helpers.success(`Updated item "${id}" in "${args.key}".`);
1515
1521
  }
1516
1522
  if (args.action === "remove") {
1517
1523
  const current = requireKeyAndId(args, helpers, entries);
1518
1524
  if (!Array.isArray(current)) return current;
1519
- const updated = current.filter((e) => e.id !== args.id);
1520
- if (updated.length === current.length) return helpers.error(`Item "${args.id}" not found in "${args.key}".`);
1525
+ const id = normalizeId(args.id);
1526
+ const updated = current.filter((e) => e.id !== id);
1527
+ if (updated.length === current.length) return helpers.error(`Item "${id}" not found in "${args.key}".`);
1521
1528
  context.sessionManager.setMetadataEntries(context.sessionId, args.key, updated);
1522
- return helpers.success(`Removed item "${args.id}" from "${args.key}". ${updated.length} items remaining.`);
1529
+ return helpers.success(`Removed item "${id}" from "${args.key}". ${updated.length} items remaining.`);
1523
1530
  }
1524
1531
  return helpers.error("Unexpected error");
1525
1532
  }
@@ -3161,7 +3168,7 @@ var callSubAgentTool = {
3161
3168
  };
3162
3169
  }
3163
3170
  try {
3164
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-AUHL5MPG.js");
3171
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-AOLICK5U.js");
3165
3172
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3166
3173
  const turnMetrics = new TurnMetrics();
3167
3174
  const result = await executeSubAgent({
@@ -4183,7 +4190,7 @@ var mcpConfigTool = createTool(
4183
4190
  mcpNotifyChanged?.(sessionId);
4184
4191
  }
4185
4192
  async function rebuildTools() {
4186
- const { setMcpTools: setMcpTools2 } = await import("./tools-AUHL5MPG.js");
4193
+ const { setMcpTools: setMcpTools2 } = await import("./tools-AOLICK5U.js");
4187
4194
  const mcpTools = createMcpTools(mcpManagerForTools);
4188
4195
  setMcpTools2(mcpTools);
4189
4196
  }
@@ -5108,4 +5115,4 @@ export {
5108
5115
  getToolRegistryForAgent,
5109
5116
  createToolRegistry
5110
5117
  };
5111
- //# sourceMappingURL=chunk-O5A3XKE5.js.map
5118
+ //# sourceMappingURL=chunk-76A3E4LK.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  runAgentTurn
3
- } from "./chunk-NBOSTFTS.js";
3
+ } from "./chunk-2UPFWNC4.js";
4
4
  import {
5
5
  executeSubAgent,
6
6
  getToolRegistryForAgent
7
- } from "./chunk-O5A3XKE5.js";
7
+ } from "./chunk-76A3E4LK.js";
8
8
  import {
9
9
  TurnMetrics,
10
10
  createMessageStartEvent
@@ -1002,4 +1002,4 @@ export {
1002
1002
  abortRunnerRun,
1003
1003
  launchWorkflowRun
1004
1004
  };
1005
- //# sourceMappingURL=chunk-7DO4JMGT.js.map
1005
+ //# sourceMappingURL=chunk-77PJWQR7.js.map
@@ -0,0 +1,7 @@
1
+ // src/constants.ts
2
+ var VERSION = "2.0.126";
3
+
4
+ export {
5
+ VERSION
6
+ };
7
+ //# sourceMappingURL=chunk-ABCCTPBC.js.map
@@ -200,7 +200,7 @@ async function runCli(options) {
200
200
  break;
201
201
  }
202
202
  case "update": {
203
- const { runUpdate } = await import("./update-45ZRDWUB.js");
203
+ const { runUpdate } = await import("./update-VH75MTCP.js");
204
204
  const code = await runUpdate();
205
205
  if (code !== 0) {
206
206
  process.exit(code);
@@ -213,7 +213,7 @@ async function runCli(options) {
213
213
  if (!configExists) {
214
214
  await runNetworkSetup(mode);
215
215
  }
216
- const { runServe } = await import("./serve-UVHJHYF3.js");
216
+ const { runServe } = await import("./serve-WJKFUMLI.js");
217
217
  const serveOptions = { mode };
218
218
  if (values.port) serveOptions.port = parseInt(values.port);
219
219
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -225,4 +225,4 @@ async function runCli(options) {
225
225
  export {
226
226
  runCli
227
227
  };
228
- //# sourceMappingURL=chunk-X2J6BAU7.js.map
228
+ //# sourceMappingURL=chunk-H2RZDEVL.js.map
@@ -105,7 +105,7 @@ function resolveAgentDef(sessionManager, sessionId) {
105
105
  }
106
106
  async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName) {
107
107
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
108
- const { getToolRegistryForAgent } = await import("./tools-AUHL5MPG.js");
108
+ const { getToolRegistryForAgent } = await import("./tools-AOLICK5U.js");
109
109
  const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
110
110
  const toolFingerprint = getToolFingerprint(tools);
111
111
  const allAgents = await loadAllAgentsDefault(sessionManager.getProjectWorkdir(sessionId));
@@ -124,7 +124,7 @@ async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName)
124
124
  async function computeSessionHash(sessionManager, sessionId, modelName) {
125
125
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
126
126
  const agentDef = await resolveAgentDef(sessionManager, sessionId);
127
- const { getToolRegistryForAgent } = await import("./tools-AUHL5MPG.js");
127
+ const { getToolRegistryForAgent } = await import("./tools-AOLICK5U.js");
128
128
  const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
129
129
  const toolFingerprint = getToolFingerprint(tools);
130
130
  return computeDynamicContextHash(instructionContent, skills, toolFingerprint, modelName);
@@ -148,4 +148,4 @@ export {
148
148
  computeSessionHash,
149
149
  applyDynamicContext
150
150
  };
151
- //# sourceMappingURL=chunk-KETVPTMI.js.map
151
+ //# sourceMappingURL=chunk-TP2PGZSE.js.map
@@ -16,10 +16,10 @@ import {
16
16
  terminalManager,
17
17
  tokenFromPassword,
18
18
  verifyPassword
19
- } from "./chunk-WMAW37GV.js";
19
+ } from "./chunk-6VW4BQMP.js";
20
20
  import {
21
21
  TEMPLATE_VARIABLES
22
- } from "./chunk-7DO4JMGT.js";
22
+ } from "./chunk-77PJWQR7.js";
23
23
  import {
24
24
  createToolRegistry,
25
25
  devServerManager,
@@ -33,7 +33,7 @@ import {
33
33
  setMcpManagerForTools,
34
34
  setMcpTools,
35
35
  setNotifyMcpServersChanged
36
- } from "./chunk-O5A3XKE5.js";
36
+ } from "./chunk-76A3E4LK.js";
37
37
  import {
38
38
  deleteOwnedSkill,
39
39
  deleteProjectSkill,
@@ -174,7 +174,7 @@ import {
174
174
  } from "./chunk-T3JVYO3Z.js";
175
175
  import {
176
176
  VERSION
177
- } from "./chunk-GZUD5E6E.js";
177
+ } from "./chunk-ABCCTPBC.js";
178
178
  import {
179
179
  agentExists,
180
180
  deleteAgent,
@@ -370,14 +370,14 @@ var RULES = [
370
370
  tools: [
371
371
  {
372
372
  name: "session_metadata",
373
- arguments: { action: "update", key: "criteria", id: "0", description: "Updated description" }
373
+ arguments: { action: "update", key: "criteria", id: "1", description: "Updated description" }
374
374
  }
375
375
  ],
376
376
  response: "Updated the criterion."
377
377
  },
378
378
  {
379
379
  match: /session_metadata.*action\s*["']remove["']/i,
380
- tools: [{ name: "session_metadata", arguments: { action: "remove", key: "criteria", id: "0" } }],
380
+ tools: [{ name: "session_metadata", arguments: { action: "remove", key: "criteria", id: "1" } }],
381
381
  response: "Removed the criterion."
382
382
  },
383
383
  {
@@ -6065,7 +6065,7 @@ async function createServerHandle(config3) {
6065
6065
  toolRegistry = createToolRegistry();
6066
6066
  logger.info("MCP tools registered", { count: mcpTools.length });
6067
6067
  }
6068
- const { signalMcpReady } = await import("./server-E4DOH4OF.js");
6068
+ const { signalMcpReady } = await import("./server-6LDC4HU6.js");
6069
6069
  signalMcpReady();
6070
6070
  });
6071
6071
  const app = express();
@@ -6263,7 +6263,7 @@ async function createServerHandle(config3) {
6263
6263
  app.use("/api", sessionFavoriteRouter);
6264
6264
  const { createTasksService } = await import("./service-BRKMLM4C.js");
6265
6265
  const { registerTaskRoutes } = await import("./tasks-DEUZ6BNS.js");
6266
- const { setTasksService } = await import("./tools-AUHL5MPG.js");
6266
+ const { setTasksService } = await import("./tools-AOLICK5U.js");
6267
6267
  const tasksService = createTasksService({
6268
6268
  sessionManager,
6269
6269
  config: config3,
@@ -6592,7 +6592,7 @@ All file and git operations should use this branch.
6592
6592
  app.get("/api/sessions/:id", async (req, res) => {
6593
6593
  const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-GMHRX4LF.js");
6594
6594
  const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-7K2GRPF4.js");
6595
- const { getPendingQuestionsForSession } = await import("./tools-AUHL5MPG.js");
6595
+ const { getPendingQuestionsForSession } = await import("./tools-AOLICK5U.js");
6596
6596
  const { getMaxVisibleItems } = await import("./settings-VOWWO4VG.js");
6597
6597
  const session = sessionManager.getSession(req.params.id);
6598
6598
  if (!session) {
@@ -6621,7 +6621,7 @@ All file and git operations should use this branch.
6621
6621
  });
6622
6622
  app.get("/api/sessions/:id/status", async (req, res) => {
6623
6623
  const { projectSessionStatus } = await import("./session-status-6Q5B5PEN.js");
6624
- const { getPendingQuestionsForSession } = await import("./tools-AUHL5MPG.js");
6624
+ const { getPendingQuestionsForSession } = await import("./tools-AOLICK5U.js");
6625
6625
  const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-GMHRX4LF.js");
6626
6626
  const { foldPendingConfirmations } = await import("./folding-7K2GRPF4.js");
6627
6627
  const sessionId = req.params["id"];
@@ -6653,8 +6653,8 @@ All file and git operations should use this branch.
6653
6653
  if (!session) {
6654
6654
  return res.status(404).json({ error: "Session not found" });
6655
6655
  }
6656
- const { stopSessionExecution } = await import("./chat-handler-HJ2RBGNV.js");
6657
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-AUHL5MPG.js");
6656
+ const { stopSessionExecution } = await import("./chat-handler-OJ4XBQY4.js");
6657
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-AOLICK5U.js");
6658
6658
  sessionManager.clearMessageQueue(sessionId);
6659
6659
  stopSessionExecution(sessionId, sessionManager);
6660
6660
  abortSession(sessionId);
@@ -6931,7 +6931,7 @@ All file and git operations should use this branch.
6931
6931
  if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
6932
6932
  return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
6933
6933
  }
6934
- const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-AUHL5MPG.js");
6934
+ const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-AOLICK5U.js");
6935
6935
  const pendingSessionId = getConfirmationSessionId(callId);
6936
6936
  if (!pendingSessionId) {
6937
6937
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -6946,7 +6946,7 @@ All file and git operations should use this branch.
6946
6946
  const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-GMHRX4LF.js");
6947
6947
  const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-7K2GRPF4.js");
6948
6948
  const { createSessionStateMessage } = await import("./protocol-TLODRZSB.js");
6949
- const { getPendingQuestionsForSession } = await import("./tools-AUHL5MPG.js");
6949
+ const { getPendingQuestionsForSession } = await import("./tools-AOLICK5U.js");
6950
6950
  const { getMaxVisibleItems } = await import("./settings-VOWWO4VG.js");
6951
6951
  const eventStore = getEventStore2();
6952
6952
  const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
@@ -6984,7 +6984,7 @@ All file and git operations should use this branch.
6984
6984
  if (!skip && typeof answer !== "string") {
6985
6985
  return res.status(400).json({ error: "answer is required when not skipping" });
6986
6986
  }
6987
- const { provideAnswer } = await import("./tools-AUHL5MPG.js");
6987
+ const { provideAnswer } = await import("./tools-AOLICK5U.js");
6988
6988
  const found = provideAnswer(callId, answer ?? "", skip ?? false);
6989
6989
  if (!found) {
6990
6990
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -7050,7 +7050,7 @@ All file and git operations should use this branch.
7050
7050
  backend: activeProvider?.backend ?? llmClient.getBackend(),
7051
7051
  model: llmClient.getModel()
7052
7052
  };
7053
- const { runAgentTurn, TurnMetrics } = await import("./orchestrator-KKUXIE3Q.js");
7053
+ const { runAgentTurn, TurnMetrics } = await import("./orchestrator-BRHIA2KE.js");
7054
7054
  runAgentTurn(
7055
7055
  {
7056
7056
  sessionManager,
@@ -7088,8 +7088,8 @@ All file and git operations should use this branch.
7088
7088
  if (!session) {
7089
7089
  return res.status(404).json({ error: "Session not found" });
7090
7090
  }
7091
- const { stopSessionExecution } = await import("./chat-handler-HJ2RBGNV.js");
7092
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-AUHL5MPG.js");
7091
+ const { stopSessionExecution } = await import("./chat-handler-OJ4XBQY4.js");
7092
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-AOLICK5U.js");
7093
7093
  const queuedMessages = sessionManager.getQueueState(sessionId);
7094
7094
  sessionManager.clearMessageQueue(sessionId);
7095
7095
  stopSessionExecution(sessionId, sessionManager);
@@ -7933,7 +7933,7 @@ All file and git operations should use this branch.
7933
7933
  });
7934
7934
  async function rebuildMcpTools() {
7935
7935
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-FJAFLDZA.js");
7936
- const { setMcpTools: setMcpTools2 } = await import("./tools-AUHL5MPG.js");
7936
+ const { setMcpTools: setMcpTools2 } = await import("./tools-AOLICK5U.js");
7937
7937
  const mcpTools = createMcpTools2(mcpManager);
7938
7938
  setMcpTools2(mcpTools);
7939
7939
  toolRegistry = createToolRegistry();
@@ -8487,7 +8487,7 @@ All file and git operations should use this branch.
8487
8487
  );
8488
8488
  const wss = wssExports.wss;
8489
8489
  deferTasksBroadcast = (projectId, payload) => wssExports.broadcastForProject(projectId, "", { type: "tasks.update", payload });
8490
- const { launchWorkflowRun, abortRunnerRun } = await import("./launch-ZHAFPRCP.js");
8490
+ const { launchWorkflowRun, abortRunnerRun } = await import("./launch-3F2GCRRF.js");
8491
8491
  deferTasksLaunchWorkflow = (sessionId, launch) => {
8492
8492
  const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
8493
8493
  let llmClient = getLLMClient();
@@ -8527,7 +8527,7 @@ All file and git operations should use this branch.
8527
8527
  const state = sessionManager.getContextState(sessionId);
8528
8528
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
8529
8529
  });
8530
- const { QueueProcessor } = await import("./processor-HETUXJFH.js");
8530
+ const { QueueProcessor } = await import("./processor-2IFXIJXG.js");
8531
8531
  const queueProcessor = new QueueProcessor({
8532
8532
  sessionManager,
8533
8533
  providerManager,
@@ -8613,4 +8613,4 @@ export {
8613
8613
  createServerHandle,
8614
8614
  createServer
8615
8615
  };
8616
- //# sourceMappingURL=chunk-T2RDFRNK.js.map
8616
+ //# sourceMappingURL=chunk-ZS55MMG6.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-X2J6BAU7.js";
4
+ } from "../chunk-H2RZDEVL.js";
5
5
  import "../chunk-AGXJ5O63.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-X2J6BAU7.js";
4
+ } from "../chunk-H2RZDEVL.js";
5
5
  import "../chunk-AGXJ5O63.js";
6
6
  import {
7
7
  logger
@@ -5,7 +5,7 @@ import {
5
5
  computeSessionHash,
6
6
  computeUnifiedDiff,
7
7
  getToolFingerprint
8
- } from "./chunk-KETVPTMI.js";
8
+ } from "./chunk-TP2PGZSE.js";
9
9
  import "./chunk-ZIL6VKLU.js";
10
10
  import "./chunk-GIJUWPRQ.js";
11
11
  import "./chunk-66MG44TF.js";
@@ -25,4 +25,4 @@ export {
25
25
  computeUnifiedDiff,
26
26
  getToolFingerprint
27
27
  };
28
- //# sourceMappingURL=dynamic-context-5MQWJTJC.js.map
28
+ //# sourceMappingURL=dynamic-context-PYAUG2LP.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  abortRunnerRun,
3
3
  launchWorkflowRun
4
- } from "./chunk-7DO4JMGT.js";
5
- import "./chunk-NBOSTFTS.js";
6
- import "./chunk-O5A3XKE5.js";
7
- import "./chunk-KETVPTMI.js";
4
+ } from "./chunk-77PJWQR7.js";
5
+ import "./chunk-2UPFWNC4.js";
6
+ import "./chunk-76A3E4LK.js";
7
+ import "./chunk-TP2PGZSE.js";
8
8
  import "./chunk-ZIL6VKLU.js";
9
9
  import "./chunk-LJX7KXRU.js";
10
10
  import "./chunk-GIJUWPRQ.js";
@@ -50,4 +50,4 @@ export {
50
50
  abortRunnerRun,
51
51
  launchWorkflowRun
52
52
  };
53
- //# sourceMappingURL=launch-ZHAFPRCP.js.map
53
+ //# sourceMappingURL=launch-3F2GCRRF.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  runAgentTurn,
3
3
  runChatTurn
4
- } from "./chunk-NBOSTFTS.js";
5
- import "./chunk-O5A3XKE5.js";
6
- import "./chunk-KETVPTMI.js";
4
+ } from "./chunk-2UPFWNC4.js";
5
+ import "./chunk-76A3E4LK.js";
6
+ import "./chunk-TP2PGZSE.js";
7
7
  import "./chunk-ZIL6VKLU.js";
8
8
  import {
9
9
  TurnMetrics,
@@ -61,4 +61,4 @@ export {
61
61
  runAgentTurn,
62
62
  runChatTurn
63
63
  };
64
- //# sourceMappingURL=orchestrator-KKUXIE3Q.js.map
64
+ //# sourceMappingURL=orchestrator-BRHIA2KE.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.125",
3
+ "version": "2.0.126",
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-HOSFRPPI.js";
6
- import "./chunk-O5A3XKE5.js";
6
+ import "./chunk-76A3E4LK.js";
7
7
  import "./chunk-ZIL6VKLU.js";
8
8
  import "./chunk-LJX7KXRU.js";
9
9
  import "./chunk-GIJUWPRQ.js";
@@ -207,7 +207,7 @@ var QueueProcessor = class {
207
207
  model: sessionClient.getModel(),
208
208
  ...sessionEffort ? { reasoningEffort: sessionEffort } : {}
209
209
  };
210
- const { runChatTurn } = await import("./orchestrator-KKUXIE3Q.js");
210
+ const { runChatTurn } = await import("./orchestrator-BRHIA2KE.js");
211
211
  const runChatTurnParams = buildRunChatTurnParams({
212
212
  sessionManager,
213
213
  sessionId,
@@ -256,4 +256,4 @@ var QueueProcessor = class {
256
256
  export {
257
257
  QueueProcessor
258
258
  };
259
- //# sourceMappingURL=processor-HETUXJFH.js.map
259
+ //# sourceMappingURL=processor-2IFXIJXG.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createServer
3
- } from "./chunk-T2RDFRNK.js";
3
+ } from "./chunk-ZS55MMG6.js";
4
4
  import "./chunk-RSB4AR2A.js";
5
5
  import "./chunk-IJ53Y77N.js";
6
- import "./chunk-WMAW37GV.js";
6
+ import "./chunk-6VW4BQMP.js";
7
7
  import "./chunk-HOSFRPPI.js";
8
- import "./chunk-7DO4JMGT.js";
9
- import "./chunk-NBOSTFTS.js";
10
- import "./chunk-O5A3XKE5.js";
11
- import "./chunk-KETVPTMI.js";
8
+ import "./chunk-77PJWQR7.js";
9
+ import "./chunk-2UPFWNC4.js";
10
+ import "./chunk-76A3E4LK.js";
11
+ import "./chunk-TP2PGZSE.js";
12
12
  import "./chunk-ZIL6VKLU.js";
13
13
  import "./chunk-WLJJRX22.js";
14
14
  import "./chunk-UAAFZEIS.js";
@@ -36,7 +36,7 @@ import "./chunk-K2QKX4ZJ.js";
36
36
  import "./chunk-J2GP3J3X.js";
37
37
  import {
38
38
  VERSION
39
- } from "./chunk-GZUD5E6E.js";
39
+ } from "./chunk-ABCCTPBC.js";
40
40
  import {
41
41
  loadConfig
42
42
  } from "./chunk-KBESUA3W.js";
@@ -227,4 +227,4 @@ async function runServe(options) {
227
227
  export {
228
228
  runServe
229
229
  };
230
- //# sourceMappingURL=serve-UVHJHYF3.js.map
230
+ //# sourceMappingURL=serve-WJKFUMLI.js.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-T2RDFRNK.js";
4
+ } from "../chunk-ZS55MMG6.js";
5
5
  import "../chunk-RSB4AR2A.js";
6
6
  import "../chunk-IJ53Y77N.js";
7
- import "../chunk-WMAW37GV.js";
7
+ import "../chunk-6VW4BQMP.js";
8
8
  import "../chunk-HOSFRPPI.js";
9
- import "../chunk-7DO4JMGT.js";
10
- import "../chunk-NBOSTFTS.js";
11
- import "../chunk-O5A3XKE5.js";
12
- import "../chunk-KETVPTMI.js";
9
+ import "../chunk-77PJWQR7.js";
10
+ import "../chunk-2UPFWNC4.js";
11
+ import "../chunk-76A3E4LK.js";
12
+ import "../chunk-TP2PGZSE.js";
13
13
  import "../chunk-ZIL6VKLU.js";
14
14
  import "../chunk-WLJJRX22.js";
15
15
  import "../chunk-UAAFZEIS.js";
@@ -35,7 +35,7 @@ import "../chunk-LCLH6ZUL.js";
35
35
  import "../chunk-T3JVYO3Z.js";
36
36
  import "../chunk-K2QKX4ZJ.js";
37
37
  import "../chunk-J2GP3J3X.js";
38
- import "../chunk-GZUD5E6E.js";
38
+ import "../chunk-ABCCTPBC.js";
39
39
  import "../chunk-KBESUA3W.js";
40
40
  import "../chunk-OSXPQSLW.js";
41
41
  import "../chunk-3B232XG4.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  createWebSocketServer,
3
3
  signalMcpReady
4
- } from "./chunk-WMAW37GV.js";
4
+ } from "./chunk-6VW4BQMP.js";
5
5
  import "./chunk-HOSFRPPI.js";
6
- import "./chunk-7DO4JMGT.js";
7
- import "./chunk-NBOSTFTS.js";
8
- import "./chunk-O5A3XKE5.js";
9
- import "./chunk-KETVPTMI.js";
6
+ import "./chunk-77PJWQR7.js";
7
+ import "./chunk-2UPFWNC4.js";
8
+ import "./chunk-76A3E4LK.js";
9
+ import "./chunk-TP2PGZSE.js";
10
10
  import "./chunk-ZIL6VKLU.js";
11
11
  import "./chunk-UAAFZEIS.js";
12
12
  import "./chunk-LJX7KXRU.js";
@@ -53,4 +53,4 @@ export {
53
53
  createWebSocketServer,
54
54
  signalMcpReady
55
55
  };
56
- //# sourceMappingURL=server-E4DOH4OF.js.map
56
+ //# sourceMappingURL=server-6LDC4HU6.js.map
@@ -10,7 +10,7 @@ import {
10
10
  setTasksService,
11
11
  stepDoneTool,
12
12
  validateToolAction
13
- } from "./chunk-O5A3XKE5.js";
13
+ } from "./chunk-76A3E4LK.js";
14
14
  import "./chunk-ZIL6VKLU.js";
15
15
  import "./chunk-LJX7KXRU.js";
16
16
  import "./chunk-GIJUWPRQ.js";
@@ -84,4 +84,4 @@ export {
84
84
  stepDoneTool,
85
85
  validateToolAction
86
86
  };
87
- //# sourceMappingURL=tools-AUHL5MPG.js.map
87
+ //# sourceMappingURL=tools-AOLICK5U.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-GZUD5E6E.js";
3
+ } from "./chunk-ABCCTPBC.js";
4
4
  import "./chunk-YLJ4XMA6.js";
5
5
 
6
6
  // src/cli/update.ts
@@ -46,4 +46,4 @@ async function runUpdate(options = {}) {
46
46
  export {
47
47
  runUpdate
48
48
  };
49
- //# sourceMappingURL=update-45ZRDWUB.js.map
49
+ //# sourceMappingURL=update-VH75MTCP.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.125",
3
+ "version": "2.0.126",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,7 +0,0 @@
1
- // src/constants.ts
2
- var VERSION = "2.0.125";
3
-
4
- export {
5
- VERSION
6
- };
7
- //# sourceMappingURL=chunk-GZUD5E6E.js.map