openfox 1.6.100 → 1.6.101

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 (28) hide show
  1. package/dist/{auto-compaction-NLUAT562.js → auto-compaction-JSXVY2CJ.js} +5 -5
  2. package/dist/{chat-handler-5KT442LF.js → chat-handler-45TB6QWI.js} +8 -8
  3. package/dist/{chunk-PFSOVCEN.js → chunk-5LYWA56Z.js} +18 -10
  4. package/dist/{chunk-MEOKWBXX.js → chunk-C5U6NRAY.js} +10 -6
  5. package/dist/{chunk-VMRDLSNP.js → chunk-L6LTCUCO.js} +3 -3
  6. package/dist/{chunk-BZBT5VJL.js → chunk-MBLZSLPH.js} +1 -1
  7. package/dist/{chunk-Y532ULQ2.js → chunk-NASF624P.js} +3 -3
  8. package/dist/{chunk-IB3TCZF7.js → chunk-SBQ36AOQ.js} +3 -3
  9. package/dist/{chunk-KOQOPNE5.js → chunk-SCAFZ75C.js} +28 -34
  10. package/dist/{chunk-X3GA33UG.js → chunk-UTBDR6KM.js} +1 -1
  11. package/dist/cli/dev.js +1 -1
  12. package/dist/cli/index.js +1 -1
  13. package/dist/{events-QBKF32WS.js → events-JP746DV3.js} +2 -2
  14. package/dist/{orchestrator-4GHZFEGT.js → orchestrator-RRO2XLYZ.js} +6 -6
  15. package/dist/package.json +1 -1
  16. package/dist/{processor-I3WKCUAE.js → processor-C4KLV5SV.js} +6 -6
  17. package/dist/{protocol-eKAFeMXn.d.ts → protocol-BkFgSJVU.d.ts} +1 -0
  18. package/dist/{protocol-GKGDN64O.js → protocol-SVQYBN2X.js} +3 -3
  19. package/dist/{serve-CJEAHPPU.js → serve-5B36ZPK3.js} +7 -7
  20. package/dist/server/index.d.ts +1 -1
  21. package/dist/server/index.js +6 -6
  22. package/dist/shared/index.d.ts +2 -2
  23. package/dist/shared/index.js +1 -1
  24. package/dist/{tools-UBURWNND.js → tools-AGVKG553.js} +5 -5
  25. package/dist/web/assets/{index-DzlTckHS.js → index-Du9Uz0qZ.js} +1 -1
  26. package/dist/web/index.html +1 -1
  27. package/dist/web/sw.js +1 -1
  28. package/package.json +1 -1
@@ -2,19 +2,19 @@ import {
2
2
  maybeAutoCompactContext,
3
3
  performManualContextCompaction,
4
4
  resolveCompactionStatsIdentity
5
- } from "./chunk-PFSOVCEN.js";
5
+ } from "./chunk-5LYWA56Z.js";
6
6
  import "./chunk-TYIHIHJF.js";
7
7
  import "./chunk-XAMAYRDA.js";
8
8
  import "./chunk-DL6ZILAF.js";
9
9
  import "./chunk-PBGOZMVY.js";
10
10
  import "./chunk-VRGRAQDG.js";
11
11
  import "./chunk-HGAMIPFO.js";
12
- import "./chunk-BZBT5VJL.js";
12
+ import "./chunk-MBLZSLPH.js";
13
13
  import "./chunk-FBGWG4N6.js";
14
14
  import "./chunk-DCYDTDWO.js";
15
- import "./chunk-MEOKWBXX.js";
15
+ import "./chunk-C5U6NRAY.js";
16
16
  import "./chunk-BJYPTN5S.js";
17
- import "./chunk-X3GA33UG.js";
17
+ import "./chunk-UTBDR6KM.js";
18
18
  import "./chunk-CQGTEGKL.js";
19
19
  import "./chunk-CGZHLM3K.js";
20
20
  import "./chunk-SZKEGZIB.js";
@@ -24,4 +24,4 @@ export {
24
24
  performManualContextCompaction,
25
25
  resolveCompactionStatsIdentity
26
26
  };
