openfox 2.0.131 → 2.0.132

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/CHANGELOG.md +11 -0
  3. package/dist/{chat-handler-RAIMQU7F.js → chat-handler-T47GATL5.js} +8 -8
  4. package/dist/chunk-55RHB5JB.js +7 -0
  5. package/dist/{chunk-ZVHUISW7.js → chunk-5JWJEZJ3.js} +2 -2
  6. package/dist/{chunk-QJG5K3X2.js → chunk-CLDCHOEA.js} +2 -2
  7. package/dist/{chunk-55DGZIZ6.js → chunk-EOHEDEIH.js} +4 -4
  8. package/dist/{chunk-ZCFQOC3C.js → chunk-FEIRWXLX.js} +2 -2
  9. package/dist/{chunk-WCM5ZW5N.js → chunk-GFW2HWJ6.js} +4 -4
  10. package/dist/{chunk-RQPHGBWI.js → chunk-GVOOOV7M.js} +4 -4
  11. package/dist/{chunk-5AI3LHRQ.js → chunk-HXHPKGJE.js} +5 -5
  12. package/dist/{chunk-6SUBBT2M.js → chunk-RRUSYVQD.js} +2 -2
  13. package/dist/{chunk-7LGMQ5KS.js → chunk-RUFXKUOL.js} +8 -8
  14. package/dist/{chunk-SVALN5KE.js → chunk-VXG3AFFY.js} +7 -8
  15. package/dist/{chunk-6MUSEPV7.js → chunk-ZSBNXJZ5.js} +36 -33
  16. package/dist/cli/dev.js +1 -1
  17. package/dist/cli/index.js +1 -1
  18. package/dist/{client-E6QLHPHD.js → client-2K6PPPJJ.js} +2 -2
  19. package/dist/{dynamic-context-Y555VDLA.js → dynamic-context-NJZKAZE3.js} +2 -2
  20. package/dist/{launch-Y4H7FDU2.js → launch-6I5ADTVT.js} +8 -8
  21. package/dist/{orchestrator-SQN2SJ2A.js → orchestrator-GX22Y5EM.js} +7 -7
  22. package/dist/package.json +1 -1
  23. package/dist/{processor-MEHODYNE.js → processor-FMEULCNQ.js} +7 -7
  24. package/dist/{provider-6YRII4IV.js → provider-NWRGNGS3.js} +3 -3
  25. package/dist/{provider-manager-URNJBK5Q.js → provider-manager-BO5ZBG3T.js} +3 -3
  26. package/dist/{serve-NPADSJG7.js → serve-BFGHUM4Y.js} +12 -12
  27. package/dist/server/index.js +11 -11
  28. package/dist/{server-5TY22HDN.js → server-WPWUYB6I.js} +10 -10
  29. package/dist/{service-VPXGREXF.js → service-O3LCO3TQ.js} +4 -4
  30. package/dist/{tasks-MNPXK2S5.js → tasks-WOC3QUFA.js} +4 -4
  31. package/dist/{tools-6BDT5YMT.js → tools-CW6POKUL.js} +5 -5
  32. package/dist/{update-XKCOBE47.js → update-VPCDKFLD.js} +2 -2
  33. package/package.json +1 -1
  34. package/dist/chunk-BMBOSVRM.js +0 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.132 - 2026-08-28
4
+
5
+ ### Enhancements
6
+
7
+ - **Deterministic workspace commit-and-push flow** — landing workspace changes is now an unconditional recipe: push a temp branch, merge back into the original repo, then delete the workspace and push to the remote
8
+
9
+ ### Bug Fixes
10
+
11
+ - **OpenCode Go models work on unset backends** — gpt-5.6-luna, grok-4.6 and muse-spark route to the Responses API even when the provider backend is unknown, instead of being rejected with HTTP 400
12
+ - **Agent now calls newly added tools** — drift reminders explicitly tell the agent that fresh MCP tools are callable like any other tool
13
+
3
14
  ## 2.0.131 - 2026-08-28
4
15
 
5
16
  ### Enhancements
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.132 - 2026-08-28
4
+
5
+ ### Enhancements
6
+
7
+ - **Deterministic workspace commit-and-push flow** — landing workspace changes is now an unconditional recipe: push a temp branch, merge back into the original repo, then delete the workspace and push to the remote
8
+
9
+ ### Bug Fixes
10
+
11
+ - **OpenCode Go models work on unset backends** — gpt-5.6-luna, grok-4.6 and muse-spark route to the Responses API even when the provider backend is unknown, instead of being rejected with HTTP 400
12
+ - **Agent now calls newly added tools** — drift reminders explicitly tell the agent that fresh MCP tools are callable like any other tool
13
+
3
14
  ## 2.0.131 - 2026-08-28
4
15
 
5
16
  ### Enhancements
@@ -2,14 +2,14 @@ import {
2
2
  buildRunChatTurnParams,
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
- } from "./chunk-6SUBBT2M.js";
5
+ } from "./chunk-RRUSYVQD.js";
6
6
  import {
7
7
  runChatTurn
8
- } from "./chunk-WCM5ZW5N.js";
9
- import "./chunk-5AI3LHRQ.js";
8
+ } from "./chunk-GFW2HWJ6.js";
9
+ import "./chunk-HXHPKGJE.js";
10
10
  import "./chunk-XE6UC5Z3.js";
11
11
  import "./chunk-J7GAZGZT.js";
12
- import "./chunk-ZCFQOC3C.js";
12
+ import "./chunk-FEIRWXLX.js";
13
13
  import "./chunk-TACWRDDC.js";
14
14
  import "./chunk-7ET46SNE.js";
15
15
  import "./chunk-LW6MMSTD.js";
@@ -17,7 +17,7 @@ import "./chunk-MQMPIXON.js";
17
17
  import "./chunk-I72ACQ6R.js";
18
18
  import "./chunk-JE7LW7Y6.js";
19
19
  import "./chunk-OAN4BXEW.js";
20
- import "./chunk-SVALN5KE.js";
20
+ import "./chunk-VXG3AFFY.js";
21
21
  import "./chunk-BKMWZTNO.js";
22
22
  import "./chunk-7JVBDBXE.js";
23
23
  import "./chunk-JURM3RPZ.js";
@@ -36,11 +36,11 @@ import {
36
36
  } from "./chunk-P57IBMK4.js";
37
37
  import "./chunk-LCLH6ZUL.js";
38
38
  import "./chunk-MGEYAYGU.js";
39
- import "./chunk-ZVHUISW7.js";
39
+ import "./chunk-5JWJEZJ3.js";
40
40
  import "./chunk-OA2FURC3.js";
41
41
  import "./chunk-J2GP3J3X.js";
42
42
  import "./chunk-DPFET73G.js";
43
- import "./chunk-QJG5K3X2.js";
43
+ import "./chunk-CLDCHOEA.js";
44
44
  import "./chunk-TS5WKTFB.js";
45
45
  import "./chunk-UV6IH6HK.js";
46
46
  import "./chunk-HNCM3D7Y.js";
@@ -174,4 +174,4 @@ export {
174
174
  startChatSession,
175
175
  stopSessionExecution
176
176
  };
177
- //# sourceMappingURL=chat-handler-RAIMQU7F.js.map
177
+ //# sourceMappingURL=chat-handler-T47GATL5.js.map
@@ -0,0 +1,7 @@
1
+ // src/constants.ts
2
+ var VERSION = "2.0.132";
3
+
4
+ export {
5
+ VERSION
6
+ };
7
+ //# sourceMappingURL=chunk-55RHB5JB.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-OA2FURC3.js";
5
5
  import {
6
6
  createLLMClient
7
- } from "./chunk-QJG5K3X2.js";
7
+ } from "./chunk-CLDCHOEA.js";
8
8
  import {
9
9
  getModelProfile
10
10
  } from "./chunk-TS5WKTFB.js";
