openfox 2.0.79 → 2.0.81

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 (48) hide show
  1. package/dist/{chat-handler-5ZHPYU24.js → chat-handler-NRJWHZB2.js} +12 -12
  2. package/dist/{chunk-UIU7OGHP.js → chunk-3Q5WQMPA.js} +4 -4
  3. package/dist/{chunk-NZIYELSQ.js → chunk-4GMRZU7A.js} +2 -2
  4. package/dist/{chunk-TSVFRWSG.js → chunk-A2IZ4PWQ.js} +8 -5
  5. package/dist/{chunk-5CQRB7AD.js → chunk-AIIFQYU5.js} +2 -2
  6. package/dist/{chunk-M7EFXRDS.js → chunk-BUXIESO5.js} +5 -5
  7. package/dist/{chunk-SGBXBP3S.js → chunk-D25OSL6V.js} +31 -58
  8. package/dist/{chunk-WUSWNLTV.js → chunk-E3MS5CF7.js} +12 -9
  9. package/dist/{chunk-VGWJFXPR.js → chunk-EZDTCQMR.js} +9 -9
  10. package/dist/{chunk-YFVSSMA3.js → chunk-NH2PVB6R.js} +19 -20
  11. package/dist/{chunk-DI4SIPFT.js → chunk-NLMT2HII.js} +10 -10
  12. package/dist/{chunk-TO66LKWD.js → chunk-PVO2XVLV.js} +72 -64
  13. package/dist/{chunk-EHVDAVYG.js → chunk-QHLWWQRC.js} +2 -2
  14. package/dist/chunk-UP5CYTEC.js +7 -0
  15. package/dist/{chunk-MTUYDBSL.js → chunk-VZYC5OLW.js} +2 -2
  16. package/dist/{chunk-AFJLY43Z.js → chunk-WYJTY63G.js} +5 -3
  17. package/dist/{chunk-ANDWLNG4.js → chunk-XW7BCI3O.js} +7 -7
  18. package/dist/cli/dev.js +1 -1
  19. package/dist/cli/index.js +1 -1
  20. package/dist/{compactor-G7B3V24F.js → compactor-3UHLN554.js} +11 -9
  21. package/dist/{config-MD74ETY5.js → config-EN3WEH4A.js} +2 -2
  22. package/dist/{events-KNOZX7YG.js → events-GF2WNELM.js} +3 -3
  23. package/dist/{folding-OPP2BVUB.js → folding-UACKBHUZ.js} +2 -2
  24. package/dist/{manager-ATWZUL3O.js → manager-FIE2LCGJ.js} +4 -4
  25. package/dist/{orchestrator-L6LX5BV7.js → orchestrator-KOL34NS2.js} +11 -11
  26. package/dist/package.json +1 -1
  27. package/dist/{path-security-HUXQHEQ5.js → path-security-EKTUMDJW.js} +4 -4
  28. package/dist/{platform-VBNNMTR5.js → platform-KME5DVX5.js} +3 -3
  29. package/dist/{processor-UQX5KL56.js → processor-S3SDZHQC.js} +12 -12
  30. package/dist/{protocol-BXxJmsOW.d.ts → protocol-9WP7lLec.d.ts} +1 -1
  31. package/dist/provider/index.d.ts +4 -4
  32. package/dist/{provider-PI3RDDE4.js → provider-TIZV4IFE.js} +3 -3
  33. package/dist/{serve-QLVPUEB7.js → serve-PESDYZZP.js} +15 -15
  34. package/dist/server/index.d.ts +4 -3
  35. package/dist/server/index.js +14 -14
  36. package/dist/{server-3XUD2NB7.js → server-LWXTOEIJ.js} +13 -13
  37. package/dist/{settings-6M55N4Q2.js → settings-DMYBLBDQ.js} +2 -2
  38. package/dist/shared/index.d.ts +3 -3
  39. package/dist/{tools-HGKUD327.js → tools-FZ7HWHOW.js} +10 -10
  40. package/dist/{types-o07LJcLI.d.ts → types-BtY5XChg.d.ts} +1 -1
  41. package/dist/{types-C308SU4B.d.ts → types-ulRvCqQX.d.ts} +1 -0
  42. package/dist/{update-NUDIMJ4Q.js → update-SVJRA6YZ.js} +2 -2
  43. package/dist/web/assets/{index-BbJqmNad.js → index-BkC11Dy_.js} +58 -58
  44. package/dist/web/assets/{index-CiC9LOc0.css → index-CO9RvnPX.css} +1 -1
  45. package/dist/web/index.html +2 -2
  46. package/dist/web/sw.js +1 -1
  47. package/package.json +1 -1
  48. package/dist/chunk-BRRABRLV.js +0 -7