27
- //# sourceMappingURL=auto-compaction-NLUAT562.js.map
27
+ //# sourceMappingURL=auto-compaction-JSXVY2CJ.js.map
@@ -5,11 +5,11 @@ import {
5
5
  generateSessionName,
6
6
  getSessionMessageCount,
7
7
  needsNameGenerationCheck
8
- } from "./chunk-IB3TCZF7.js";
8
+ } from "./chunk-SBQ36AOQ.js";
9
9
  import {
10
10
  runChatTurn
11
- } from "./chunk-Y532ULQ2.js";
12
- import "./chunk-PFSOVCEN.js";
11
+ } from "./chunk-NASF624P.js";
12
+ import "./chunk-5LYWA56Z.js";
13
13
  import "./chunk-TYIHIHJF.js";
14
14
  import "./chunk-XAMAYRDA.js";
15
15
  import "./chunk-DL6ZILAF.js";
@@ -18,16 +18,16 @@ import "./chunk-VRGRAQDG.js";
18
18
  import "./chunk-HGAMIPFO.js";
19
19
  import {
20
20
  getEventStore
21
- } from "./chunk-BZBT5VJL.js";
21
+ } from "./chunk-MBLZSLPH.js";
22
22
  import "./chunk-FBGWG4N6.js";
23
23
  import "./chunk-DCYDTDWO.js";
24
24
  import {
25
25
  createChatMessageMessage,
26
26
  createPhaseChangedMessage,
27
27
  createSessionRunningMessage
28
- } from "./chunk-MEOKWBXX.js";
28
+ } from "./chunk-C5U6NRAY.js";
29
29
  import "./chunk-BJYPTN5S.js";
30
- import "./chunk-X3GA33UG.js";
30
+ import "./chunk-UTBDR6KM.js";
31
31
  import "./chunk-CQGTEGKL.js";
32
32
  import "./chunk-CGZHLM3K.js";
33
33
  import "./chunk-SZKEGZIB.js";
@@ -61,7 +61,7 @@ async function startChatSession(sessionId, content, deps, options) {
61
61
  sessionManager.setRunning(sessionId, true);
62
62
  broadcastForSession(sessionId, createSessionRunningMessage(true));
63
63
  try {
64
- const { maybeAutoCompactContext } = await import("./auto-compaction-NLUAT562.js");
64
+ const { maybeAutoCompactContext } = await import("./auto-compaction-JSXVY2CJ.js");
65
65
  await maybeAutoCompactContext({
66
66
  sessionManager,
67
67
  sessionId,
@@ -175,4 +175,4 @@ export {
175
175
  startChatSession,
176
176
  stopSessionExecution
177
177
  };
178
- //# sourceMappingURL=chat-handler-5KT442LF.js.map
178
+ //# sourceMappingURL=chat-handler-45TB6QWI.js.map
@@ -31,7 +31,7 @@ import {
31
31
  import {
32
32
  getCurrentContextWindowId,
33
33
  getEventStore
34
- } from "./chunk-BZBT5VJL.js";
34
+ } from "./chunk-MBLZSLPH.js";
35
35
  import {
36
36
  buildContextMessagesFromEventHistory,
37
37
  foldContextState,
@@ -48,7 +48,7 @@ import {
48
48
  createChatPathConfirmationMessage,
49
49
  createChatVisionFallbackMessage,
50
50
  createQueueStateMessage
51
- } from "./chunk-MEOKWBXX.js";
51
+ } from "./chunk-C5U6NRAY.js";
52
52
  import {
53
53
  AskUserInterrupt,
54
54
  askUserTool
@@ -889,13 +889,14 @@ function createToolResultEvent(messageId, toolCallId, result) {
889
889
  data: { messageId, toolCallId, result }
890
890
  };
891
891
  }
892
- function createChatDoneEvent(messageId, reason, stats) {
892
+ function createChatDoneEvent(messageId, reason, stats, agentType) {
893
893
  return {
894
894
  type: "chat.done",
895
895
  data: {
896
896
  messageId,
897
897
  reason,
898
- ...stats && { stats }
898
+ ...stats && { stats },
899
+ ...agentType && { agentType }
899
900
  }
900
901
  };
901
902
  }
@@ -3723,7 +3724,14 @@ async function executeSubAgent(options) {
3723
3724
  disableThinking: true
3724
3725
  });
3725
3726
  const result = await consumeStreamGenerator(streamGen, (event) => {
3726
- eventStore.append(sessionId, event);
3727
+ if (event.type === "message.delta") {
3728
+ eventStore.append(sessionId, {
3729
+ ...event,
3730
+ data: { ...event.data, subAgentType }
3731
+ });
3732
+ } else {
3733
+ eventStore.append(sessionId, event);
3734
+ }
3727
3735
  });
3728
3736
  if (result.aborted) {
3729
3737
  const stats = turnMetrics.buildStats(statsIdentity, "verifier");
@@ -3735,7 +3743,7 @@ async function executeSubAgent(options) {
3735
3743
  promptContext
3736
3744
  })
3737
3745
  );
3738
- eventStore.append(sessionId, createChatDoneEvent(assistantMsgId, "stopped", stats));
3746
+ eventStore.append(sessionId, createChatDoneEvent(assistantMsgId, "stopped", stats, "sub-agent"));
3739
3747
  throw new Error("Aborted");
3740
3748
  }
3741
3749
  turnMetrics.addLLMCall(
@@ -3805,7 +3813,7 @@ async function executeSubAgent(options) {
3805
3813
  promptContext
3806
3814
  })
3807
3815
  );
3808
- eventStore.append(sessionId, createChatDoneEvent(assistantMsgId, "complete", stats));
3816
+ eventStore.append(sessionId, createChatDoneEvent(assistantMsgId, "complete", stats, "sub-agent"));
3809
3817
  break;
3810
3818
  }