@@ -895,4 +895,4 @@ export {
895
895
  parseDefaultModelSelection,
896
896
  createProviderManager
897
897
  };
898
- //# sourceMappingURL=chunk-ZVHUISW7.js.map
898
+ //# sourceMappingURL=chunk-5JWJEZJ3.js.map
@@ -46,7 +46,7 @@ function resolveApiProtocol(input) {
46
46
  const { model, backend, profileApiProtocol, explicitApiProtocol } = input;
47
47
  if (explicitApiProtocol) return explicitApiProtocol;
48
48
  if (backend === "openai" && profileApiProtocol) return profileApiProtocol;
49
- if (backend === "opencode-go") {
49
+ if (backend === "opencode-go" || backend === "unknown") {
50
50
  const matched = matchesRules(model, OPENCODE_GO_RESPONSES_RULES);
51
51
  if (matched) return matched;
52
52
  }
@@ -768,4 +768,4 @@ function createLLMClient(config, initialBackend = config.llm.backend ?? "unknown
768
768
  export {
769
769
  createLLMClient
770
770
  };
771
- //# sourceMappingURL=chunk-QJG5K3X2.js.map
771
+ //# sourceMappingURL=chunk-CLDCHOEA.js.map
@@ -165,7 +165,7 @@ async function runCli(options) {
165
165
  break;
166
166
  }
167
167
  case "provider": {
168
- const { runProviderCommand } = await import("./provider-6YRII4IV.js");
168
+ const { runProviderCommand } = await import("./provider-NWRGNGS3.js");
169
169
  const [, subcommand] = positionals;
170
170
  await runProviderCommand(mode, subcommand);
171
171
  break;
@@ -210,7 +210,7 @@ async function runCli(options) {
210
210
  break;
211
211
  }
212
212
  case "update": {
213
- const { runUpdate } = await import("./update-XKCOBE47.js");
213
+ const { runUpdate } = await import("./update-VPCDKFLD.js");
214
214
  const code = await runUpdate();
215
215
  if (code !== 0) {
216
216
  process.exit(code);
@@ -223,7 +223,7 @@ async function runCli(options) {
223
223
  if (!configExists) {
224
224
  await runNetworkSetup(mode);
225
225
  }
226
- const { runServe } = await import("./serve-NPADSJG7.js");
226
+ const { runServe } = await import("./serve-BFGHUM4Y.js");
227
227
  const serveOptions = { mode };
228
228
  if (values.port) serveOptions.port = parseInt(values.port);
229
229
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -235,4 +235,4 @@ async function runCli(options) {
235
235
  export {
236
236
  runCli
237
237
  };
238
- //# sourceMappingURL=chunk-55DGZIZ6.js.map
238
+ //# sourceMappingURL=chunk-EOHEDEIH.js.map
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-OSXPQSLW.js";
9
9
  import {
10
10
  parseDefaultModelSelection
11
- } from "./chunk-ZVHUISW7.js";
11
+ } from "./chunk-5JWJEZJ3.js";
12
12
  import {
13
13
  getProject
14
14
  } from "./chunk-DPFET73G.js";
@@ -1119,4 +1119,4 @@ export {
1119
1119
  isTaskGateError,
1120
1120
  createTasksService
1121
1121
  };
1122
- //# sourceMappingURL=chunk-ZCFQOC3C.js.map
1122
+ //# sourceMappingURL=chunk-FEIRWXLX.js.map
@@ -4,7 +4,7 @@ import {
4
4
  getToolRegistryForAgent,
5
5
  processEventsForConversation,
6
6
  runTopLevelAgentLoop
7
- } from "./chunk-5AI3LHRQ.js";
7
+ } from "./chunk-HXHPKGJE.js";
8
8
  import {
9
9
  TurnMetrics,
10
10
  createChatDoneEvent,
@@ -15,7 +15,7 @@ import {
15
15
  checkToolChangesAndInject,
16
16
  computeDynamicContextHash,
17
17
  getToolFingerprint
18
- } from "./chunk-SVALN5KE.js";
18
+ } from "./chunk-VXG3AFFY.js";
19
19
  import {
20
20
  getAllInstructions,
21
21
  getEnabledSkillMetadata
@@ -334,7 +334,7 @@ async function runAgentTurn(options, turnMetrics, agentId, append, callbacks) {
334
334
  getConversationMessages: buildGetConversationMessages(options.sessionId, resolveAgentClient, append),
335
335
  injectAgentReminder: () => injectAgentReminder(options.sessionId, agentDef),
336
336
  rebuildCachedContext: async () => {
337
- const { applyDynamicContext } = await import("./dynamic-context-Y555VDLA.js");
337
+ const { applyDynamicContext } = await import("./dynamic-context-NJZKAZE3.js");
338
338
  await applyDynamicContext(options.sessionManager, options.sessionId, agentLlmClient.getModel());
339
339
  },
340
340
  ...options.initialCompacting ? { initialCompacting: true } : {},
@@ -364,4 +364,4 @@ export {
364
364
  runChatTurn,
365
365
  runAgentTurn
366
366
  };
367
- //# sourceMappingURL=chunk-WCM5ZW5N.js.map
367
+ //# sourceMappingURL=chunk-GFW2HWJ6.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  runAgentTurn
3
- } from "./chunk-WCM5ZW5N.js";
3
+ } from "./chunk-GFW2HWJ6.js";
4
4
  import {
5
5
  executeSubAgent,
6
6
  getToolRegistryForAgent
7
- } from "./chunk-5AI3LHRQ.js";
7
+ } from "./chunk-HXHPKGJE.js";
8
8
  import {
9
9
  gitSpawnEnv
10
10
  } from "./chunk-J7GAZGZT.js";
@@ -15,7 +15,7 @@ import {
15
15
  loadProjectWorkflows,
16
16
  loadUserWorkflows,
17
17
  normalizeWorkflowScope
18
- } from "./chunk-ZCFQOC3C.js";
18
+ } from "./chunk-FEIRWXLX.js";
19
19
  import {
20
20
  TurnMetrics,
21
21
  createMessageStartEvent
@@ -1002,4 +1002,4 @@ export {
1002
1002
  abortRunnerRun,
1003
1003
  launchWorkflowRun
1004
1004
  };
1005
- //# sourceMappingURL=chunk-RQPHGBWI.js.map
1005
+ //# sourceMappingURL=chunk-GVOOOV7M.js.map
@@ -7,7 +7,7 @@ import {
7
7
  getGateConfig,
8
8
  isTaskConflictError,
9
9
  isTaskGateError
10
- } from "./chunk-ZCFQOC3C.js";
10
+ } from "./chunk-FEIRWXLX.js";
11
11
  import {
12
12
  getSessionDisabledServers
13
13
  } from "./chunk-TACWRDDC.js";
@@ -3187,7 +3187,7 @@ var callSubAgentTool = {
3187
3187
  };
3188
3188
  }
3189
3189
  try {
3190
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-6BDT5YMT.js");
3190
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-CW6POKUL.js");
3191
3191
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3192
3192
  const turnMetrics = new TurnMetrics();
3193
3193
  const result = await executeSubAgent({
@@ -4218,11 +4218,11 @@ var mcpConfigTool = createTool(
4218
4218
  async function notifyContextChanged(sessionId) {
4219
4219
  context.sessionManager.setDynamicContextChanged(sessionId, true);
4220
4220
  mcpNotifyChanged?.(sessionId);
4221
- const { injectContextDriftReminders } = await import("./dynamic-context-Y555VDLA.js");
4221
+ const { injectContextDriftReminders } = await import("./dynamic-context-NJZKAZE3.js");
4222
4222
  await injectContextDriftReminders(context.sessionManager, sessionId);
4223
4223
  }
4224
4224
  async function rebuildTools() {
4225
- const { setMcpTools: setMcpTools2 } = await import("./tools-6BDT5YMT.js");
4225
+ const { setMcpTools: setMcpTools2 } = await import("./tools-CW6POKUL.js");
4226
4226
  const mcpTools = createMcpTools(mcpManagerForTools);
4227
4227
  setMcpTools2(mcpTools);
4228
4228
  }
@@ -5158,4 +5158,4 @@ export {
5158
5158
  getToolRegistryForAgent,
5159
5159
  createToolRegistry
5160
5160
  };
5161
- //# sourceMappingURL=chunk-5AI3LHRQ.js.map
5161
+ //# sourceMappingURL=chunk-HXHPKGJE.js.map
@@ -162,7 +162,7 @@ async function generateSessionNameForSession(sessionId, userMessage, deps, signa
162
162
  client = deps.getLLMClient();
163
163
  client.setModel(providerConfig.model);
164
164
  } else if (providerConfig) {
165
- const { createLLMClient } = await import("./client-E6QLHPHD.js");
165
+ const { createLLMClient } = await import("./client-2K6PPPJJ.js");
166
166
  client = createLLMClient(
167
167
  {
168
168
  llm: {
@@ -216,4 +216,4 @@ export {
216
216
  needsNameGeneration,
217
217
  generateSessionNameForSession
218
218
  };
219
- //# sourceMappingURL=chunk-6SUBBT2M.js.map
219
+ //# sourceMappingURL=chunk-RRUSYVQD.js.map
@@ -2,16 +2,16 @@ import {
2
2
  generateSessionNameForSession,
3
3
  getSessionMessageCount,
4
4
  needsNameGeneration
5
- } from "./chunk-6SUBBT2M.js";
5
+ } from "./chunk-RRUSYVQD.js";
6
6
  import {
7
7
  launchWorkflowRun
8
- } from "./chunk-RQPHGBWI.js";
8
+ } from "./chunk-GVOOOV7M.js";
9
9
  import {
10
10
  runChatTurn
11
- } from "./chunk-WCM5ZW5N.js";
11
+ } from "./chunk-GFW2HWJ6.js";
12
12
  import {
13
13
  devServerManager
14
- } from "./chunk-5AI3LHRQ.js";
14
+ } from "./chunk-HXHPKGJE.js";
15
15
  import {
16
16
  gitSpawnEnv
17
17
  } from "./chunk-J7GAZGZT.js";
@@ -32,7 +32,7 @@ import {
32
32
  applyDynamicContext,
33
33
  computeSessionHash,
34
34
  computeUnifiedDiff
35
- } from "./chunk-SVALN5KE.js";
35
+ } from "./chunk-VXG3AFFY.js";
36
36
  import {
37
37
  getPendingQuestionsForSession,
38
38
  provideAnswer
@@ -1313,7 +1313,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
1313
1313
  }
1314
1314
  const session = sessionManager.requireSession(sessionId);
1315
1315
  try {
1316
- const { buildCachedPrompt, computePreviewToolDiff } = await import("./dynamic-context-Y555VDLA.js");
1316
+ const { buildCachedPrompt, computePreviewToolDiff } = await import("./dynamic-context-NJZKAZE3.js");
1317
1317
  const allAgents = await import("./registry-CMSSZHDC.js");
1318
1318
  const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
1319
1319
  const modelName = session.providerModel ?? _providerManager?.getCurrentModel();
@@ -1325,7 +1325,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
1325
1325
  const oldCached = sessionManager.getCachedPrompt(sessionId);
1326
1326
  const oldPrompt = oldCached?.systemPrompt;
1327
1327
  const diff = oldPrompt ? computeUnifiedDiff(oldPrompt, newPrompt) : [];
1328
- const { getToolRegistryForAgent } = await import("./tools-6BDT5YMT.js");
1328
+ const { getToolRegistryForAgent } = await import("./tools-CW6POKUL.js");
1329
1329
  const unfilteredTools = getToolRegistryForAgent(agentDef).definitions;
1330
1330
  const toolDiff = computePreviewToolDiff(oldCached?.tools, unfilteredTools, newTools);
1331
1331
  send({
@@ -1642,4 +1642,4 @@ export {
1642
1642
  signalMcpReady,
1643
1643
  createWebSocketServer
1644
1644
  };
1645
- //# sourceMappingURL=chunk-7LGMQ5KS.js.map
1645
+ //# sourceMappingURL=chunk-RUFXKUOL.js.map
@@ -171,11 +171,10 @@ ${changes.removed.join("\n")}`);
171
171
  sections.push(`Changed:
172
172
  ${changes.changed.map(formatToolDefinition).join("\n")}`);
173
173
  }
174
+ const intro = changes.added.length > 0 ? "You now have access to new tools \u2014 you can call them like any other tool. The definitions below are the exact tool schemas now available:" : "The available tools have changed since your last turn. The definitions below are the exact tool schemas now available:";
174
175
  return `<system-reminder>
175
- The available tools have changed since your last turn. The definitions below are the exact tool schemas now available:
176
- ${sections.join(
177
- "\n"
178
- )}
176
+ ${intro}
177
+ ${sections.join("\n")}
179
178
  </system-reminder>`;
180
179
  }
181
180
  var MAX_PROMPT_DIFF_LINES = 40;
@@ -224,7 +223,7 @@ async function injectDriftReminders(sessionManager, sessionId, agentDef, options
224
223
  if (!cached) {
225
224
  return { injectedToolReminder: false, injectedPromptReminder: false };
226
225
  }
227
- const { getToolRegistryForAgent } = await import("./tools-6BDT5YMT.js");
226
+ const { getToolRegistryForAgent } = await import("./tools-CW6POKUL.js");
228
227
  const liveTools = getToolRegistryForAgent(agentDef, sessionId).definitions;
229
228
  let injectedToolReminder = false;
230
229
  let injectedPromptReminder = false;
@@ -330,7 +329,7 @@ function resolveAgentDef(sessionManager, sessionId) {
330
329
  }
331
330
  async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName) {
332
331
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
333
- const { getToolRegistryForAgent } = await import("./tools-6BDT5YMT.js");
332
+ const { getToolRegistryForAgent } = await import("./tools-CW6POKUL.js");
334
333
  const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
335
334
  const toolFingerprint = getToolFingerprint(tools);
336
335
  const allAgents = await loadAllAgentsDefault(sessionManager.getProjectWorkdir(sessionId));
@@ -350,7 +349,7 @@ async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName)
350
349
  async function computeSessionHash(sessionManager, sessionId, modelName) {
351
350
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
352
351
  const agentDef = await resolveAgentDef(sessionManager, sessionId);
353
- const { getToolRegistryForAgent } = await import("./tools-6BDT5YMT.js");
352
+ const { getToolRegistryForAgent } = await import("./tools-CW6POKUL.js");
354
353
  const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
355
354
  const toolFingerprint = getToolFingerprint(tools);
356
355
  return computeDynamicContextHash(instructionContent, skills, toolFingerprint, modelName);
@@ -391,4 +390,4 @@ export {
391
390
  computeSessionHash,
392
391
  applyDynamicContext
393
392
  };
394
- //# sourceMappingURL=chunk-SVALN5KE.js.map
393
+ //# sourceMappingURL=chunk-VXG3AFFY.js.map
@@ -24,10 +24,10 @@ import {
24
24
  terminalManager,
25
25
  tokenFromPassword,
26
26
  verifyPassword
27
- } from "./chunk-7LGMQ5KS.js";
27
+ } from "./chunk-RUFXKUOL.js";
28
28
  import {
29
29
  TEMPLATE_VARIABLES
30
- } from "./chunk-RQPHGBWI.js";
30
+ } from "./chunk-GVOOOV7M.js";
31
31
  import {
32
32
  createToolRegistry,
33
33
  devServerManager,
@@ -42,7 +42,7 @@ import {
42
42
  setMcpManagerForTools,
43
43
  setMcpTools,
44
44
  setNotifyMcpServersChanged
45
- } from "./chunk-5AI3LHRQ.js";
45
+ } from "./chunk-HXHPKGJE.js";
46
46
  import {
47
47
  checkoutBranchFromSharedSource,
48
48
  deleteWorkspace,
@@ -87,7 +87,7 @@ import {
87
87
  saveWorkflow,
88
88
  saveWorkflowToProject,
89
89
  workflowExists
90
- } from "./chunk-ZCFQOC3C.js";
90
+ } from "./chunk-FEIRWXLX.js";
91
91
  import {
92
92
  getSessionDisabledServers,
93
93
  setSessionDisabledServers
@@ -209,13 +209,13 @@ import {
209
209
  detectModel,
210
210
  getLlmStatus,
211
211
  parseDefaultModelSelection
212
- } from "./chunk-ZVHUISW7.js";
212
+ } from "./chunk-5JWJEZJ3.js";
213
213
  import {
214
214
  buildOpenFoxMcpBootstrap
215
215
  } from "./chunk-YNMP647F.js";
216
216
  import {
217
217
  VERSION
218
- } from "./chunk-BMBOSVRM.js";
218
+ } from "./chunk-55RHB5JB.js";
219
219
  import {
220
220
  deleteProject,
221
221
  getProject,
@@ -2801,11 +2801,14 @@ function canCompact(currentTokens, maxTokens) {
2801
2801
 
2802
2802
  // src/server/session/manager.ts
2803
2803
  var WORKSPACE_COMMIT_RECIPE = `
2804
- To land changes from this workspace into the original repo (its origin is the local repo itself):
2804
+ To land changes from this workspace when the user asks to commit and push:
2805
2805
  1. Commit your work.
2806
- 2. If the original repo has this branch checked out, a direct push is refused \u2014 push to a temp branch, then in the original repo merge it back and clean up: \`git push origin HEAD:<feature-slug>\` then \`git merge --ff-only <feature-slug> && git branch -d <feature-slug>\`
2807
- 3. If the original repo is on a different branch, push directly instead: \`git push origin <branch>\`
2808
- 4. To reach the remote, push from the original repo: \`git push origin <branch>\``;
2806
+ 2. Push to the original repo on a temporary branch (its origin is the local repo itself): \`git push origin HEAD:<feature-slug>\`
2807
+ 3. Switch back to the original project: \`workspace switch original\`
2808
+ 4. Merge the temporary branch and delete it: \`git merge --ff-only <feature-slug> && git branch -d <feature-slug>\`
2809
+ 5. Verify the work is present in the original repo.
2810
+ 6. Delete the workspace \u2014 it can be recreated at any time: \`workspace delete <name> force=true\`
2811
+ 7. Push to the remote from the original repo: \`git push origin <branch>\``;
2809
2812
  var SessionManager = class {
2810
2813
  events = new EventEmitter();
2811
2814
  activeSessionId = null;
@@ -6801,7 +6804,7 @@ function detectWsl() {
6801
6804
  // src/server/index.ts
6802
6805
  var __dirname3 = dirname7(fileURLToPath6(import.meta.url));
6803
6806
  async function announceContextDrift(sessionManager, sessionIds) {
6804
- const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-Y555VDLA.js");
6807
+ const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-NJZKAZE3.js");
6805
6808
  await injectContextDriftRemindersForSessions(sessionManager, sessionIds);
6806
6809
  }
6807
6810
  async function createServerHandle(config3) {
@@ -6908,7 +6911,7 @@ async function createServerHandle(config3) {
6908
6911
  toolRegistry = createToolRegistry();
6909
6912
  logger.info("MCP tools registered", { count: mcpTools.length });
6910
6913
  }
6911
- const { signalMcpReady } = await import("./server-5TY22HDN.js");
6914
+ const { signalMcpReady } = await import("./server-WPWUYB6I.js");
6912
6915
  signalMcpReady();
6913
6916
  });
6914
6917
  const app = express();
@@ -7123,9 +7126,9 @@ async function createServerHandle(config3) {
7123
7126
  const sessionFavoriteRouter = express.Router();
7124
7127
  registerSessionFavoriteRoute(sessionFavoriteRouter, sessionManager);
7125
7128
  app.use("/api", sessionFavoriteRouter);
7126
- const { createTasksService } = await import("./service-VPXGREXF.js");
7127
- const { registerTaskRoutes } = await import("./tasks-MNPXK2S5.js");
7128
- const { setTasksService } = await import("./tools-6BDT5YMT.js");
7129
+ const { createTasksService } = await import("./service-O3LCO3TQ.js");
7130
+ const { registerTaskRoutes } = await import("./tasks-WOC3QUFA.js");
7131
+ const { setTasksService } = await import("./tools-CW6POKUL.js");
7129
7132
  const tasksService = createTasksService({
7130
7133
  sessionManager,
7131
7134
  config: config3,
@@ -7454,7 +7457,7 @@ All file and git operations should use this branch.
7454
7457
  app.get("/api/sessions/:id", async (req, res) => {
7455
7458
  const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ZJPRGVL2.js");
7456
7459
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-QRZOHY2I.js");
7457
- const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-6BDT5YMT.js");
7460
+ const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CW6POKUL.js");
7458
7461
  const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
7459
7462
  const session = sessionManager.getSession(req.params.id);
7460
7463
  if (!session) {
@@ -7483,7 +7486,7 @@ All file and git operations should use this branch.
7483
7486
  });
7484
7487
  app.get("/api/sessions/:id/status", async (req, res) => {
7485
7488
  const { projectSessionStatus: projectSessionStatus2 } = await import("./session-status-UFO5IFI7.js");
7486
- const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-6BDT5YMT.js");
7489
+ const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CW6POKUL.js");
7487
7490
  const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ZJPRGVL2.js");
7488
7491
  const { foldPendingConfirmations } = await import("./folding-QRZOHY2I.js");
7489
7492
  const sessionId = req.params["id"];
@@ -7515,8 +7518,8 @@ All file and git operations should use this branch.
7515
7518
  if (!session) {
7516
7519
  return res.status(404).json({ error: "Session not found" });
7517
7520
  }
7518
- const { stopSessionExecution } = await import("./chat-handler-RAIMQU7F.js");
7519
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-6BDT5YMT.js");
7521
+ const { stopSessionExecution } = await import("./chat-handler-T47GATL5.js");
7522
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CW6POKUL.js");
7520
7523
  sessionManager.clearMessageQueue(sessionId);
7521
7524
  stopSessionExecution(sessionId, sessionManager);
7522
7525
  abortSession(sessionId);
@@ -7769,7 +7772,7 @@ All file and git operations should use this branch.
7769
7772
  setSessionDisabledServers(sessionId, disabledServers);
7770
7773
  const messages = session.messages ?? [];
7771
7774
  if (messages.length === 0) {
7772
- const { applyDynamicContext } = await import("./dynamic-context-Y555VDLA.js");
7775
+ const { applyDynamicContext } = await import("./dynamic-context-NJZKAZE3.js");
7773
7776
  const modelName = session.providerModel ?? providerManager.getCurrentModel();
7774
7777
  await applyDynamicContext(sessionManager, sessionId, modelName);
7775
7778
  } else {
@@ -7803,7 +7806,7 @@ All file and git operations should use this branch.
7803
7806
  if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
7804
7807
  return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
7805
7808
  }
7806
- const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-6BDT5YMT.js");
7809
+ const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-CW6POKUL.js");
7807
7810
  const pendingSessionId = getConfirmationSessionId(callId);
7808
7811
  if (!pendingSessionId) {
7809
7812
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -7818,7 +7821,7 @@ All file and git operations should use this branch.
7818
7821
  const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-ZJPRGVL2.js");
7819
7822
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-QRZOHY2I.js");
7820
7823
  const { createSessionStateMessage } = await import("./protocol-Y7MRKRUO.js");
7821
- const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-6BDT5YMT.js");
7824
+ const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CW6POKUL.js");
7822
7825
  const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
7823
7826
  const eventStore = getEventStore2();
7824
7827
  const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
@@ -7856,7 +7859,7 @@ All file and git operations should use this branch.
7856
7859
  if (!skip && typeof answer !== "string") {
7857
7860
  return res.status(400).json({ error: "answer is required when not skipping" });
7858
7861
  }
7859
- const { provideAnswer: provideAnswer2 } = await import("./tools-6BDT5YMT.js");
7862
+ const { provideAnswer: provideAnswer2 } = await import("./tools-CW6POKUL.js");
7860
7863
  const found = provideAnswer2(callId, answer ?? "", skip ?? false);
7861
7864
  if (!found) {
7862
7865
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -7922,7 +7925,7 @@ All file and git operations should use this branch.
7922
7925
  backend: activeProvider?.backend ?? llmClient.getBackend(),
7923
7926
  model: llmClient.getModel()
7924
7927
  };
7925
- const { runAgentTurn, TurnMetrics } = await import("./orchestrator-SQN2SJ2A.js");
7928
+ const { runAgentTurn, TurnMetrics } = await import("./orchestrator-GX22Y5EM.js");
7926
7929
  runAgentTurn(
7927
7930
  {
7928
7931
  sessionManager,
@@ -7960,8 +7963,8 @@ All file and git operations should use this branch.
7960
7963
  if (!session) {
7961
7964
  return res.status(404).json({ error: "Session not found" });
7962
7965
  }
7963
- const { stopSessionExecution } = await import("./chat-handler-RAIMQU7F.js");
7964
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-6BDT5YMT.js");
7966
+ const { stopSessionExecution } = await import("./chat-handler-T47GATL5.js");
7967
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CW6POKUL.js");
7965
7968
  const queuedMessages = sessionManager.getQueueState(sessionId);
7966
7969
  sessionManager.clearMessageQueue(sessionId);
7967
7970
  stopSessionExecution(sessionId, sessionManager);
@@ -8341,7 +8344,7 @@ All file and git operations should use this branch.
8341
8344
  const backend = req.query["backend"];
8342
8345
  if (!url) return res.status(400).json({ error: "url is required" });
8343
8346
  try {
8344
- const { fetchModelsWithContext } = await import("./provider-manager-URNJBK5Q.js");
8347
+ const { fetchModelsWithContext } = await import("./provider-manager-BO5ZBG3T.js");
8345
8348
  const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
8346
8349
  const { getCatalogEntry } = await import("./model-catalog-2PCKTYGW.js");
8347
8350
  const models = await fetchModelsWithContext(
@@ -8833,7 +8836,7 @@ All file and git operations should use this branch.
8833
8836
  });
8834
8837
  async function rebuildMcpTools() {
8835
8838
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-FJAFLDZA.js");
8836
- const { setMcpTools: setMcpTools2 } = await import("./tools-6BDT5YMT.js");
8839
+ const { setMcpTools: setMcpTools2 } = await import("./tools-CW6POKUL.js");
8837
8840
  const mcpTools = createMcpTools2(mcpManager);
8838
8841
  setMcpTools2(mcpTools);
8839
8842
  toolRegistry = createToolRegistry();
@@ -9409,7 +9412,7 @@ All file and git operations should use this branch.
9409
9412
  );
9410
9413
  const wss = wssExports.wss;
9411
9414
  deferTasksBroadcast = (projectId, payload) => wssExports.broadcastForProject(projectId, "", { type: "tasks.update", payload });
9412
- const { launchWorkflowRun, abortRunnerRun } = await import("./launch-Y4H7FDU2.js");
9415
+ const { launchWorkflowRun, abortRunnerRun } = await import("./launch-6I5ADTVT.js");
9413
9416
  deferTasksLaunchWorkflow = (sessionId, launch) => {
9414
9417
  const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
9415
9418
  let llmClient = getLLMClient();
@@ -9454,7 +9457,7 @@ All file and git operations should use this branch.
9454
9457
  const state = sessionManager.getContextState(sessionId);
9455
9458
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
9456
9459
  });
9457
- const { QueueProcessor } = await import("./processor-MEHODYNE.js");
9460
+ const { QueueProcessor } = await import("./processor-FMEULCNQ.js");
9458
9461
  const queueProcessor = new QueueProcessor({
9459
9462
  sessionManager,
9460
9463
  providerManager,
@@ -9496,8 +9499,8 @@ All file and git operations should use this branch.
9496
9499
  launchWorkflow: (sessionId, launch) => deferTasksLaunchWorkflow(sessionId, launch),
9497
9500
  stopSession: (sessionId) => {
9498
9501
  void (async () => {
9499
- const { stopSessionExecution } = await import("./chat-handler-RAIMQU7F.js");
9500
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-6BDT5YMT.js");
9502
+ const { stopSessionExecution } = await import("./chat-handler-T47GATL5.js");
9503
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CW6POKUL.js");
9501
9504
  sessionManager.clearMessageQueue(sessionId);
9502
9505
  stopSessionExecution(sessionId, sessionManager);
9503
9506
  abortSession(sessionId);
@@ -9618,4 +9621,4 @@ export {
9618
9621
  createServerHandle,
9619
9622
  createServer
9620
9623
  };
9621
- //# sourceMappingURL=chunk-6MUSEPV7.js.map
9624
+ //# sourceMappingURL=chunk-ZSBNXJZ5.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-55DGZIZ6.js";
4
+ } from "../chunk-EOHEDEIH.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-55DGZIZ6.js";
4
+ } from "../chunk-EOHEDEIH.js";
5
5
  import "../chunk-AGXJ5O63.js";
6
6
  import {
7
7
  logger
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLLMClient
3
- } from "./chunk-QJG5K3X2.js";
3
+ } from "./chunk-CLDCHOEA.js";
4
4
  import "./chunk-TS5WKTFB.js";
5
5
  import "./chunk-UV6IH6HK.js";
6
6
  import "./chunk-HNCM3D7Y.js";
@@ -13,4 +13,4 @@ import "./chunk-YLJ4XMA6.js";
13
13
  export {
14
14
  createLLMClient
15
15
  };
16
- //# sourceMappingURL=client-E6QLHPHD.js.map
16
+ //# sourceMappingURL=client-2K6PPPJJ.js.map
@@ -15,7 +15,7 @@ import {
15
15
  injectContextDriftRemindersForSessions,
16
16
  renderSystemPromptDiff,
17
17
  renderToolChangeReminder
18
- } from "./chunk-SVALN5KE.js";
18
+ } from "./chunk-VXG3AFFY.js";
19
19
  import "./chunk-BKMWZTNO.js";
20
20
  import "./chunk-7JVBDBXE.js";
21
21
  import "./chunk-FGNJMKDV.js";
@@ -49,4 +49,4 @@ export {
49
49
  renderSystemPromptDiff,
50
50
  renderToolChangeReminder
51
51
  };
52
- //# sourceMappingURL=dynamic-context-Y555VDLA.js.map
52
+ //# sourceMappingURL=dynamic-context-NJZKAZE3.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  abortRunnerRun,
3
3
  launchWorkflowRun
4
- } from "./chunk-RQPHGBWI.js";
5
- import "./chunk-WCM5ZW5N.js";
6
- import "./chunk-5AI3LHRQ.js";
4
+ } from "./chunk-GVOOOV7M.js";
5
+ import "./chunk-GFW2HWJ6.js";
6
+ import "./chunk-HXHPKGJE.js";
7
7
  import "./chunk-XE6UC5Z3.js";
8
8
  import "./chunk-J7GAZGZT.js";
9
- import "./chunk-ZCFQOC3C.js";
9
+ import "./chunk-FEIRWXLX.js";
10
10
  import "./chunk-TACWRDDC.js";
11
11
  import "./chunk-7ET46SNE.js";
12
12
  import "./chunk-LW6MMSTD.js";
@@ -14,7 +14,7 @@ import "./chunk-MQMPIXON.js";
14
14
  import "./chunk-I72ACQ6R.js";
15
15
  import "./chunk-JE7LW7Y6.js";
16
16
  import "./chunk-OAN4BXEW.js";
17
- import "./chunk-SVALN5KE.js";
17
+ import "./chunk-VXG3AFFY.js";
18
18
  import "./chunk-BKMWZTNO.js";
19
19
  import "./chunk-7JVBDBXE.js";
20
20
  import "./chunk-JURM3RPZ.js";
@@ -27,11 +27,11 @@ import "./chunk-OSXPQSLW.js";
27
27
  import "./chunk-P57IBMK4.js";
28
28
  import "./chunk-LCLH6ZUL.js";
29
29
  import "./chunk-MGEYAYGU.js";
30
- import "./chunk-ZVHUISW7.js";
30
+ import "./chunk-5JWJEZJ3.js";
31
31
  import "./chunk-OA2FURC3.js";
32
32
  import "./chunk-J2GP3J3X.js";
33
33
  import "./chunk-DPFET73G.js";
34
- import "./chunk-QJG5K3X2.js";
34
+ import "./chunk-CLDCHOEA.js";
35
35
  import "./chunk-TS5WKTFB.js";
36
36
  import "./chunk-UV6IH6HK.js";
37
37
  import "./chunk-HNCM3D7Y.js";
@@ -50,4 +50,4 @@ export {
50
50
  abortRunnerRun,
51
51
  launchWorkflowRun
52
52
  };
53
- //# sourceMappingURL=launch-Y4H7FDU2.js.map
53
+ //# sourceMappingURL=launch-6I5ADTVT.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  runAgentTurn,
3
3
  runChatTurn
4
- } from "./chunk-WCM5ZW5N.js";
5
- import "./chunk-5AI3LHRQ.js";
4
+ } from "./chunk-GFW2HWJ6.js";
5
+ import "./chunk-HXHPKGJE.js";
6
6
  import "./chunk-XE6UC5Z3.js";
7
7
  import "./chunk-J7GAZGZT.js";
8
- import "./chunk-ZCFQOC3C.js";
8
+ import "./chunk-FEIRWXLX.js";
9
9
  import "./chunk-TACWRDDC.js";
10
10
  import {
11
11
  TurnMetrics,
@@ -20,7 +20,7 @@ import "./chunk-MQMPIXON.js";
20
20
  import "./chunk-I72ACQ6R.js";
21
21
  import "./chunk-JE7LW7Y6.js";
22
22
  import "./chunk-OAN4BXEW.js";
23
- import "./chunk-SVALN5KE.js";
23
+ import "./chunk-VXG3AFFY.js";
24
24
  import "./chunk-BKMWZTNO.js";
25
25
  import "./chunk-7JVBDBXE.js";
26
26
  import "./chunk-JURM3RPZ.js";
@@ -33,11 +33,11 @@ import "./chunk-OSXPQSLW.js";
33
33
  import "./chunk-P57IBMK4.js";
34
34
  import "./chunk-LCLH6ZUL.js";
35
35
  import "./chunk-MGEYAYGU.js";
36
- import "./chunk-ZVHUISW7.js";
36
+ import "./chunk-5JWJEZJ3.js";
37
37
  import "./chunk-OA2FURC3.js";
38
38
  import "./chunk-J2GP3J3X.js";
39
39
  import "./chunk-DPFET73G.js";
40
- import "./chunk-QJG5K3X2.js";
40
+ import "./chunk-CLDCHOEA.js";
41
41
  import "./chunk-TS5WKTFB.js";
42
42
  import "./chunk-UV6IH6HK.js";
43
43
  import "./chunk-HNCM3D7Y.js";
@@ -61,4 +61,4 @@ export {
61
61
  runAgentTurn,
62
62
  runChatTurn
63
63
  };
64
- //# sourceMappingURL=orchestrator-SQN2SJ2A.js.map
64
+ //# sourceMappingURL=orchestrator-GX22Y5EM.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.131",
3
+ "version": "2.0.132",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -2,11 +2,11 @@ import {
2
2
  buildRunChatTurnParams,
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
- } from "./chunk-6SUBBT2M.js";
6
- import "./chunk-5AI3LHRQ.js";
5
+ } from "./chunk-RRUSYVQD.js";
6
+ import "./chunk-HXHPKGJE.js";
7
7
  import "./chunk-XE6UC5Z3.js";
8
8
  import "./chunk-J7GAZGZT.js";
9
- import "./chunk-ZCFQOC3C.js";
9
+ import "./chunk-FEIRWXLX.js";
10
10
  import "./chunk-TACWRDDC.js";
11
11
  import "./chunk-7ET46SNE.js";
12
12
  import "./chunk-LW6MMSTD.js";
@@ -31,11 +31,11 @@ import {
31
31
  } from "./chunk-P57IBMK4.js";
32
32
  import "./chunk-LCLH6ZUL.js";
33
33
  import "./chunk-MGEYAYGU.js";
34
- import "./chunk-ZVHUISW7.js";
34
+ import "./chunk-5JWJEZJ3.js";
35
35
  import "./chunk-OA2FURC3.js";
36
36
  import "./chunk-J2GP3J3X.js";
37
37
  import "./chunk-DPFET73G.js";
38
- import "./chunk-QJG5K3X2.js";
38
+ import "./chunk-CLDCHOEA.js";
39
39
  import "./chunk-TS5WKTFB.js";
40
40
  import "./chunk-UV6IH6HK.js";
41
41
  import "./chunk-HNCM3D7Y.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-SQN2SJ2A.js");
210
+ const { runChatTurn } = await import("./orchestrator-GX22Y5EM.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-MEHODYNE.js.map
259
+ //# sourceMappingURL=processor-FMEULCNQ.js.map
@@ -11,10 +11,10 @@ import {
11
11
  import {
12
12
  detectModel,
13
13
  fetchAvailableModelsFromBackend
14
- } from "./chunk-ZVHUISW7.js";
14
+ } from "./chunk-5JWJEZJ3.js";
15
15
  import "./chunk-OA2FURC3.js";
16
16
  import "./chunk-J2GP3J3X.js";
17
- import "./chunk-QJG5K3X2.js";
17
+ import "./chunk-CLDCHOEA.js";
18
18
  import "./chunk-TS5WKTFB.js";
19
19
  import "./chunk-UV6IH6HK.js";
20
20
  import "./chunk-HNCM3D7Y.js";
@@ -400,4 +400,4 @@ export {
400
400
  runProviderRemove,
401
401
  runProviderUse
402
402
  };
403
- //# sourceMappingURL=provider-6YRII4IV.js.map
403
+ //# sourceMappingURL=provider-NWRGNGS3.js.map
@@ -3,10 +3,10 @@ import {
3
3
  fetchAvailableModelsFromBackend,
4
4
  fetchModelsWithContext,
5
5
  parseDefaultModelSelection
6
- } from "./chunk-ZVHUISW7.js";
6
+ } from "./chunk-5JWJEZJ3.js";
7
7
  import "./chunk-OA2FURC3.js";
8
8
  import "./chunk-J2GP3J3X.js";
9
- import "./chunk-QJG5K3X2.js";
9
+ import "./chunk-CLDCHOEA.js";
10
10
  import "./chunk-TS5WKTFB.js";
11
11
  import "./chunk-UV6IH6HK.js";
12
12
  import "./chunk-HNCM3D7Y.js";
@@ -23,4 +23,4 @@ export {
23
23
  fetchModelsWithContext,
24
24
  parseDefaultModelSelection
25
25
  };
26
- //# sourceMappingURL=provider-manager-URNJBK5Q.js.map
26
+ //# sourceMappingURL=provider-manager-BO5ZBG3T.js.map
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  createServer
3
- } from "./chunk-6MUSEPV7.js";
3
+ } from "./chunk-ZSBNXJZ5.js";
4
4
  import "./chunk-T3S5MTMD.js";
5
5
  import "./chunk-WLJJRX22.js";
6
6
  import "./chunk-DQTN4B33.js";
7
7
  import "./chunk-IJ53Y77N.js";
8
- import "./chunk-7LGMQ5KS.js";
9
- import "./chunk-6SUBBT2M.js";
10
- import "./chunk-RQPHGBWI.js";
11
- import "./chunk-WCM5ZW5N.js";
12
- import "./chunk-5AI3LHRQ.js";
8
+ import "./chunk-RUFXKUOL.js";
9
+ import "./chunk-RRUSYVQD.js";
10
+ import "./chunk-GVOOOV7M.js";
11
+ import "./chunk-GFW2HWJ6.js";
12
+ import "./chunk-HXHPKGJE.js";
13
13
  import "./chunk-XE6UC5Z3.js";
14
14
  import "./chunk-J7GAZGZT.js";
15
- import "./chunk-ZCFQOC3C.js";
15
+ import "./chunk-FEIRWXLX.js";
16
16
  import "./chunk-TACWRDDC.js";
17
17
  import "./chunk-ZL4IAFF3.js";
18
18
  import "./chunk-7ET46SNE.js";
@@ -21,7 +21,7 @@ import "./chunk-MQMPIXON.js";
21
21
  import "./chunk-I72ACQ6R.js";
22
22
  import "./chunk-JE7LW7Y6.js";
23
23
  import "./chunk-OAN4BXEW.js";
24
- import "./chunk-SVALN5KE.js";
24
+ import "./chunk-VXG3AFFY.js";
25
25
  import "./chunk-BKMWZTNO.js";
26
26
  import "./chunk-7JVBDBXE.js";
27
27
  import "./chunk-JURM3RPZ.js";
@@ -36,15 +36,15 @@ import "./chunk-OSXPQSLW.js";
36
36
  import "./chunk-P57IBMK4.js";
37
37
  import "./chunk-LCLH6ZUL.js";
38
38
  import "./chunk-MGEYAYGU.js";
39
- import "./chunk-ZVHUISW7.js";
39
+ import "./chunk-5JWJEZJ3.js";
40
40
  import "./chunk-OA2FURC3.js";
41
41
  import "./chunk-J2GP3J3X.js";
42
42
  import "./chunk-YNMP647F.js";
43
43
  import {
44
44
  VERSION
45
- } from "./chunk-BMBOSVRM.js";
45
+ } from "./chunk-55RHB5JB.js";
46
46
  import "./chunk-DPFET73G.js";
47
- import "./chunk-QJG5K3X2.js";
47
+ import "./chunk-CLDCHOEA.js";
48
48
  import "./chunk-TS5WKTFB.js";
49
49
  import "./chunk-UV6IH6HK.js";
50
50
  import "./chunk-HNCM3D7Y.js";
@@ -229,4 +229,4 @@ async function runServe(options) {
229
229
  export {
230
230
  runServe
231
231
  };
232
- //# sourceMappingURL=serve-NPADSJG7.js.map
232
+ //# sourceMappingURL=serve-BFGHUM4Y.js.map
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-6MUSEPV7.js";
4
+ } from "../chunk-ZSBNXJZ5.js";
5
5
  import "../chunk-T3S5MTMD.js";
6
6
  import "../chunk-WLJJRX22.js";
7
7
  import "../chunk-DQTN4B33.js";
8
8
  import "../chunk-IJ53Y77N.js";
9
- import "../chunk-7LGMQ5KS.js";
10
- import "../chunk-6SUBBT2M.js";
11
- import "../chunk-RQPHGBWI.js";
12
- import "../chunk-WCM5ZW5N.js";
13
- import "../chunk-5AI3LHRQ.js";
9
+ import "../chunk-RUFXKUOL.js";
10
+ import "../chunk-RRUSYVQD.js";
11
+ import "../chunk-GVOOOV7M.js";
12
+ import "../chunk-GFW2HWJ6.js";
13
+ import "../chunk-HXHPKGJE.js";
14
14
  import "../chunk-XE6UC5Z3.js";
15
15
  import "../chunk-J7GAZGZT.js";
16
- import "../chunk-ZCFQOC3C.js";
16
+ import "../chunk-FEIRWXLX.js";
17
17
  import "../chunk-TACWRDDC.js";
18
18
  import "../chunk-ZL4IAFF3.js";
19
19
  import "../chunk-7ET46SNE.js";
@@ -22,7 +22,7 @@ import "../chunk-MQMPIXON.js";
22
22
  import "../chunk-I72ACQ6R.js";
23
23
  import "../chunk-JE7LW7Y6.js";
24
24
  import "../chunk-OAN4BXEW.js";
25
- import "../chunk-SVALN5KE.js";
25
+ import "../chunk-VXG3AFFY.js";
26
26
  import "../chunk-BKMWZTNO.js";
27
27
  import "../chunk-7JVBDBXE.js";
28
28
  import "../chunk-JURM3RPZ.js";
@@ -35,13 +35,13 @@ import "../chunk-OSXPQSLW.js";
35
35
  import "../chunk-P57IBMK4.js";
36
36
  import "../chunk-LCLH6ZUL.js";
37
37
  import "../chunk-MGEYAYGU.js";
38
- import "../chunk-ZVHUISW7.js";
38
+ import "../chunk-5JWJEZJ3.js";
39
39
  import "../chunk-OA2FURC3.js";
40
40
  import "../chunk-J2GP3J3X.js";
41
41
  import "../chunk-YNMP647F.js";
42
- import "../chunk-BMBOSVRM.js";
42
+ import "../chunk-55RHB5JB.js";
43
43
  import "../chunk-DPFET73G.js";
44
- import "../chunk-QJG5K3X2.js";
44
+ import "../chunk-CLDCHOEA.js";
45
45
  import "../chunk-TS5WKTFB.js";
46
46
  import "../chunk-UV6IH6HK.js";
47
47
  import "../chunk-HNCM3D7Y.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createWebSocketServer,
3
3
  signalMcpReady
4
- } from "./chunk-7LGMQ5KS.js";
5
- import "./chunk-6SUBBT2M.js";
6
- import "./chunk-RQPHGBWI.js";
7
- import "./chunk-WCM5ZW5N.js";
8
- import "./chunk-5AI3LHRQ.js";
4
+ } from "./chunk-RUFXKUOL.js";
5
+ import "./chunk-RRUSYVQD.js";
6
+ import "./chunk-GVOOOV7M.js";
7
+ import "./chunk-GFW2HWJ6.js";
8
+ import "./chunk-HXHPKGJE.js";
9
9
  import "./chunk-XE6UC5Z3.js";
10
10
  import "./chunk-J7GAZGZT.js";
11
- import "./chunk-ZCFQOC3C.js";
11
+ import "./chunk-FEIRWXLX.js";
12
12
  import "./chunk-TACWRDDC.js";
13
13
  import "./chunk-ZL4IAFF3.js";
14
14
  import "./chunk-7ET46SNE.js";
@@ -17,7 +17,7 @@ import "./chunk-MQMPIXON.js";
17
17
  import "./chunk-I72ACQ6R.js";
18
18
  import "./chunk-JE7LW7Y6.js";
19
19
  import "./chunk-OAN4BXEW.js";
20
- import "./chunk-SVALN5KE.js";
20
+ import "./chunk-VXG3AFFY.js";
21
21
  import "./chunk-BKMWZTNO.js";
22
22
  import "./chunk-7JVBDBXE.js";
23
23
  import "./chunk-JURM3RPZ.js";
@@ -30,11 +30,11 @@ import "./chunk-OSXPQSLW.js";
30
30
  import "./chunk-P57IBMK4.js";
31
31
  import "./chunk-LCLH6ZUL.js";
32
32
  import "./chunk-MGEYAYGU.js";
33
- import "./chunk-ZVHUISW7.js";
33
+ import "./chunk-5JWJEZJ3.js";
34
34
  import "./chunk-OA2FURC3.js";
35
35
  import "./chunk-J2GP3J3X.js";
36
36
  import "./chunk-DPFET73G.js";
37
- import "./chunk-QJG5K3X2.js";
37
+ import "./chunk-CLDCHOEA.js";
38
38
  import "./chunk-TS5WKTFB.js";
39
39
  import "./chunk-UV6IH6HK.js";
40
40
  import "./chunk-HNCM3D7Y.js";
@@ -53,4 +53,4 @@ export {
53
53
  createWebSocketServer,
54
54
  signalMcpReady
55
55
  };
56
- //# sourceMappingURL=server-5TY22HDN.js.map
56
+ //# sourceMappingURL=server-WPWUYB6I.js.map
@@ -2,13 +2,13 @@ import {
2
2
  createTasksService,
3
3
  isTaskConflictError,
4
4
  isTaskGateError
5
- } from "./chunk-ZCFQOC3C.js";
5
+ } from "./chunk-FEIRWXLX.js";
6
6
  import "./chunk-OSXPQSLW.js";
7
- import "./chunk-ZVHUISW7.js";
7
+ import "./chunk-5JWJEZJ3.js";
8
8
  import "./chunk-OA2FURC3.js";
9
9
  import "./chunk-J2GP3J3X.js";
10
10
  import "./chunk-DPFET73G.js";
11
- import "./chunk-QJG5K3X2.js";
11
+ import "./chunk-CLDCHOEA.js";
12
12
  import "./chunk-TS5WKTFB.js";
13
13
  import "./chunk-UV6IH6HK.js";
14
14
  import "./chunk-HNCM3D7Y.js";
@@ -24,4 +24,4 @@ export {
24
24
  isTaskConflictError,
25
25
  isTaskGateError
26
26
  };
27
- //# sourceMappingURL=service-VPXGREXF.js.map
27
+ //# sourceMappingURL=service-O3LCO3TQ.js.map
@@ -3,15 +3,15 @@ import {
3
3
  getTaskSettings,
4
4
  isTaskConflictError,
5
5
  isTaskGateError
6
- } from "./chunk-ZCFQOC3C.js";
6
+ } from "./chunk-FEIRWXLX.js";
7
7
  import "./chunk-OSXPQSLW.js";
8
- import "./chunk-ZVHUISW7.js";
8
+ import "./chunk-5JWJEZJ3.js";
9
9
  import "./chunk-OA2FURC3.js";
10
10
  import "./chunk-J2GP3J3X.js";
11
11
  import {
12
12
  getProject
13
13
  } from "./chunk-DPFET73G.js";
14
- import "./chunk-QJG5K3X2.js";
14
+ import "./chunk-CLDCHOEA.js";
15
15
  import "./chunk-TS5WKTFB.js";
16
16
  import "./chunk-UV6IH6HK.js";
17
17
  import "./chunk-HNCM3D7Y.js";
@@ -217,4 +217,4 @@ function registerTaskRoutes(router, tasksService) {
217
217
  export {
218
218
  registerTaskRoutes
219
219
  };
220
- //# sourceMappingURL=tasks-MNPXK2S5.js.map
220
+ //# sourceMappingURL=tasks-WOC3QUFA.js.map
@@ -10,10 +10,10 @@ import {
10
10
  setTasksService,
11
11
  stepDoneTool,
12
12
  validateToolAction
13
- } from "./chunk-5AI3LHRQ.js";
13
+ } from "./chunk-HXHPKGJE.js";
14
14
  import "./chunk-XE6UC5Z3.js";
15
15
  import "./chunk-J7GAZGZT.js";
16
- import "./chunk-ZCFQOC3C.js";
16
+ import "./chunk-FEIRWXLX.js";
17
17
  import "./chunk-TACWRDDC.js";
18
18
  import "./chunk-7ET46SNE.js";
19
19
  import "./chunk-LW6MMSTD.js";
@@ -44,11 +44,11 @@ import "./chunk-OSXPQSLW.js";
44
44
  import "./chunk-P57IBMK4.js";
45
45
  import "./chunk-LCLH6ZUL.js";
46
46
  import "./chunk-MGEYAYGU.js";
47
- import "./chunk-ZVHUISW7.js";
47
+ import "./chunk-5JWJEZJ3.js";
48
48
  import "./chunk-OA2FURC3.js";
49
49
  import "./chunk-J2GP3J3X.js";
50
50
  import "./chunk-DPFET73G.js";
51
- import "./chunk-QJG5K3X2.js";
51
+ import "./chunk-CLDCHOEA.js";
52
52
  import "./chunk-TS5WKTFB.js";
53
53
  import "./chunk-UV6IH6HK.js";
54
54
  import "./chunk-HNCM3D7Y.js";
@@ -84,4 +84,4 @@ export {
84
84
  stepDoneTool,
85
85
  validateToolAction
86
86
  };
87
- //# sourceMappingURL=tools-6BDT5YMT.js.map
87
+ //# sourceMappingURL=tools-CW6POKUL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-BMBOSVRM.js";
3
+ } from "./chunk-55RHB5JB.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-XKCOBE47.js.map
49
+ //# sourceMappingURL=update-VPCDKFLD.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.131",
3
+ "version": "2.0.132",
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.131";
3
-
4
- export {
5
- VERSION
6
- };
7
- //# sourceMappingURL=chunk-BMBOSVRM.js.map