@@ -21,7 +21,7 @@ import {
21
21
  tokenFromPassword,
22
22
  verifyPassword,
23
23
  workflowExists
24
- } from "./chunk-DI4SIPFT.js";
24
+ } from "./chunk-NLMT2HII.js";
25
25
  import {
26
26
  agentExists,
27
27
  createToolRegistry,
@@ -66,7 +66,7 @@ import {
66
66
  setSkillEnabled,
67
67
  skillExists,
68
68
  updateOwnedSkill
69
- } from "./chunk-SGBXBP3S.js";
69
+ } from "./chunk-D25OSL6V.js";
70
70
  import {
71
71
  createMcpTools
72
72
  } from "./chunk-NWO6GRYE.js";
@@ -93,22 +93,22 @@ import {
93
93
  ALWAYS_ALLOWED,
94
94
  ALWAYS_ALLOWED_FOR_SUBAGENTS,
95
95
  TOP_LEVEL_ONLY_TOOLS
96
- } from "./chunk-EHVDAVYG.js";
96
+ } from "./chunk-QHLWWQRC.js";
97
97
  import {
98
98
  getPathSeparator,
99
99
  isAbsolutePath
100
- } from "./chunk-MTUYDBSL.js";
100
+ } from "./chunk-VZYC5OLW.js";
101
101
  import {
102
102
  deleteSetting,
103
103
  getSetting,
104
104
  setSetting
105
- } from "./chunk-AFJLY43Z.js";
105
+ } from "./chunk-WYJTY63G.js";
106
106
  import {
107
107
  getProject
108
108
  } from "./chunk-6AE3JPDJ.js";