3811
3819
  eventStore.append(
@@ -3840,7 +3848,7 @@ async function executeSubAgent(options) {
3840
3848
  if (onMessage) {
3841
3849
  onMessage(createChatMessageUpdatedMessage(assistantMsgId, { isStreaming: false, stats, promptContext }));
3842
3850
  }
3843
- eventStore.append(sessionId, createChatDoneEvent(assistantMsgId, "complete", stats));
3851
+ eventStore.append(sessionId, createChatDoneEvent(assistantMsgId, "complete", stats, "sub-agent"));
3844
3852
  if (onMessage) {
3845
3853
  onMessage(createChatDoneMessage(assistantMsgId, "complete", stats, "sub-agent"));
3846
3854
  }
@@ -3932,7 +3940,7 @@ var callSubAgentTool = {
3932
3940
  };
3933
3941
  }
3934
3942
  try {
3935
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-UBURWNND.js");
3943
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-AGVKG553.js");
3936
3944
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3937
3945
  const turnMetrics = new TurnMetrics();
3938
3946
  const result = await executeSubAgent({
@@ -5130,4 +5138,4 @@ export {
5130
5138
  getToolRegistryForAgent,
5131
5139
  createToolRegistry
5132
5140
  };
5133
- //# sourceMappingURL=chunk-PFSOVCEN.js.map
5141
+ //# sourceMappingURL=chunk-5LYWA56Z.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createServerMessage,
3
3
  isClientMessage
4
- } from "./chunk-X3GA33UG.js";
4
+ } from "./chunk-UTBDR6KM.js";
5
5
 
6
6
  // src/server/ws/protocol.ts
7
7
  function enrichMessagesWithToolResults(messages) {
@@ -66,8 +66,12 @@ function createProjectListMessage(projects, correlationId) {
66
66
  function createGitStatusMessage(branch, diffFiles, correlationId) {
67
67
  return createServerMessage("git.status", { branch, diff: { files: diffFiles } }, correlationId);
68
68
  }
69
- function createChatDeltaMessage(messageId, content) {
70
- return createServerMessage("chat.delta", { messageId, content });
69
+ function createChatDeltaMessage(messageId, content, subAgentType) {
70
+ return createServerMessage("chat.delta", {
71
+ messageId,
72
+ content,
73
+ ...subAgentType ? { subAgentType } : {}
74
+ });
71
75
  }
72
76
  function createChatThinkingMessage(messageId, content) {
73
77
  return createServerMessage("chat.thinking", { messageId, content });
@@ -176,7 +180,7 @@ function storedEventToServerMessage(event) {
176
180
  }
177
181
  case "message.delta": {
178
182
  const data = event.data;
179
- return createChatDeltaMessage(data.messageId, data.content);
183
+ return createChatDeltaMessage(data.messageId, data.content, data.subAgentType);
180
184
  }
181
185
  case "message.thinking": {
182
186
  const data = event.data;
@@ -262,7 +266,7 @@ function storedEventToServerMessage(event) {
262
266
  }
263
267
  case "chat.done": {
264
268
  const data = event.data;
265
- return createChatDoneMessage(data.messageId, data.reason, data.stats);
269
+ return createChatDoneMessage(data.messageId, data.reason, data.stats, data.agentType);
266
270
  }
267
271
  case "chat.error": {
268
272
  const data = event.data;
@@ -322,4 +326,4 @@ export {
322
326
  createQueueStateMessage,
323
327
  storedEventToServerMessage
324
328
  };
325
- //# sourceMappingURL=chunk-MEOKWBXX.js.map
329
+ //# sourceMappingURL=chunk-C5U6NRAY.js.map
@@ -178,7 +178,7 @@ async function runCli(options) {
178
178
  case "update": {
179
179
  const __filename = fileURLToPath(import.meta.url);
180
180
  const __dirname = dirname(__filename);
181
- const updateScriptPath = join(__dirname, "update.sh");
181
+ const updateScriptPath = join(__dirname, "cli", "update.sh");
182
182
  const result = spawnSync(updateScriptPath, [], { shell: true, stdio: "inherit" });
183
183
  if (result.status !== 0) {
184
184
  process.exit(result.status ?? 1);
@@ -191,7 +191,7 @@ async function runCli(options) {
191
191
  if (!configExists) {
192
192
  await runNetworkSetup(mode);
193
193
  }
194
- const { runServe } = await import("./serve-CJEAHPPU.js");
194
+ const { runServe } = await import("./serve-5B36ZPK3.js");
195
195
  const serveOptions = { mode };
196
196
  if (values.port) serveOptions.port = parseInt(values.port);
197
197
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -203,4 +203,4 @@ async function runCli(options) {
203
203
  export {
204
204
  runCli
205
205
  };
206
- //# sourceMappingURL=chunk-VMRDLSNP.js.map
206
+ //# sourceMappingURL=chunk-L6LTCUCO.js.map
@@ -1267,4 +1267,4 @@ export {
1267
1267
  compactContext,
1268
1268
  getRecentUserPromptsForSession
1269
1269
  };
1270
- //# sourceMappingURL=chunk-BZBT5VJL.js.map
1270
+ //# sourceMappingURL=chunk-MBLZSLPH.js.map
@@ -13,11 +13,11 @@ import {
13
13
  getToolRegistryForAgent,
14
14
  loadAllAgentsDefault,
15
15
  runTopLevelAgentLoop
16
- } from "./chunk-PFSOVCEN.js";
16
+ } from "./chunk-5LYWA56Z.js";
17
17
  import {
18
18
  getCurrentContextWindowId,
19
19
  getEventStore
20
- } from "./chunk-BZBT5VJL.js";
20
+ } from "./chunk-MBLZSLPH.js";
21
21
  import {
22
22
  buildSnapshotFromSessionState
23
23
  } from "./chunk-DCYDTDWO.js";
@@ -327,4 +327,4 @@ export {
327
327
  runBuilderTurn,
328
328
  runVerifierTurn
329
329
  };
330
- //# sourceMappingURL=chunk-Y532ULQ2.js.map
330
+ //# sourceMappingURL=chunk-NASF624P.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getEventStore,
3
3
  updateSessionMetadata
4
- } from "./chunk-BZBT5VJL.js";
4
+ } from "./chunk-MBLZSLPH.js";
5
5
  import {
6
6
  buildMessagesFromStoredEvents,
7
7
  foldPendingConfirmations
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  createContextStateMessage,
11
11
  createSessionStateMessage
12
- } from "./chunk-MEOKWBXX.js";
12
+ } from "./chunk-C5U6NRAY.js";
13
13
  import {
14
14
  logger
15
15
  } from "./chunk-K44MW7JJ.js";
@@ -143,4 +143,4 @@ export {
143
143
  needsNameGenerationCheck,
144
144
  applyGeneratedSessionName
145
145
  };
146
- //# sourceMappingURL=chunk-IB3TCZF7.js.map
146
+ //# sourceMappingURL=chunk-SBQ36AOQ.js.map
@@ -2,7 +2,7 @@ import {
2
2
  createVerifierNudgeConfig,
3
3
  runBuilderTurn,
4
4
  runChatTurn
5
- } from "./chunk-Y532ULQ2.js";
5
+ } from "./chunk-NASF624P.js";
6
6
  import {
7
7
  TurnMetrics,
8
8
  agentExists,
@@ -46,7 +46,7 @@ import {
46
46
  saveSkillToProject,
47
47
  skillExists,
48
48
  spawnShellProcess
49
- } from "./chunk-PFSOVCEN.js";
49
+ } from "./chunk-5LYWA56Z.js";
50
50
  import {
51
51
  getProject
52
52
  } from "./chunk-XAMAYRDA.js";
@@ -95,7 +95,7 @@ import {
95
95
  updateSessionMetadata,
96
96
  updateSessionProvider,
97
97
  updateSessionRunning
98
- } from "./chunk-BZBT5VJL.js";
98
+ } from "./chunk-MBLZSLPH.js";
99
99
  import {
100
100
  initDatabase
101
101
  } from "./chunk-FBGWG4N6.js";
@@ -117,7 +117,7 @@ import {
117
117
  parseClientMessage,
118
118
  serializeServerMessage,
119
119
  storedEventToServerMessage
120
- } from "./chunk-MEOKWBXX.js";
120
+ } from "./chunk-C5U6NRAY.js";
121
121
  import {
122
122
  EventEmitter,
123
123
  provideAnswer
@@ -127,7 +127,7 @@ import {
127
127
  } from "./chunk-VUQCQXXJ.js";
128
128
  import {
129
129
  createServerMessage
130
- } from "./chunk-X3GA33UG.js";
130
+ } from "./chunk-UTBDR6KM.js";
131
131
  import {
132
132
  getGlobalConfigDir
133
133
  } from "./chunk-CQGTEGKL.js";
@@ -1286,6 +1286,7 @@ function createMockLLMClient() {
1286
1286
  // src/server/ws/server.ts
1287
1287
  import { WebSocketServer, WebSocket as WebSocket2 } from "ws";
1288
1288
  import { spawn as spawn2 } from "child_process";
1289
+ import { createHash as createHash2 } from "crypto";
1289
1290
 
1290
1291
  // src/server/ws/terminal.ts
1291
1292
  import WebSocket from "ws";
@@ -2320,6 +2321,9 @@ function moduleGitBranch(cwd) {
2320
2321
  proc.on("error", () => resolve3(null));
2321
2322
  });
2322
2323
  }
2324
+ function hashContent(content) {
2325
+ return createHash2("sha256").update(content).digest("hex");
2326
+ }
2323
2327
  function moduleGitDiff(cwd) {
2324
2328
  return new Promise((resolve3) => {
2325
2329
  const proc = spawn2("git", ["diff", "--stat", "--numstat", "--format=", "HEAD"], {
@@ -2347,17 +2351,7 @@ function moduleGitDiff(cwd) {
2347
2351
  resolve3({ hash: "", files: [] });
2348
2352
  return;
2349
2353
  }
2350
- const hashProc = spawn2("git", ["rev-parse", "HEAD"], { cwd, stdio: ["ignore", "pipe", "ignore"] });
2351
- let hash = "";
2352
- hashProc.stdout.on("data", (data) => {
2353
- hash += data.toString();
2354
- });
2355
- hashProc.on("close", (hCode) => {
2356
- if (hCode !== 0) hash = "";
2357
- });
2358
- hashProc.on("error", () => {
2359
- hash = "";
2360
- });
2354
+ const hash = hashContent(diffStdout + statusStdout);
2361
2355
  const files = [];
2362
2356
  for (const line of diffStdout.split("\n")) {
2363
2357
  if (!line) continue;
@@ -2384,7 +2378,7 @@ function moduleGitDiff(cwd) {
2384
2378
  deletions: 0
2385
2379
  });
2386
2380
  }
2387
- resolve3({ hash: hash.trim(), files });
2381
+ resolve3({ hash, files });
2388
2382
  };
2389
2383
  proc.on("close", (code) => {
2390
2384
  procExited = true;
@@ -2406,7 +2400,7 @@ function moduleGitDiff(cwd) {
2406
2400
  }
2407
2401
  var moduleWorkdirLastHash = /* @__PURE__ */ new Map();
2408
2402
  var moduleWorkdirInterval = /* @__PURE__ */ new Map();
2409
- var gitPollInterval = 1e4;
2403
+ var gitPollInterval = parseInt(process.env["OPENFOX_GIT_POLL_INTERVAL"] ?? "", 10) || 1e4;
2410
2404
  var moduleClients = null;
2411
2405
  var moduleEnqueueSend = null;
2412
2406
  function moduleGitPoll(workdir) {
@@ -5371,7 +5365,7 @@ import { Router as Router6 } from "express";
5371
5365
  import { spawn as spawn4 } from "child_process";
5372
5366
 
5373
5367
  // src/constants.ts
5374
- var VERSION = "1.6.100";
5368
+ var VERSION = "1.6.101";
5375
5369
 
5376
5370
  // src/server/routes/auto-update.ts
5377
5371
  var updateInProgress = false;
@@ -5668,7 +5662,7 @@ async function createServerHandle(config4) {
5668
5662
  res.json({ project });
5669
5663
  });
5670
5664
  app.get("/api/sessions", async (req, res) => {
5671
- const { getRecentUserPromptsForSession } = await import("./events-QBKF32WS.js");
5665
+ const { getRecentUserPromptsForSession } = await import("./events-JP746DV3.js");
5672
5666
  const projectId = req.query["projectId"];
5673
5667
  const limit = Math.min(parseInt(req.query["limit"]) || 20, 100);
5674
5668
  const offset = parseInt(req.query["offset"]) || 0;
@@ -5701,7 +5695,7 @@ async function createServerHandle(config4) {
5701
5695
  res.status(201).json({ session });
5702
5696
  });
5703
5697
  app.get("/api/sessions/:id", async (req, res) => {
5704
- const { getEventStore: getEventStore2 } = await import("./events-QBKF32WS.js");
5698
+ const { getEventStore: getEventStore2 } = await import("./events-JP746DV3.js");
5705
5699
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-EQPDQKQS.js");
5706
5700
  const session = sessionManager.getSession(req.params.id);
5707
5701
  if (!session) {
@@ -5732,7 +5726,7 @@ async function createServerHandle(config4) {
5732
5726
  res.json({ success: true });
5733
5727
  });
5734
5728
  app.post("/api/sessions/:id/provider", async (req, res) => {
5735
- const { getEventStore: getEventStore2 } = await import("./events-QBKF32WS.js");
5729
+ const { getEventStore: getEventStore2 } = await import("./events-JP746DV3.js");
5736
5730
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-EQPDQKQS.js");
5737
5731
  const sessionId = req.params.id;
5738
5732
  const session = sessionManager.getSession(sessionId);
@@ -5770,7 +5764,7 @@ async function createServerHandle(config4) {
5770
5764
  res.json({ success: true });
5771
5765
  });
5772
5766
  app.put("/api/sessions/:id/mode", async (req, res) => {
5773
- const { getEventStore: getEventStore2 } = await import("./events-QBKF32WS.js");
5767
+ const { getEventStore: getEventStore2 } = await import("./events-JP746DV3.js");
5774
5768
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-EQPDQKQS.js");
5775
5769
  const sessionId = req.params.id;
5776
5770
  const session = sessionManager.getSession(sessionId);
@@ -5827,14 +5821,14 @@ async function createServerHandle(config4) {
5827
5821
  if (!callId || approved === void 0) {
5828
5822
  return res.status(400).json({ error: "callId and approved are required" });
5829
5823
  }
5830
- const { providePathConfirmation } = await import("./tools-UBURWNND.js");
5824
+ const { providePathConfirmation } = await import("./tools-AGVKG553.js");
5831
5825
  const result = providePathConfirmation(callId, approved, alwaysAllow);
5832
5826
  if (!result.found) {
5833
5827
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
5834
5828
  }
5835
- const { getEventStore: getEventStore2 } = await import("./events-QBKF32WS.js");
5829
+ const { getEventStore: getEventStore2 } = await import("./events-JP746DV3.js");
5836
5830
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations: foldPendingConfirmations2 } = await import("./folding-EQPDQKQS.js");
5837
- const { createSessionStateMessage: createSessionStateMessage2 } = await import("./protocol-GKGDN64O.js");
5831
+ const { createSessionStateMessage: createSessionStateMessage2 } = await import("./protocol-SVQYBN2X.js");
5838
5832
  const eventStore = getEventStore2();
5839
5833
  const events = eventStore.getEvents(sessionId);
5840
5834
  const messages = buildMessagesFromStoredEvents2(events);
@@ -5851,7 +5845,7 @@ async function createServerHandle(config4) {
5851
5845
  if (!callId || !answer) {
5852
5846
  return res.status(400).json({ error: "callId and answer are required" });
5853
5847
  }
5854
- const { provideAnswer: provideAnswer2 } = await import("./tools-UBURWNND.js");
5848
+ const { provideAnswer: provideAnswer2 } = await import("./tools-AGVKG553.js");
5855
5849
  const found = provideAnswer2(callId, answer);
5856
5850
  if (!found) {
5857
5851
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -5887,14 +5881,14 @@ async function createServerHandle(config4) {
5887
5881
  if (!session) {
5888
5882
  return res.status(404).json({ error: "Session not found" });
5889
5883
  }
5890
- const { stopSessionExecution } = await import("./chat-handler-5KT442LF.js");
5891
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-UBURWNND.js");
5884
+ const { stopSessionExecution } = await import("./chat-handler-45TB6QWI.js");
5885
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-AGVKG553.js");
5892
5886
  stopSessionExecution(sessionId, sessionManager);
5893
5887
  abortSession(sessionId);
5894
5888
  cancelQuestionsForSession(sessionId, "Session stopped by user");
5895
5889
  cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
5896
5890
  sessionManager.clearMessageQueue(sessionId);
5897
- const eventStore = (await import("./events-QBKF32WS.js")).getEventStore();
5891
+ const eventStore = (await import("./events-JP746DV3.js")).getEventStore();
5898
5892
  eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
5899
5893
  res.json({ success: true });
5900
5894
  });
@@ -5908,7 +5902,7 @@ async function createServerHandle(config4) {
5908
5902
  if (typeof messageIndex !== "number" || messageIndex < 0) {
5909
5903
  return res.status(400).json({ error: "messageIndex must be a non-negative number" });
5910
5904
  }
5911
- const { truncateSessionMessages } = await import("./events-QBKF32WS.js");
5905
+ const { truncateSessionMessages } = await import("./events-JP746DV3.js");
5912
5906
  truncateSessionMessages(sessionId, messageIndex);
5913
5907
  res.json({ success: true });
5914
5908
  });
@@ -5926,7 +5920,7 @@ async function createServerHandle(config4) {
5926
5920
  if (!msg) {
5927
5921
  return res.status(400).json({ error: "Message not found at this index" });
5928
5922
  }
5929
- const { truncateSessionMessages } = await import("./events-QBKF32WS.js");
5923
+ const { truncateSessionMessages } = await import("./events-JP746DV3.js");
5930
5924
  truncateSessionMessages(sessionId, messageIndex - 1);
5931
5925
  sessionManager.queueMessage(sessionId, "asap", msg.content, msg.attachments, msg.messageKind);
5932
5926
  res.json({ success: true });
@@ -6403,7 +6397,7 @@ async function createServerHandle(config4) {
6403
6397
  providerManager
6404
6398
  );
6405
6399
  const wss = wssExports.wss;
6406
- const { QueueProcessor } = await import("./processor-I3WKCUAE.js");
6400
+ const { QueueProcessor } = await import("./processor-C4KLV5SV.js");
6407
6401
  const queueProcessor = new QueueProcessor({
6408
6402
  sessionManager,
6409
6403
  providerManager,
@@ -6475,4 +6469,4 @@ export {
6475
6469
  createServerHandle,
6476
6470
  createServer
6477
6471
  };
6478
- //# sourceMappingURL=chunk-KOQOPNE5.js.map
6472
+ //# sourceMappingURL=chunk-SCAFZ75C.js.map
@@ -26,4 +26,4 @@ export {
26
26
  isClientMessage,
27
27
  isServerMessage
28
28
  };
29
- //# sourceMappingURL=chunk-X3GA33UG.js.map
29
+ //# sourceMappingURL=chunk-UTBDR6KM.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-VMRDLSNP.js";
4
+ } from "../chunk-L6LTCUCO.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
package/dist/cli/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-VMRDLSNP.js";
4
+ } from "../chunk-L6LTCUCO.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
@@ -37,7 +37,7 @@ import {
37
37
  isStoredEvent,
38
38
  isTurnEvent,
39
39
  truncateSessionMessages
40
- } from "./chunk-BZBT5VJL.js";
40
+ } from "./chunk-MBLZSLPH.js";
41
41
  import "./chunk-FBGWG4N6.js";
42
42
  import {
43
43
  buildContextMessagesFromEventHistory,
@@ -113,4 +113,4 @@ export {
113
113
  isTurnEvent,
114
114
  truncateSessionMessages
115
115
  };
116
- //# sourceMappingURL=events-QBKF32WS.js.map
116
+ //# sourceMappingURL=events-JP746DV3.js.map
@@ -3,7 +3,7 @@ import {
3
3
  runBuilderTurn,
4
4
  runChatTurn,
5
5
  runVerifierTurn
6
- } from "./chunk-Y532ULQ2.js";
6
+ } from "./chunk-NASF624P.js";
7
7
  import {
8
8
  TurnMetrics,
9
9
  createChatDoneEvent,
@@ -11,19 +11,19 @@ import {
11
11
  createMessageStartEvent,
12
12
  createToolCallEvent,
13
13
  createToolResultEvent
14
- } from "./chunk-PFSOVCEN.js";
14
+ } from "./chunk-5LYWA56Z.js";
15
15
  import "./chunk-TYIHIHJF.js";
16
16
  import "./chunk-XAMAYRDA.js";
17
17
  import "./chunk-DL6ZILAF.js";
18
18
  import "./chunk-PBGOZMVY.js";
19
19
  import "./chunk-VRGRAQDG.js";
20
20
  import "./chunk-HGAMIPFO.js";
21
- import "./chunk-BZBT5VJL.js";
21
+ import "./chunk-MBLZSLPH.js";
22
22
  import "./chunk-FBGWG4N6.js";
23
23
  import "./chunk-DCYDTDWO.js";
24
- import "./chunk-MEOKWBXX.js";
24
+ import "./chunk-C5U6NRAY.js";
25
25
  import "./chunk-BJYPTN5S.js";
26
- import "./chunk-X3GA33UG.js";
26
+ import "./chunk-UTBDR6KM.js";
27
27
  import "./chunk-CQGTEGKL.js";
28
28
  import "./chunk-CGZHLM3K.js";
29
29
  import "./chunk-SZKEGZIB.js";
@@ -40,4 +40,4 @@ export {
40
40
  runChatTurn,
41
41
  runVerifierTurn
42
42
  };
43
- //# sourceMappingURL=orchestrator-4GHZFEGT.js.map
43
+ //# sourceMappingURL=orchestrator-RRO2XLYZ.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "1.6.100",
3
+ "version": "1.6.101",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -5,17 +5,17 @@ import {
5
5
  generateSessionName,
6
6
  getSessionMessageCount,
7
7
  needsNameGenerationCheck
8
- } from "./chunk-IB3TCZF7.js";
8
+ } from "./chunk-SBQ36AOQ.js";
9
9
  import {
10
10
  getEventStore
11
- } from "./chunk-BZBT5VJL.js";
11
+ } from "./chunk-MBLZSLPH.js";
12
12
  import "./chunk-FBGWG4N6.js";
13
13
  import "./chunk-DCYDTDWO.js";
14
14
  import {
15
15
  createChatMessageMessage,
16
16
  createSessionRunningMessage
17
- } from "./chunk-MEOKWBXX.js";
18
- import "./chunk-X3GA33UG.js";
17
+ } from "./chunk-C5U6NRAY.js";
18
+ import "./chunk-UTBDR6KM.js";
19
19
  import "./chunk-CGZHLM3K.js";
20
20
  import {
21
21
  logger
@@ -177,7 +177,7 @@ var QueueProcessor = class {
177
177
  backend: provider?.backend ?? llmClient.getBackend(),
178
178
  model: llmClient.getModel()
179
179
  };
180
- const { runChatTurn } = await import("./orchestrator-4GHZFEGT.js");
180
+ const { runChatTurn } = await import("./orchestrator-RRO2XLYZ.js");
181
181
  const runChatTurnParams = buildRunChatTurnParams({
182
182
  sessionManager,
183
183
  sessionId,
@@ -221,4 +221,4 @@ var QueueProcessor = class {
221
221
  export {
222
222
  QueueProcessor
223
223
  };
224
- //# sourceMappingURL=processor-I3WKCUAE.js.map
224
+ //# sourceMappingURL=processor-C4KLV5SV.js.map
@@ -570,6 +570,7 @@ interface SessionNameGeneratedPayload {
570
570
  interface ChatDeltaPayload {
571
571
  messageId: string;
572
572
  content: string;
573
+ subAgentType?: string;
573
574
  }
574
575
  interface ChatThinkingPayload {
575
576
  messageId: string;
@@ -35,8 +35,8 @@ import {
35
35
  parseClientMessage,
36
36
  serializeServerMessage,
37
37
  storedEventToServerMessage
38
- } from "./chunk-MEOKWBXX.js";
39
- import "./chunk-X3GA33UG.js";
38
+ } from "./chunk-C5U6NRAY.js";
39
+ import "./chunk-UTBDR6KM.js";
40
40
  export {
41
41
  createChatAskUserMessage,
42
42
  createChatDeltaMessage,
@@ -75,4 +75,4 @@ export {
75
75
  serializeServerMessage,
76
76
  storedEventToServerMessage
77
77
  };
78
- //# sourceMappingURL=protocol-GKGDN64O.js.map
78
+ //# sourceMappingURL=protocol-SVQYBN2X.js.map