openfox 1.6.83 → 1.6.84

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.
@@ -2,7 +2,7 @@ import {
2
2
  maybeAutoCompactContext,
3
3
  performManualContextCompaction,
4
4
  resolveCompactionStatsIdentity
5
- } from "./chunk-NAONQLLT.js";
5
+ } from "./chunk-2IIQ7EZV.js";
6
6
  import "./chunk-OXI26S7U.js";
7
7
  import "./chunk-CMQCO27Y.js";
8
8
  import "./chunk-DL6ZILAF.js";
@@ -24,4 +24,4 @@ export {
24
24
  performManualContextCompaction,
25
25
  resolveCompactionStatsIdentity
26
26
  };
27
- //# sourceMappingURL=auto-compaction-YKNSXB3B.js.map
27
+ //# sourceMappingURL=auto-compaction-JGRRUO2G.js.map
@@ -8,8 +8,8 @@ import {
8
8
  } from "./chunk-6GH2PJJC.js";
9
9
  import {
10
10
  runChatTurn
11
- } from "./chunk-ZSTL3GO6.js";
12
- import "./chunk-NAONQLLT.js";
11
+ } from "./chunk-QIMHUO3E.js";
12
+ import "./chunk-2IIQ7EZV.js";
13
13
  import "./chunk-OXI26S7U.js";
14
14
  import "./chunk-CMQCO27Y.js";
15
15
  import "./chunk-DL6ZILAF.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-YKNSXB3B.js");