109
109
  import {
110
110
  VERSION
111
- } from "./chunk-BRRABRLV.js";
111
+ } from "./chunk-UP5CYTEC.js";
112
112
  import {
113
113
  emitAssistantMessageStart,
114
114
  emitContextState,
@@ -124,7 +124,7 @@ import {
124
124
  getSessionState,
125
125
  initEventStore,
126
126
  setRuntimeConfig
127
- } from "./chunk-M7EFXRDS.js";
127
+ } from "./chunk-BUXIESO5.js";
128
128
  import {
129
129
  createSession,
130
130
  deleteSession,
@@ -2630,6 +2630,13 @@ var SessionManager = class {
2630
2630
  getCurrentModelContext() {
2631
2631
  return this.providerManager.getCurrentModelContext();
2632
2632
  }
2633
+ getModelCompactionThreshold(sessionId) {
2634
+ const session = this.getSession(sessionId);
2635
+ const providerId = session?.providerId ?? this.providerManager.getActiveProviderId();
2636
+ const modelId = session?.providerModel ?? this.providerManager.getCurrentModel();
2637
+ if (!providerId || !modelId) return void 0;
2638
+ return this.providerManager.getProviders().find((provider) => provider.id === providerId)?.models.find((model) => model.id === modelId)?.compactionThreshold;
2639
+ }
2633
2640
  /**
2634
2641
  * Get the effective working directory for a session.
2635
2642
  * Uses workspace path when active, otherwise the project workdir.
@@ -3527,11 +3534,11 @@ All file and git operations should use this directory.
3527
3534
  */
3528
3535
  buildSessionFromDb(dbSession) {
3529
3536
  const maxTokens = this.providerManager.getCurrentModelContext();
3530
- const eventState = getSessionState(dbSession.id, maxTokens);
3537
+ const eventState = getSessionState(dbSession.id, maxTokens, dbSession.mode);
3531
3538
  if (!eventState) {
3532
3539
  return {
3533
3540
  ...dbSession,
3534
- mode: "planner",
3541
+ mode: dbSession.mode,
3535
3542
  phase: "plan",
3536
3543
  isRunning: dbSession.isRunning,
3537
3544
  messages: [],
@@ -4857,7 +4864,7 @@ function createProviderAuthRoutes(config3, providerManager, registry) {
4857
4864
  try {
4858
4865
  const { challenge, completion } = await adapter.beginLogin({ providerId: provider.id });
4859
4866
  void completion.then(async ({ credentialRef }) => {
4860
- const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-MD74ETY5.js");
4867
+ const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-EN3WEH4A.js");
4861
4868
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
4862
4869
  const updatedConfig = updateProvider(globalConfig, provider.id, { credentialRef, authAdapter: adapter.id });
4863
4870
  await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
@@ -4891,7 +4898,7 @@ function createProviderAuthRoutes(config3, providerManager, registry) {
4891
4898
  if (!context) return;
4892
4899
  const { provider, adapter } = context;
4893
4900
  if (provider.credentialRef && adapter) await adapter.logout(provider.credentialRef);
4894
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-MD74ETY5.js");
4901
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-EN3WEH4A.js");
4895
4902
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
4896
4903
  const updatedConfig = {
4897
4904
  ...globalConfig,
@@ -5371,7 +5378,7 @@ async function createServerHandle(config3) {
5371
5378
  const mcpManager = new McpManager({
5372
5379
  onToolsDiscovered: async (name, tools) => {
5373
5380
  try {
5374
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-MD74ETY5.js");
5381
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-EN3WEH4A.js");
5375
5382
  const mode = config3.mode ?? "production";
5376
5383
  const globalConfig = await loadGlobalConfig(mode, config3.globalConfigPath);
5377
5384
  const mcpServers2 = {
@@ -5402,7 +5409,7 @@ async function createServerHandle(config3) {
5402
5409
  setMcpTools(mcpTools);
5403
5410
  logger.info("MCP tools registered", { count: mcpTools.length });
5404
5411
  }
5405
- const { signalMcpReady } = await import("./server-3XUD2NB7.js");
5412
+ const { signalMcpReady } = await import("./server-LWXTOEIJ.js");
5406
5413
  signalMcpReady();
5407
5414
  });
5408
5415
  const app = express();
@@ -5699,8 +5706,8 @@ async function createServerHandle(config3) {
5699
5706
  res.json({ workspaces: workspacesList });
5700
5707
  });
5701
5708
  app.get("/api/sessions", async (req, res) => {
5702
- const { getRecentUserPromptsForSession } = await import("./events-KNOZX7YG.js");
5703
- const { getPendingConfirmationsBySession } = await import("./path-security-HUXQHEQ5.js");
5709
+ const { getRecentUserPromptsForSession } = await import("./events-GF2WNELM.js");
5710
+ const { getPendingConfirmationsBySession } = await import("./path-security-EKTUMDJW.js");
5704
5711
  const projectId = req.query["projectId"];
5705
5712
  const limit = Math.min(parseInt(req.query["limit"]) || 20, 100);
5706
5713
  const offset = parseInt(req.query["offset"]) || 0;
@@ -5788,10 +5795,10 @@ async function createServerHandle(config3) {
5788
5795
  }
5789
5796
  });
5790
5797
  app.get("/api/sessions/:id", async (req, res) => {
5791
- const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-KNOZX7YG.js");
5792
- const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-OPP2BVUB.js");
5793
- const { getPendingQuestionsForSession } = await import("./tools-HGKUD327.js");
5794
- const { getMaxVisibleItems } = await import("./settings-6M55N4Q2.js");
5798
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-GF2WNELM.js");
5799
+ const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-UACKBHUZ.js");
5800
+ const { getPendingQuestionsForSession } = await import("./tools-FZ7HWHOW.js");
5801
+ const { getMaxVisibleItems } = await import("./settings-DMYBLBDQ.js");
5795
5802
  const session = sessionManager.getSession(req.params.id);
5796
5803
  if (!session) {
5797
5804
  return res.status(404).json({ error: "Session not found" });
@@ -5821,8 +5828,8 @@ async function createServerHandle(config3) {
5821
5828
  if (!session) {
5822
5829
  return res.status(404).json({ error: "Session not found" });
5823
5830
  }
5824
- const { stopSessionExecution } = await import("./chat-handler-5ZHPYU24.js");
5825
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-HGKUD327.js");
5831
+ const { stopSessionExecution } = await import("./chat-handler-NRJWHZB2.js");
5832
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-FZ7HWHOW.js");
5826
5833
  sessionManager.clearMessageQueue(sessionId);
5827
5834
  stopSessionExecution(sessionId, sessionManager);
5828
5835
  abortSession(sessionId);
@@ -5851,9 +5858,9 @@ async function createServerHandle(config3) {
5851
5858
  res.json({ success: true });
5852
5859
  });
5853
5860
  app.post("/api/sessions/:id/provider", async (req, res) => {
5854
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-KNOZX7YG.js");
5855
- const { buildMessagesFromStoredEvents } = await import("./folding-OPP2BVUB.js");
5856
- const { getMaxVisibleItems } = await import("./settings-6M55N4Q2.js");
5861
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-GF2WNELM.js");
5862
+ const { buildMessagesFromStoredEvents } = await import("./folding-UACKBHUZ.js");
5863
+ const { getMaxVisibleItems } = await import("./settings-DMYBLBDQ.js");
5857
5864
  const sessionId = req.params.id;
5858
5865
  const session = sessionManager.getSession(sessionId);
5859
5866
  if (!session) {
@@ -5888,7 +5895,7 @@ async function createServerHandle(config3) {
5888
5895
  if (!result.success) {
5889
5896
  return res.status(500).json({ error: result.error ?? "Failed to set default model" });
5890
5897
  }
5891
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-MD74ETY5.js");
5898
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-EN3WEH4A.js");
5892
5899
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
5893
5900
  const updatedConfig = setDefaultModelSelection(globalConfig, providerId, model);
5894
5901
  await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
@@ -5966,9 +5973,9 @@ async function createServerHandle(config3) {
5966
5973
  res.json({ success: true });
5967
5974
  });
5968
5975
  app.put("/api/sessions/:id/mode", async (req, res) => {
5969
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-KNOZX7YG.js");
5970
- const { buildMessagesFromStoredEvents } = await import("./folding-OPP2BVUB.js");
5971
- const { getMaxVisibleItems } = await import("./settings-6M55N4Q2.js");
5976
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-GF2WNELM.js");
5977
+ const { buildMessagesFromStoredEvents } = await import("./folding-UACKBHUZ.js");
5978
+ const { getMaxVisibleItems } = await import("./settings-DMYBLBDQ.js");
5972
5979
  const sessionId = req.params.id;
5973
5980
  const session = sessionManager.getSession(sessionId);
5974
5981
  if (!session) {
@@ -6029,7 +6036,7 @@ async function createServerHandle(config3) {
6029
6036
  if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
6030
6037
  return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
6031
6038
  }
6032
- const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-HGKUD327.js");
6039
+ const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-FZ7HWHOW.js");
6033
6040
  const pendingSessionId = getConfirmationSessionId(callId);
6034
6041
  if (!pendingSessionId) {
6035
6042
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -6041,11 +6048,11 @@ async function createServerHandle(config3) {
6041
6048
  if (!result.found) {
6042
6049
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
6043
6050
  }
6044
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-KNOZX7YG.js");
6045
- const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-OPP2BVUB.js");
6051
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-GF2WNELM.js");
6052
+ const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-UACKBHUZ.js");
6046
6053
  const { createSessionStateMessage } = await import("./protocol-Q7X4NEME.js");
6047
- const { getPendingQuestionsForSession } = await import("./tools-HGKUD327.js");
6048
- const { getMaxVisibleItems } = await import("./settings-6M55N4Q2.js");
6054
+ const { getPendingQuestionsForSession } = await import("./tools-FZ7HWHOW.js");
6055
+ const { getMaxVisibleItems } = await import("./settings-DMYBLBDQ.js");
6049
6056
  const eventStore = getEventStore2();
6050
6057
  const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
6051
6058
  const events = combineEvents(sessionId, snapshot, eventsSinceSnapshot);
@@ -6081,7 +6088,7 @@ async function createServerHandle(config3) {
6081
6088
  if (!skip && typeof answer !== "string") {
6082
6089
  return res.status(400).json({ error: "answer is required when not skipping" });
6083
6090
  }
6084
- const { provideAnswer } = await import("./tools-HGKUD327.js");
6091
+ const { provideAnswer } = await import("./tools-FZ7HWHOW.js");
6085
6092
  const found = provideAnswer(callId, answer ?? "", skip ?? false);
6086
6093
  if (!found) {
6087
6094
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -6109,7 +6116,7 @@ async function createServerHandle(config3) {
6109
6116
  if (!session) {
6110
6117
  return res.status(404).json({ error: "Session not found" });
6111
6118
  }
6112
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-6M55N4Q2.js");
6119
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-DMYBLBDQ.js");
6113
6120
  if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
6114
6121
  return res.json({ success: false, reason: "disabled" });
6115
6122
  }
@@ -6141,7 +6148,7 @@ async function createServerHandle(config3) {
6141
6148
  backend: activeProvider?.backend ?? llmClient.getBackend(),
6142
6149
  model: llmClient.getModel()
6143
6150
  };
6144
- const { runAgentTurn, TurnMetrics } = await import("./orchestrator-L6LX5BV7.js");
6151
+ const { runAgentTurn, TurnMetrics } = await import("./orchestrator-KOL34NS2.js");
6145
6152
  runAgentTurn(
6146
6153
  {
6147
6154
  sessionManager,
@@ -6179,15 +6186,15 @@ async function createServerHandle(config3) {
6179
6186
  if (!session) {
6180
6187
  return res.status(404).json({ error: "Session not found" });
6181
6188
  }
6182
- const { stopSessionExecution } = await import("./chat-handler-5ZHPYU24.js");
6183
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-HGKUD327.js");
6189
+ const { stopSessionExecution } = await import("./chat-handler-NRJWHZB2.js");
6190
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-FZ7HWHOW.js");
6184
6191
  const queuedMessages = sessionManager.getQueueState(sessionId);
6185
6192
  sessionManager.clearMessageQueue(sessionId);
6186
6193
  stopSessionExecution(sessionId, sessionManager);
6187
6194
  abortSession(sessionId);
6188
6195
  cancelQuestionsForSession(sessionId, "Session stopped by user");
6189
6196
  cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
6190
- const eventStore = (await import("./events-KNOZX7YG.js")).getEventStore();
6197
+ const eventStore = (await import("./events-GF2WNELM.js")).getEventStore();
6191
6198
  eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
6192
6199
  res.json({ success: true, queuedMessages });
6193
6200
  });
@@ -6201,7 +6208,7 @@ async function createServerHandle(config3) {
6201
6208
  if (typeof messageIndex !== "number" || messageIndex < 0) {
6202
6209
  return res.status(400).json({ error: "messageIndex must be a non-negative number" });
6203
6210
  }
6204
- const { truncateSessionMessages } = await import("./events-KNOZX7YG.js");
6211
+ const { truncateSessionMessages } = await import("./events-GF2WNELM.js");
6205
6212
  truncateSessionMessages(sessionId, messageIndex);
6206
6213
  res.json({ success: true });
6207
6214
  });
@@ -6218,8 +6225,8 @@ async function createServerHandle(config3) {
6218
6225
  if (content !== void 0 && (typeof content !== "string" || !content.trim())) {
6219
6226
  return res.status(400).json({ error: "content must be a non-empty string if provided" });
6220
6227
  }
6221
- const { getEventStore: getEventStore2 } = await import("./events-KNOZX7YG.js");
6222
- const { buildMessagesFromStoredEvents } = await import("./folding-OPP2BVUB.js");
6228
+ const { getEventStore: getEventStore2 } = await import("./events-GF2WNELM.js");
6229
+ const { buildMessagesFromStoredEvents } = await import("./folding-UACKBHUZ.js");
6223
6230
  const eventStore = getEventStore2();
6224
6231
  const events = eventStore.getEvents(sessionId);
6225
6232
  const { messages } = buildMessagesFromStoredEvents(events);
@@ -6231,7 +6238,7 @@ async function createServerHandle(config3) {
6231
6238
  if (msg.role !== "user" || msg.isSystemGenerated) {
6232
6239
  return res.status(400).json({ error: "Can only replay user messages" });
6233
6240
  }
6234
- const { truncateSessionMessages } = await import("./events-KNOZX7YG.js");
6241
+ const { truncateSessionMessages } = await import("./events-GF2WNELM.js");
6235
6242
  truncateSessionMessages(sessionId, msgIndex - 1);
6236
6243
  sessionManager.queueMessage(sessionId, "asap", content ?? msg.content, msg.attachments, msg.messageKind);
6237
6244
  res.json({ success: true });
@@ -6263,7 +6270,7 @@ async function createServerHandle(config3) {
6263
6270
  res.json({ accepted: true });
6264
6271
  });
6265
6272
  app.get("/api/settings", async (req, res) => {
6266
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-6M55N4Q2.js");
6273
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-DMYBLBDQ.js");
6267
6274
  const keysParam = req.query["keys"];
6268
6275
  if (!keysParam) {
6269
6276
  return res.status(400).json({ error: "keys query parameter is required" });
@@ -6276,19 +6283,19 @@ async function createServerHandle(config3) {
6276
6283
  res.json(result);
6277
6284
  });
6278
6285
  app.get("/api/settings/:key", async (req, res) => {
6279
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-6M55N4Q2.js");
6286
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-DMYBLBDQ.js");
6280
6287
  const key = req.params.key;
6281
6288
  const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
6282
6289
  res.json({ key, value });
6283
6290
  });
6284
6291
  app.get("/api/settings/:key", async (req, res) => {
6285
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-6M55N4Q2.js");
6292
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-DMYBLBDQ.js");
6286
6293
  const key = req.params.key;
6287
6294
  const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
6288
6295
  res.json({ key, value });
6289
6296
  });
6290
6297
  app.put("/api/settings/:key", async (req, res) => {
6291
- const { setSetting: setSetting2 } = await import("./settings-6M55N4Q2.js");
6298
+ const { setSetting: setSetting2 } = await import("./settings-DMYBLBDQ.js");
6292
6299
  const key = req.params.key;
6293
6300
  const { value } = req.body;
6294
6301
  if (value === void 0) {
@@ -6315,7 +6322,7 @@ async function createServerHandle(config3) {
6315
6322
  }
6316
6323
  });
6317
6324
  app.get("/api/tools/shells", async (_req, res) => {
6318
- const { listAvailableShells } = await import("./platform-VBNNMTR5.js");
6325
+ const { listAvailableShells } = await import("./platform-KME5DVX5.js");
6319
6326
  res.json({ shells: listAvailableShells() });
6320
6327
  });
6321
6328
  app.get("/api/config", async (_req, res) => {
@@ -6324,7 +6331,7 @@ async function createServerHandle(config3) {
6324
6331
  let visionFallback;
6325
6332
  let globalWorkdir;
6326
6333
  try {
6327
- const { loadGlobalConfig, getVisionFallback } = await import("./config-MD74ETY5.js");
6334
+ const { loadGlobalConfig, getVisionFallback } = await import("./config-EN3WEH4A.js");
6328
6335
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6329
6336
  const fallback = getVisionFallback(globalConfig);
6330
6337
  if (fallback) {
@@ -6399,6 +6406,7 @@ async function createServerHandle(config3) {
6399
6406
  ...m.topP !== void 0 && { topP: m.topP },
6400
6407
  ...m.topK !== void 0 && { topK: m.topK },
6401
6408
  ...m.maxTokens !== void 0 && { maxTokens: m.maxTokens },
6409
+ ...m.compactionThreshold !== void 0 && { compactionThreshold: m.compactionThreshold },
6402
6410
  ...m.selected !== void 0 && { selected: m.selected }
6403
6411
  }));
6404
6412
  }
@@ -6618,7 +6626,7 @@ async function createServerHandle(config3) {
6618
6626
  return res.status(400).json({ error: "name, url, and backend are required" });
6619
6627
  }
6620
6628
  try {
6621
- const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-MD74ETY5.js");
6629
+ const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-EN3WEH4A.js");
6622
6630
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6623
6631
  const providerBackend = backend;
6624
6632
  const providerModels = modelConfigs?.length ? buildModelConfigs(modelConfigs) : model ? [{ id: model, contextWindow: 2e5, source: "user" }] : [];
@@ -6658,7 +6666,7 @@ async function createServerHandle(config3) {
6658
6666
  app.post("/api/init/config", async (req, res) => {
6659
6667
  const { workdir, visionFallback } = req.body;
6660
6668
  try {
6661
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-MD74ETY5.js");
6669
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-EN3WEH4A.js");
6662
6670
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6663
6671
  const updatedConfig = {
6664
6672
  ...globalConfig,
@@ -6697,7 +6705,7 @@ async function createServerHandle(config3) {
6697
6705
  });
6698
6706
  app.delete("/api/providers/:id", async (req, res) => {
6699
6707
  const { id } = req.params;
6700
- const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-MD74ETY5.js");
6708
+ const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-EN3WEH4A.js");
6701
6709
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6702
6710
  const updatedConfig = removeProvider(globalConfig, id);
6703
6711
  await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
@@ -6709,7 +6717,7 @@ async function createServerHandle(config3) {
6709
6717
  const { id } = req.params;
6710
6718
  const { isLocal } = req.body;
6711
6719
  try {
6712
- const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-MD74ETY5.js");
6720
+ const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-EN3WEH4A.js");
6713
6721
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6714
6722
  const provider = globalConfig.providers.find((p) => p.id === id);
6715
6723
  if (!provider) {
@@ -6740,7 +6748,7 @@ async function createServerHandle(config3) {
6740
6748
  transportAdapter
6741
6749
  } = req.body;
6742
6750
  try {
6743
- const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-MD74ETY5.js");
6751
+ const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-EN3WEH4A.js");
6744
6752
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6745
6753
  const provider = globalConfig.providers.find((p) => p.id === id);
6746
6754
  if (!provider) {
@@ -6780,7 +6788,7 @@ async function createServerHandle(config3) {
6780
6788
  return res.status(400).json({ error: result.error });
6781
6789
  }
6782
6790
  const llmClient = getLLMClient();
6783
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-MD74ETY5.js");
6791
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-EN3WEH4A.js");
6784
6792
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6785
6793
  const updatedConfig = setDefaultModelSelection(globalConfig, id, llmClient.getModel());
6786
6794
  await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
@@ -6807,7 +6815,7 @@ async function createServerHandle(config3) {
6807
6815
  });
6808
6816
  async function rebuildMcpTools() {
6809
6817
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-MOGEI6TP.js");
6810
- const { setMcpTools: setMcpTools2 } = await import("./tools-HGKUD327.js");
6818
+ const { setMcpTools: setMcpTools2 } = await import("./tools-FZ7HWHOW.js");
6811
6819
  const mcpTools = createMcpTools2(mcpManager);
6812
6820
  setMcpTools2(mcpTools);
6813
6821
  }
@@ -6877,7 +6885,7 @@ async function createServerHandle(config3) {
6877
6885
  };
6878
6886
  await mcpManager.addServer(name, serverCfg);
6879
6887
  const server = mcpManager.getServer(name);
6880
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-MD74ETY5.js");
6888
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-EN3WEH4A.js");
6881
6889
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6882
6890
  const updatedMcpServers = { ...globalConfig.mcpServers ?? {}, [name]: serverCfg };
6883
6891
  await saveGlobalConfig(
@@ -6930,7 +6938,7 @@ async function createServerHandle(config3) {
6930
6938
  return res.status(400).json({ error: "timeout must be a positive number" });
6931
6939
  }
6932
6940
  try {
6933
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-MD74ETY5.js");
6941
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-EN3WEH4A.js");
6934
6942
  const { applyMcpServerUpdate } = await import("./update-server-V6GJ43WH.js");
6935
6943
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6936
6944
  const mcpServers2 = { ...globalConfig.mcpServers ?? {} };
@@ -6974,7 +6982,7 @@ async function createServerHandle(config3) {
6974
6982
  return res.status(404).json({ error: `MCP server '${name}' not found` });
6975
6983
  }
6976
6984
  mcpManager.removeServer(name);
6977
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-MD74ETY5.js");
6985
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-EN3WEH4A.js");
6978
6986
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6979
6987
  const updatedMcpServers = { ...globalConfig.mcpServers ?? {} };
6980
6988
  delete updatedMcpServers[name];
@@ -7003,7 +7011,7 @@ async function createServerHandle(config3) {
7003
7011
  await mcpManager.setToolEnabled(name, toolName, enabled);
7004
7012
  const server = mcpManager.getServer(name);
7005
7013
  if (server) {
7006
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-MD74ETY5.js");
7014
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-EN3WEH4A.js");
7007
7015
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
7008
7016
  const mcpServers2 = { ...globalConfig.mcpServers ?? {} };
7009
7017
  const serverCfg = mcpServers2[name];
@@ -7054,13 +7062,13 @@ async function createServerHandle(config3) {
7054
7062
  })
7055
7063
  );
7056
7064
  app.get("/api/sessions/:id/background-processes", async (req, res) => {
7057
- const { getSessionProcesses } = await import("./manager-ATWZUL3O.js");
7065
+ const { getSessionProcesses } = await import("./manager-FIE2LCGJ.js");
7058
7066
  const sessionId = req.params.id;
7059
7067
  const processes = getSessionProcesses(sessionId);
7060
7068
  res.json({ processes });
7061
7069
  });
7062
7070
  app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
7063
- const { stopProcess } = await import("./manager-ATWZUL3O.js");
7071
+ const { stopProcess } = await import("./manager-FIE2LCGJ.js");
7064
7072
  const sessionId = req.params.id;
7065
7073
  const processId = req.params.processId;
7066
7074
  const session = sessionManager.getSession(sessionId);
@@ -7203,7 +7211,7 @@ async function createServerHandle(config3) {
7203
7211
  const state = sessionManager.getContextState(sessionId);
7204
7212
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
7205
7213
  });
7206
- const { QueueProcessor } = await import("./processor-UQX5KL56.js");
7214
+ const { QueueProcessor } = await import("./processor-S3SDZHQC.js");
7207
7215
  const queueProcessor = new QueueProcessor({
7208
7216
  sessionManager,
7209
7217
  providerManager,
@@ -7283,4 +7291,4 @@ export {
7283
7291
  createServerHandle,
7284
7292
  createServer
7285
7293
  };
7286
- //# sourceMappingURL=chunk-TO66LKWD.js.map
7294
+ //# sourceMappingURL=chunk-PVO2XVLV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getPlatformShell
3
- } from "./chunk-MTUYDBSL.js";
3
+ } from "./chunk-VZYC5OLW.js";
4
4
  import {
5
5
  streamWithSegments
6
6
  } from "./chunk-J2GP3J3X.js";
@@ -680,4 +680,4 @@ export {
680
680
  createChatDoneEvent,
681
681
  consumeStreamGenerator
682
682
  };
683
- //# sourceMappingURL=chunk-EHVDAVYG.js.map
683
+ //# sourceMappingURL=chunk-QHLWWQRC.js.map
@@ -0,0 +1,7 @@
1
+ // src/constants.ts
2
+ var VERSION = "2.0.81";
3
+
4
+ export {
5
+ VERSION
6
+ };
7
+ //# sourceMappingURL=chunk-UP5CYTEC.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SETTINGS_KEYS,
3
3
  getSetting
4
- } from "./chunk-AFJLY43Z.js";
4
+ } from "./chunk-WYJTY63G.js";
5
5
 
6
6
  // src/server/utils/platform.ts
7
7
  import os from "os";
@@ -63,4 +63,4 @@ export {
63
63
  isWindowsPath,
64
64
  isAbsolutePath
65
65
  };
66
- //# sourceMappingURL=chunk-MTUYDBSL.js.map
66
+ //# sourceMappingURL=chunk-VZYC5OLW.js.map
@@ -26,7 +26,8 @@ var SETTINGS_KEYS = {
26
26
  SEARCH_SEARXNG_URL: "search.searxngUrl",
27
27
  SEARCH_SEARXNG_API_KEY: "search.searxngApiKey",
28
28
  TOOLS_USE_RTK: "tools.useRtk",
29
- TOOLS_SHELL: "tools.shell"
29
+ TOOLS_SHELL: "tools.shell",
30
+ CONFIRM_ON_WORKSPACE_ACTIONS: "tools.confirmOnWorkspaceActions"
30
31
  };
31
32
  var SETTINGS_DEFAULTS = {
32
33
  [SETTINGS_KEYS.DISPLAY_SHOW_THINKING]: "true",
@@ -53,7 +54,8 @@ var SETTINGS_DEFAULTS = {
53
54
  ]
54
55
  }),
55
56
  [SETTINGS_KEYS.TOOLS_USE_RTK]: "false",
56
- [SETTINGS_KEYS.TOOLS_SHELL]: "cmd"
57
+ [SETTINGS_KEYS.TOOLS_SHELL]: "cmd",
58
+ [SETTINGS_KEYS.CONFIRM_ON_WORKSPACE_ACTIONS]: "false"
57
59
  };
58
60
  function getSetting(key) {
59
61
  try {
@@ -106,4 +108,4 @@ export {
106
108
  getAllSettings,
107
109
  getMaxVisibleItems
108
110
  };
109
- //# sourceMappingURL=chunk-AFJLY43Z.js.map
111
+ //# sourceMappingURL=chunk-WYJTY63G.js.map
@@ -37,7 +37,7 @@ Options:
37
37
  }
38
38
  async function runNetworkSetup(mode) {
39
39
  const { loadAuthConfig, saveAuthConfig, encryptPassword } = await import("./auth-YY5PJYSC.js");
40
- const { saveGlobalConfig } = await import("./config-MD74ETY5.js");
40
+ const { saveGlobalConfig } = await import("./config-EN3WEH4A.js");
41
41
  const { getAuthKeyPath } = await import("./paths-F27V3S4I.js");
42
42
  const existingAuth = await loadAuthConfig(mode);
43
43
  if (existingAuth) {
@@ -104,7 +104,7 @@ async function runNetworkSetup(mode) {
104
104
  console.log("\u2713 Configuration saved!\n");
105
105
  }
106
106
  async function runConfig(mode) {
107
- const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-MD74ETY5.js");
107
+ const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-EN3WEH4A.js");
108
108
  const { getGlobalConfigPath } = await import("./paths-F27V3S4I.js");
109
109
  const config = await loadGlobalConfig(mode);
110
110
  const configPath = getGlobalConfigPath(mode);
@@ -163,7 +163,7 @@ async function runCli(options) {
163
163
  break;
164
164
  }
165
165
  case "provider": {
166
- const { runProviderCommand } = await import("./provider-PI3RDDE4.js");
166
+ const { runProviderCommand } = await import("./provider-TIZV4IFE.js");
167
167
  const [, subcommand] = positionals;
168
168
  await runProviderCommand(mode, subcommand);
169
169
  break;
@@ -200,7 +200,7 @@ async function runCli(options) {
200
200
  break;
201
201
  }
202
202
  case "update": {
203
- const { runUpdate } = await import("./update-NUDIMJ4Q.js");
203
+ const { runUpdate } = await import("./update-SVJRA6YZ.js");
204
204
  const code = await runUpdate();
205
205
  if (code !== 0) {
206
206
  process.exit(code);
@@ -208,12 +208,12 @@ async function runCli(options) {
208
208
  break;
209
209
  }
210
210
  default: {
211
- const { configFileExists } = await import("./config-MD74ETY5.js");
211
+ const { configFileExists } = await import("./config-EN3WEH4A.js");
212
212
  const configExists = await configFileExists(mode);
213
213
  if (!configExists) {
214
214
  await runNetworkSetup(mode);
215
215
  }
216
- const { runServe } = await import("./serve-QLVPUEB7.js");
216
+ const { runServe } = await import("./serve-PESDYZZP.js");
217
217
  const serveOptions = { mode };
218
218
  if (values.port) serveOptions.port = parseInt(values.port);
219
219
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -225,4 +225,4 @@ async function runCli(options) {
225
225
  export {
226
226
  runCli
227
227
  };
228
- //# sourceMappingURL=chunk-ANDWLNG4.js.map
228
+ //# sourceMappingURL=chunk-XW7BCI3O.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-ANDWLNG4.js";
4
+ } from "../chunk-XW7BCI3O.js";
5
5
  import "../chunk-XY3LESVZ.js";
6
6
  import {
7
7
  logger
package/dist/cli/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-ANDWLNG4.js";
4
+ } from "../chunk-XW7BCI3O.js";
5
5
  import "../chunk-XY3LESVZ.js";
6
6
  import {
7
7
  logger
@@ -1,13 +1,14 @@
1
1
  import {
2
+ COMPACTION_HEADROOM_TOKENS,
3
+ COMPACTION_MAX_RATIO,
2
4
  appendCompactionPrompt,
3
- getCompactionTarget,
4
5
  shouldCompact
5
- } from "./chunk-WUSWNLTV.js";
6
- import "./chunk-EHVDAVYG.js";
7
- import "./chunk-MTUYDBSL.js";
8
- import "./chunk-AFJLY43Z.js";
9
- import "./chunk-M7EFXRDS.js";
10
- import "./chunk-TSVFRWSG.js";
6
+ } from "./chunk-E3MS5CF7.js";
7
+ import "./chunk-QHLWWQRC.js";
8
+ import "./chunk-VZYC5OLW.js";
9
+ import "./chunk-WYJTY63G.js";
10
+ import "./chunk-BUXIESO5.js";
11
+ import "./chunk-A2IZ4PWQ.js";
11
12
  import "./chunk-AANVMTYU.js";
12
13
  import "./chunk-RGUUZD5B.js";
13
14
  import "./chunk-J2GP3J3X.js";
@@ -17,8 +18,9 @@ import "./chunk-RMXPVQP4.js";
17
18
  import "./chunk-K44MW7JJ.js";
18
19
  import "./chunk-5WRI5ZAA.js";
19
20
  export {
21
+ COMPACTION_HEADROOM_TOKENS,
22
+ COMPACTION_MAX_RATIO,
20
23
  appendCompactionPrompt,
21
- getCompactionTarget,
22
24
  shouldCompact
23
25
  };
24
- //# sourceMappingURL=compactor-G7B3V24F.js.map
26
+ //# sourceMappingURL=compactor-3UHLN554.js.map
@@ -11,7 +11,7 @@ import {
11
11
  saveGlobalConfig,
12
12
  setDefaultModelSelection,
13
13
  updateProvider
14
- } from "./chunk-YFVSSMA3.js";
14
+ } from "./chunk-NH2PVB6R.js";
15
15
  import "./chunk-CQGTEGKL.js";
16
16
  import "./chunk-5WRI5ZAA.js";
17
17
  export {
@@ -28,4 +28,4 @@ export {
28
28
  setDefaultModelSelection,
29
29
  updateProvider
30
30
  };
31
- //# sourceMappingURL=config-MD74ETY5.js.map
31
+ //# sourceMappingURL=config-EN3WEH4A.js.map