64
+ const { maybeAutoCompactContext } = await import("./auto-compaction-JGRRUO2G.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-XORXAICJ.js.map
178
+ //# sourceMappingURL=chat-handler-OH5GPGLH.js.map
@@ -539,6 +539,7 @@ function computeAggregatedStats(input) {
539
539
  identity,
540
540
  mode,
541
541
  totalPrefillTokens,
542
+ totalPrefillIncrement,
542
543
  totalGenTokens,
543
544
  totalPrefillTime,
544
545
  totalGenTime,
@@ -546,13 +547,15 @@ function computeAggregatedStats(input) {
546
547
  totalTime,
547
548
  llmCalls
548
549
  } = input;
550
+ const prefillSource = totalPrefillIncrement ?? totalPrefillTokens;
549
551
  return {
550
552
  ...identity,
551
553
  mode,
552
554
  totalTime,
553
555
  toolTime: totalToolTime,
554
556
  prefillTokens: totalPrefillTokens,
555
- prefillSpeed: totalPrefillTime > 0 ? roundTo1(totalPrefillTokens / totalPrefillTime) : 0,
557
+ ...totalPrefillIncrement !== void 0 && { prefTokenIncrement: totalPrefillIncrement },
558
+ prefillSpeed: totalPrefillTime > 0 ? roundTo1(prefillSource / totalPrefillTime) : 0,
556
559
  generationTokens: totalGenTokens,
557
560
  generationSpeed: totalGenTime > 0 ? roundTo1(totalGenTokens / totalGenTime) : 0,
558
561
  ...llmCalls ? { llmCalls } : {}
@@ -766,6 +769,7 @@ async function* streamLLMPure(options) {
766
769
  var TurnMetrics = class {
767
770
  startTime;
768
771
  totalPrefillTokens = 0;
772
+ totalPrefillIncrement = 0;
769
773
  totalPrefillTime = 0;
770
774
  // seconds
771
775
  totalGenTokens = 0;
@@ -778,8 +782,10 @@ var TurnMetrics = class {
778
782
  constructor() {
779
783
  this.startTime = performance.now();
780
784
  }
781
- /** Add metrics from an LLM call */
782
- addLLMCall(timing, promptTokens, completionTokens, modelParams) {
785
+ /** Add metrics from an LLM call.
786
+ * @param previousContextTokens - context size BEFORE this LLM call (for computing the non-cached increment)
787
+ */
788
+ addLLMCall(timing, promptTokens, completionTokens, previousContextTokens, modelParams) {
783
789
  const callIndex = this.llmCalls.length + 1;
784
790
  this.totalPrefillTokens += promptTokens;
785
791
  this.totalPrefillTime += timing.ttft;
@@ -788,15 +794,21 @@ var TurnMetrics = class {
788
794
  if (modelParams) {
789
795
  this.modelParams = modelParams;
790
796
  }
797
+ const prefTokenIncrement = previousContextTokens !== void 0 ? Math.max(0, promptTokens - previousContextTokens) : void 0;
798
+ if (prefTokenIncrement !== void 0) {
799
+ this.totalPrefillIncrement += prefTokenIncrement;
800
+ }
801
+ const prefillSource = prefTokenIncrement ?? promptTokens;
791
802
  this.llmCalls = [
792
803
  ...this.llmCalls,
793
804
  {
794
805
  callIndex,
795
806
  promptTokens,
796
807
  completionTokens,
808
+ ...prefTokenIncrement !== void 0 && { prefTokenIncrement },
797
809
  ttft: timing.ttft,
798
810
  completionTime: timing.completionTime,
799
- prefillSpeed: timing.ttft > 0 ? Math.round(promptTokens / timing.ttft * 10) / 10 : 0,
811
+ prefillSpeed: timing.ttft > 0 ? Math.round(prefillSource / timing.ttft * 10) / 10 : 0,
800
812
  generationSpeed: timing.completionTime > 0 ? Math.round(completionTokens / timing.completionTime * 10) / 10 : 0,
801
813
  totalTime: Math.round((timing.ttft + timing.completionTime) * 10) / 10,
802
814
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
@@ -821,6 +833,7 @@ var TurnMetrics = class {
821
833
  identity,
822
834
  mode,
823
835
  totalPrefillTokens: this.totalPrefillTokens,
836
+ ...this.totalPrefillIncrement > 0 && { totalPrefillIncrement: this.totalPrefillIncrement },
824
837
  totalGenTokens: this.totalGenTokens,
825
838
  totalPrefillTime: this.totalPrefillTime,
826
839
  totalGenTime: this.totalGenTime,
@@ -916,7 +929,8 @@ async function consumeStreamWithToolLoop(options) {
916
929
  workdir,
917
930
  onEvent,
918
931
  statsIdentity,
919
- dangerLevel
932
+ dangerLevel,
933
+ sessionManager
920
934
  } = options;
921
935
  let currentMessages = [...messages];
922
936
  let iterations = 0;
@@ -927,6 +941,7 @@ async function consumeStreamWithToolLoop(options) {
927
941
  if (++iterations > MAX_TOOL_LOOP_ITERATIONS) {
928
942
  throw new Error("Max tool loop iterations exceeded during compaction");
929
943
  }
944
+ const previousContextTokens = sessionManager?.getContextState(sessionId).currentTokens;
930
945
  const streamGen = streamLLMPure({
931
946
  messageId,
932
947
  systemPrompt,
@@ -946,7 +961,13 @@ async function consumeStreamWithToolLoop(options) {
946
961
  currentMessages = [...currentMessages, correctionMsg];
947
962
  continue;
948
963
  }
949
- turnMetrics.addLLMCall(result.timing, result.usage.promptTokens, result.usage.completionTokens, result.modelParams);
964
+ turnMetrics.addLLMCall(
965
+ result.timing,
966
+ result.usage.promptTokens,
967
+ result.usage.completionTokens,
968
+ previousContextTokens,
969
+ result.modelParams
970
+ );
950
971
  if (result.toolCalls.length > 0) {
951
972
  const stats = turnMetrics.buildStats(statsIdentity, "compaction");
952
973
  onEvent(
@@ -3164,6 +3185,7 @@ async function runTopLevelAgentLoop(config, turnMetrics) {
3164
3185
  createChatVisionFallbackMessage({ type: "done", messageId: assistantMsgId, attachmentId, description })
3165
3186
  );
3166
3187
  };
3188
+ const previousContextTokens = sessionManager.getContextState(sessionId).currentTokens;
3167
3189
  const modelSettings = currentMaxTokensOverride !== void 0 ? { ...sessionManager.getCurrentModelSettings(), maxTokens: currentMaxTokensOverride } : sessionManager.getCurrentModelSettings();
3168
3190
  const streamGen = streamLLMPure({
3169
3191
  messageId: assistantMsgId,
@@ -3205,7 +3227,13 @@ async function runTopLevelAgentLoop(config, turnMetrics) {
3205
3227
  );
3206
3228
  throw new Error("Aborted");
3207
3229
  }
3208
- turnMetrics.addLLMCall(result.timing, result.usage.promptTokens, result.usage.completionTokens, result.modelParams);
3230
+ turnMetrics.addLLMCall(
3231
+ result.timing,
3232
+ result.usage.promptTokens,
3233
+ result.usage.completionTokens,
3234
+ previousContextTokens,
3235
+ result.modelParams
3236
+ );
3209
3237
  sessionManager.setCurrentContextSize(sessionId, result.usage.promptTokens);
3210
3238
  if (result.finishReason === "length" && result.toolCalls.length === 0) {
3211
3239
  if (truncationRetryCount < MAX_TRUNCATION_RETRIES) {
@@ -3545,6 +3573,7 @@ async function executeSubAgent(options) {
3545
3573
  modelName: llmClient.getModel()
3546
3574
  });
3547
3575
  const effectiveSystemPrompt = assembledRequest.systemPrompt + RETURN_VALUE_INSTRUCTION;
3576
+ const previousContextTokens = sessionManager.getContextState(sessionId).currentTokens;
3548
3577
  const streamGen = streamLLMPure({
3549
3578
  messageId: assistantMsgId,
3550
3579
  systemPrompt: effectiveSystemPrompt,
@@ -3571,7 +3600,13 @@ async function executeSubAgent(options) {
3571
3600
  eventStore.append(sessionId, createChatDoneEvent(assistantMsgId, "stopped", stats));
3572
3601
  throw new Error("Aborted");
3573
3602
  }
3574
- turnMetrics.addLLMCall(result.timing, result.usage.promptTokens, result.usage.completionTokens, result.modelParams);
3603
+ turnMetrics.addLLMCall(
3604
+ result.timing,
3605
+ result.usage.promptTokens,
3606
+ result.usage.completionTokens,
3607
+ previousContextTokens,
3608
+ result.modelParams
3609
+ );
3575
3610
  finalContent = result.content;
3576
3611
  session = sessionManager.requireSession(sessionId);
3577
3612
  if (result.toolCalls.length === 0) {
@@ -3758,7 +3793,7 @@ var callSubAgentTool = {
3758
3793
  };
3759
3794
  }
3760
3795
  try {
3761
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-RGERQUMC.js");
3796
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-NBBDVEXF.js");
3762
3797
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3763
3798
  const turnMetrics = new TurnMetrics();
3764
3799
  const result = await executeSubAgent({
@@ -4853,6 +4888,7 @@ ${COMPACTION_PROMPT}
4853
4888
  workdir: session.workdir,
4854
4889
  onEvent: (event) => eventStore.append(sessionId, event),
4855
4890
  statsIdentity,
4891
+ sessionManager,
4856
4892
  ...session.dangerLevel ? { dangerLevel: session.dangerLevel } : {},
4857
4893
  ...signal ? { signal } : {}
4858
4894
  });
@@ -4947,4 +4983,4 @@ export {
4947
4983
  getToolRegistryForAgent,
4948
4984
  createToolRegistry
4949
4985
  };
4950
- //# sourceMappingURL=chunk-NAONQLLT.js.map
4986
+ //# sourceMappingURL=chunk-2IIQ7EZV.js.map
@@ -190,7 +190,7 @@ async function runCli(options) {
190
190
  if (!configExists) {
191
191
  await runNetworkSetup(mode);
192
192
  }
193
- const { runServe } = await import("./serve-IED7B4A5.js");
193
+ const { runServe } = await import("./serve-IWRMBDPG.js");
194
194
  const serveOptions = { mode };
195
195
  if (values.port) serveOptions.port = parseInt(values.port);
196
196
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -202,4 +202,4 @@ async function runCli(options) {
202
202
  export {
203
203
  runCli
204
204
  };
205
- //# sourceMappingURL=chunk-AET6LELP.js.map
205
+ //# sourceMappingURL=chunk-M7INHE2B.js.map
@@ -13,7 +13,7 @@ import {
13
13
  getToolRegistryForAgent,
14
14
  loadAllAgentsDefault,
15
15
  runTopLevelAgentLoop
16
- } from "./chunk-NAONQLLT.js";
16
+ } from "./chunk-2IIQ7EZV.js";
17
17
  import {
18
18
  getCurrentContextWindowId,
19
19
  getEventStore
@@ -327,4 +327,4 @@ export {
327
327
  runBuilderTurn,
328
328
  runVerifierTurn
329
329
  };
330
- //# sourceMappingURL=chunk-ZSTL3GO6.js.map
330
+ //# sourceMappingURL=chunk-QIMHUO3E.js.map
@@ -2,7 +2,7 @@ import {
2
2
  createVerifierNudgeConfig,
3
3
  runBuilderTurn,
4
4
  runChatTurn
5
- } from "./chunk-ZSTL3GO6.js";
5
+ } from "./chunk-QIMHUO3E.js";
6
6
  import {
7
7
  TurnMetrics,
8
8
  agentExists,
@@ -37,7 +37,7 @@ import {
37
37
  setSkillEnabled,
38
38
  skillExists,
39
39
  spawnShellProcess
40
- } from "./chunk-NAONQLLT.js";
40
+ } from "./chunk-2IIQ7EZV.js";
41
41
  import {
42
42
  getProject
43
43
  } from "./chunk-CMQCO27Y.js";
@@ -5261,7 +5261,7 @@ function createTerminalRoutes() {
5261
5261
  }
5262
5262
 
5263
5263
  // src/constants.ts
5264
- var VERSION = "1.6.83";
5264
+ var VERSION = "1.6.84";
5265
5265
 
5266
5266
  // src/server/index.ts
5267
5267
  var __dirname2 = dirname5(fileURLToPath4(import.meta.url));
@@ -5618,7 +5618,7 @@ async function createServerHandle(config) {
5618
5618
  if (!callId || approved === void 0) {
5619
5619
  return res.status(400).json({ error: "callId and approved are required" });
5620
5620
  }
5621
- const { providePathConfirmation } = await import("./tools-RGERQUMC.js");
5621
+ const { providePathConfirmation } = await import("./tools-NBBDVEXF.js");
5622
5622
  const result = providePathConfirmation(callId, approved, alwaysAllow);
5623
5623
  if (!result.found) {
5624
5624
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -5642,7 +5642,7 @@ async function createServerHandle(config) {
5642
5642
  if (!callId || !answer) {
5643
5643
  return res.status(400).json({ error: "callId and answer are required" });
5644
5644
  }
5645
- const { provideAnswer: provideAnswer2 } = await import("./tools-RGERQUMC.js");
5645
+ const { provideAnswer: provideAnswer2 } = await import("./tools-NBBDVEXF.js");
5646
5646
  const found = provideAnswer2(callId, answer);
5647
5647
  if (!found) {
5648
5648
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -5678,8 +5678,8 @@ async function createServerHandle(config) {
5678
5678
  if (!session) {
5679
5679
  return res.status(404).json({ error: "Session not found" });
5680
5680
  }
5681
- const { stopSessionExecution } = await import("./chat-handler-XORXAICJ.js");
5682
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-RGERQUMC.js");
5681
+ const { stopSessionExecution } = await import("./chat-handler-OH5GPGLH.js");
5682
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-NBBDVEXF.js");
5683
5683
  stopSessionExecution(sessionId, sessionManager);
5684
5684
  abortSession(sessionId);
5685
5685
  cancelQuestionsForSession(sessionId, "Session stopped by user");
@@ -6168,7 +6168,7 @@ async function createServerHandle(config) {
6168
6168
  providerManager
6169
6169
  );
6170
6170
  const wss = wssExports.wss;
6171
- const { QueueProcessor } = await import("./processor-I2NXOFPC.js");
6171
+ const { QueueProcessor } = await import("./processor-OHI5QJ6F.js");
6172
6172
  const queueProcessor = new QueueProcessor({
6173
6173
  sessionManager,
6174
6174
  providerManager,
@@ -6243,4 +6243,4 @@ export {
6243
6243
  createServerHandle,
6244
6244
  createServer
6245
6245
  };
6246
- //# sourceMappingURL=chunk-3Y3HDOT3.js.map
6246
+ //# sourceMappingURL=chunk-W7BC4WCC.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-AET6LELP.js";
4
+ } from "../chunk-M7INHE2B.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-AET6LELP.js";
4
+ } from "../chunk-M7INHE2B.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
@@ -3,7 +3,7 @@ import {
3
3
  runBuilderTurn,
4
4
  runChatTurn,
5
5
  runVerifierTurn
6
- } from "./chunk-ZSTL3GO6.js";
6
+ } from "./chunk-QIMHUO3E.js";
7
7
  import {
8
8
  TurnMetrics,
9
9
  createChatDoneEvent,
@@ -11,7 +11,7 @@ import {
11
11
  createMessageStartEvent,
12
12
  createToolCallEvent,
13
13
  createToolResultEvent
14
- } from "./chunk-NAONQLLT.js";
14
+ } from "./chunk-2IIQ7EZV.js";
15
15
  import "./chunk-OXI26S7U.js";
16
16
  import "./chunk-CMQCO27Y.js";
17
17
  import "./chunk-DL6ZILAF.js";
@@ -40,4 +40,4 @@ export {
40
40
  runChatTurn,
41
41
  runVerifierTurn
42
42
  };
43
- //# sourceMappingURL=orchestrator-4YKFENVV.js.map
43
+ //# sourceMappingURL=orchestrator-NSDEXVSR.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "1.6.83",
3
+ "version": "1.6.84",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -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-4YKFENVV.js");
180
+ const { runChatTurn } = await import("./orchestrator-NSDEXVSR.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-I2NXOFPC.js.map
224
+ //# sourceMappingURL=processor-OHI5QJ6F.js.map
@@ -87,6 +87,7 @@ interface MessageStats {
87
87
  totalTime: number;
88
88
  toolTime: number;
89
89
  prefillTokens: number;
90
+ prefTokenIncrement?: number;
90
91
  prefillSpeed: number;
91
92
  generationTokens: number;
92
93
  generationSpeed: number;
@@ -100,6 +101,7 @@ interface LLMCallStats {
100
101
  callIndex: number;
101
102
  promptTokens: number;
102
103
  completionTokens: number;
104
+ prefTokenIncrement?: number;
103
105
  ttft: number;
104
106
  completionTime: number;
105
107
  prefillSpeed: number;
@@ -6,9 +6,9 @@ import {
6
6
  import {
7
7
  VERSION,
8
8
  createServer
9
- } from "./chunk-3Y3HDOT3.js";
10
- import "./chunk-ZSTL3GO6.js";
11
- import "./chunk-NAONQLLT.js";
9
+ } from "./chunk-W7BC4WCC.js";
10
+ import "./chunk-QIMHUO3E.js";
11
+ import "./chunk-2IIQ7EZV.js";
12
12
  import "./chunk-OXI26S7U.js";
13
13
  import "./chunk-CMQCO27Y.js";
14
14
  import "./chunk-DL6ZILAF.js";
@@ -190,4 +190,4 @@ async function runServe(options) {
190
190
  export {
191
191
  runServe
192
192
  };
193
- //# sourceMappingURL=serve-IED7B4A5.js.map
193
+ //# sourceMappingURL=serve-IWRMBDPG.js.map
@@ -1,4 +1,4 @@
1
- import { aO as ToolCall, c as Attachment, T as Diagnostic, an as Provider, a8 as ModelConfig, aA as Session, aJ as SessionSummary, af as Project, aE as SessionMode, aG as SessionPhase, M as Message, K as Criterion, N as CriterionStatus, aw as QueuedMessage, G as ContextState, P as DangerLevel$1, ay as ServerMessage, aL as StatsIdentity, aR as ToolResult, E as Config } from '../protocol-DEXfLRbe.js';
1
+ import { aO as ToolCall, c as Attachment, T as Diagnostic, an as Provider, a8 as ModelConfig, aA as Session, aJ as SessionSummary, af as Project, aE as SessionMode, aG as SessionPhase, M as Message, K as Criterion, N as CriterionStatus, aw as QueuedMessage, G as ContextState, P as DangerLevel$1, ay as ServerMessage, aL as StatsIdentity, aR as ToolResult, E as Config } from '../protocol-C_BF6KDE.js';
2
2
  import { Server } from 'node:http';
3
3
 
4
4
  interface LLMMessage {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-3Y3HDOT3.js";
5
- import "../chunk-ZSTL3GO6.js";
6
- import "../chunk-NAONQLLT.js";
4
+ } from "../chunk-W7BC4WCC.js";
5
+ import "../chunk-QIMHUO3E.js";
6
+ import "../chunk-2IIQ7EZV.js";
7
7
  import "../chunk-OXI26S7U.js";
8
8
  import "../chunk-CMQCO27Y.js";
9
9
  import "../chunk-DL6ZILAF.js";
@@ -1,5 +1,5 @@
1
- import { M as Message, S as SessionStats } from '../protocol-DEXfLRbe.js';
2
- export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, c as Attachment, B as BackgroundProcess, d as BackgroundProcessExitedPayload, e as BackgroundProcessOutputPayload, f as BackgroundProcessRemovedPayload, g as BackgroundProcessStartedPayload, h as BackgroundProcessStatus, C as CallStatsDataPoint, i as ChatAskUserPayload, j as ChatDeltaPayload, k as ChatDonePayload, l as ChatErrorPayload, m as ChatFormatRetryPayload, n as ChatMessagePayload, o as ChatMessageUpdatedPayload, p as ChatPathConfirmationPayload, q as ChatProgressPayload, r as ChatSummaryPayload, s as ChatThinkingPayload, t as ChatTodoPayload, u as ChatToolCallPayload, v as ChatToolOutputPayload, w as ChatToolPreparingPayload, x as ChatToolResultPayload, y as ChatVisionFallbackPayload, z as ClientMessage, D as ClientMessageType, E as Config, F as ContextCompactionEvent, G as ContextState, H as ContextStatePayload, I as ContextWindow, J as CriteriaUpdatedPayload, K as Criterion, L as CriterionAttempt, N as CriterionStatus, O as CriterionValidation, P as DangerLevel, Q as DevServerOutputPayload, R as DevServerStatePayload, T as Diagnostic, U as EditContextEdit, V as EditContextLine, W as EditContextRegion, X as ElementData, Y as ErrorPayload, Z as ExecutionState, _ as FileReadEntry, $ as InjectedFile, a0 as LLMCallStats, a1 as LlmBackend, a2 as LogLine, a3 as LspDiagnosticsPayload, a4 as MessageRole, a5 as MessageSegment, a6 as MessageStats, a7 as ModeChangedPayload, a8 as ModelConfig, a9 as ModelSessionStats, aa as PathConfirmPayload, ab as PathConfirmationReason, ac as PendingPathConfirmationPayload, ad as PhaseChangedPayload, ae as PreparingToolCall, af as Project, ag as ProjectDeletedPayload, ah as ProjectListPayload, ai as ProjectStatePayload, aj as PromptContext, ak as PromptContextMessage, al as PromptContextTool, am as PromptRequestOptions, an as Provider, ao as ProviderBackend, ap as ProviderChangedPayload, aq as QueueAddedEvent, ar as QueueCancelledEvent, as as QueueDrainedEvent, at as QueueEvent, au as QueueEventType, av as QueueStatePayload, aw as QueuedMessage, ax as RecentUserPrompt, ay as ServerMessage, az as ServerMessageType, aA as Session, aB as SessionListPayload, aC as SessionLoadPayload, aD as SessionMetadata, aE as SessionMode, aF as SessionNameGeneratedPayload, aG as SessionPhase, aH as SessionRunningPayload, aI as SessionStatePayload, aJ as SessionSummary, aK as StatsDataPoint, aL as StatsIdentity, aM as TaskCompletedPayload, aN as Todo, aO as ToolCall, aP as ToolMode, aQ as ToolName, aR as ToolResult, aS as ValidationResult, aT as createClientMessage, aU as createServerMessage, aV as isClientMessage, aW as isServerMessage } from '../protocol-DEXfLRbe.js';
1
+ import { M as Message, S as SessionStats } from '../protocol-C_BF6KDE.js';
2
+ export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, c as Attachment, B as BackgroundProcess, d as BackgroundProcessExitedPayload, e as BackgroundProcessOutputPayload, f as BackgroundProcessRemovedPayload, g as BackgroundProcessStartedPayload, h as BackgroundProcessStatus, C as CallStatsDataPoint, i as ChatAskUserPayload, j as ChatDeltaPayload, k as ChatDonePayload, l as ChatErrorPayload, m as ChatFormatRetryPayload, n as ChatMessagePayload, o as ChatMessageUpdatedPayload, p as ChatPathConfirmationPayload, q as ChatProgressPayload, r as ChatSummaryPayload, s as ChatThinkingPayload, t as ChatTodoPayload, u as ChatToolCallPayload, v as ChatToolOutputPayload, w as ChatToolPreparingPayload, x as ChatToolResultPayload, y as ChatVisionFallbackPayload, z as ClientMessage, D as ClientMessageType, E as Config, F as ContextCompactionEvent, G as ContextState, H as ContextStatePayload, I as ContextWindow, J as CriteriaUpdatedPayload, K as Criterion, L as CriterionAttempt, N as CriterionStatus, O as CriterionValidation, P as DangerLevel, Q as DevServerOutputPayload, R as DevServerStatePayload, T as Diagnostic, U as EditContextEdit, V as EditContextLine, W as EditContextRegion, X as ElementData, Y as ErrorPayload, Z as ExecutionState, _ as FileReadEntry, $ as InjectedFile, a0 as LLMCallStats, a1 as LlmBackend, a2 as LogLine, a3 as LspDiagnosticsPayload, a4 as MessageRole, a5 as MessageSegment, a6 as MessageStats, a7 as ModeChangedPayload, a8 as ModelConfig, a9 as ModelSessionStats, aa as PathConfirmPayload, ab as PathConfirmationReason, ac as PendingPathConfirmationPayload, ad as PhaseChangedPayload, ae as PreparingToolCall, af as Project, ag as ProjectDeletedPayload, ah as ProjectListPayload, ai as ProjectStatePayload, aj as PromptContext, ak as PromptContextMessage, al as PromptContextTool, am as PromptRequestOptions, an as Provider, ao as ProviderBackend, ap as ProviderChangedPayload, aq as QueueAddedEvent, ar as QueueCancelledEvent, as as QueueDrainedEvent, at as QueueEvent, au as QueueEventType, av as QueueStatePayload, aw as QueuedMessage, ax as RecentUserPrompt, ay as ServerMessage, az as ServerMessageType, aA as Session, aB as SessionListPayload, aC as SessionLoadPayload, aD as SessionMetadata, aE as SessionMode, aF as SessionNameGeneratedPayload, aG as SessionPhase, aH as SessionRunningPayload, aI as SessionStatePayload, aJ as SessionSummary, aK as StatsDataPoint, aL as StatsIdentity, aM as TaskCompletedPayload, aN as Todo, aO as ToolCall, aP as ToolMode, aQ as ToolName, aR as ToolResult, aS as ValidationResult, aT as createClientMessage, aU as createServerMessage, aV as isClientMessage, aW as isServerMessage } from '../protocol-C_BF6KDE.js';
3
3
 
4
4
  /**
5
5
  * Session stats computation - aggregates response-level MessageStats from
@@ -11,7 +11,7 @@ import {
11
11
  requestPathAccess,
12
12
  stepDoneTool,
13
13
  validateToolAction
14
- } from "./chunk-NAONQLLT.js";
14
+ } from "./chunk-2IIQ7EZV.js";
15
15
  import "./chunk-OXI26S7U.js";
16
16
  import "./chunk-CMQCO27Y.js";
17
17
  import "./chunk-DL6ZILAF.js";
@@ -49,4 +49,4 @@ export {
49
49
  stepDoneTool,
50
50
  validateToolAction
51
51
  };
52
- //# sourceMappingURL=tools-RGERQUMC.js.map
52
+ //# sourceMappingURL=tools-NBBDVEXF.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "1.6.83",
3
+ "version": "1.6.84",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {