openfox 2.0.108 → 2.0.110

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 (58) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/CHANGELOG.md +19 -0
  3. package/dist/{chat-handler-UZ2A75DG.js → chat-handler-UZ7WTT6D.js} +17 -17
  4. package/dist/{chunk-3GJFZQNV.js → chunk-3HS72YIE.js} +2 -2
  5. package/dist/{chunk-PSAWMCD6.js → chunk-4HIFB7F5.js} +14 -14
  6. package/dist/{chunk-TMVXOLBS.js → chunk-4ZXRERIW.js} +2 -2
  7. package/dist/{chunk-YBIJI53N.js → chunk-5HMKLHTT.js} +2 -2
  8. package/dist/chunk-64374FPB.js +7 -0
  9. package/dist/{chunk-ID4N6PM6.js → chunk-6EV7X5MP.js} +2 -2
  10. package/dist/{chunk-JH6SOEQW.js → chunk-ACJNRPTO.js} +2 -2
  11. package/dist/{chunk-HGOEHSVC.js → chunk-C5JJM72V.js} +3 -3
  12. package/dist/{chunk-KYY5PAGE.js → chunk-CQKRZ4WV.js} +3 -3
  13. package/dist/{chunk-EYMGV4YA.js → chunk-E5HZKNTY.js} +2 -2
  14. package/dist/{chunk-GWMNR3LC.js → chunk-GNFDD6LN.js} +3 -3
  15. package/dist/{chunk-7FKSDR7H.js → chunk-HK75Q3EA.js} +10 -10
  16. package/dist/{chunk-Q4P4CWWV.js → chunk-KDQJOI2I.js} +2 -2
  17. package/dist/{chunk-QDKLJZO4.js → chunk-LXYNP7LL.js} +4 -4
  18. package/dist/{chunk-IRWZJPPA.js → chunk-MM46DJJL.js} +2 -2
  19. package/dist/{chunk-3MYD6Y4W.js → chunk-NORNB6IJ.js} +6 -6
  20. package/dist/{chunk-P7HT6IJW.js → chunk-PU3IPUSW.js} +5 -5
  21. package/dist/{chunk-CF2HEP3M.js → chunk-QRASX3HC.js} +4 -4
  22. package/dist/{chunk-JBZW5BZX.js → chunk-UCYPPLVR.js} +15 -15
  23. package/dist/{chunk-63ZAFYQ7.js → chunk-VJWWJEBX.js} +7 -7
  24. package/dist/{chunk-WFWFRUBU.js → chunk-VT2X3DMC.js} +2 -2
  25. package/dist/{chunk-MPWLBKSK.js → chunk-VXKPZUCT.js} +3 -1
  26. package/dist/{chunk-P7WCFUPJ.js → chunk-WCQOHRUX.js} +2 -2
  27. package/dist/{chunk-I4M6SCMY.js → chunk-ZJW3KOII.js} +67 -67
  28. package/dist/cli/dev.js +1 -1
  29. package/dist/cli/index.js +1 -1
  30. package/dist/{client-R4TZCZTO.js → client-LPNFUOPV.js} +4 -4
  31. package/dist/{compactor-U3MAROGM.js → compactor-OSDLCGRC.js} +9 -9
  32. package/dist/{dynamic-context-H7AVSAXQ.js → dynamic-context-WVA7HTEP.js} +7 -7
  33. package/dist/{events-7WAOX35W.js → events-26J7BUSY.js} +6 -6
  34. package/dist/{folding-MJDFKOHT.js → folding-ZD4AMFNR.js} +4 -4
  35. package/dist/{http-client-NHVT6E5C.js → http-client-MQARNFY3.js} +3 -3
  36. package/dist/{manager-ZVHBUECR.js → manager-RJH7EYIG.js} +4 -4
  37. package/dist/{model-overrides-47LYCLFO.js → model-overrides-BXMFIT47.js} +3 -3
  38. package/dist/{orchestrator-X7H5JRM5.js → orchestrator-BW27C4K4.js} +16 -16
  39. package/dist/package.json +1 -1
  40. package/dist/{path-security-26J53LD4.js → path-security-AAZMH33K.js} +7 -7
  41. package/dist/{platform-JOAXLXYQ.js → platform-EZJABX5J.js} +3 -3
  42. package/dist/{processor-33OESYXP.js → processor-FTCPHWBM.js} +16 -16
  43. package/dist/{provider-U4X7BDDL.js → provider-JS5P3HQ2.js} +5 -5
  44. package/dist/{provider-manager-ON3V54DS.js → provider-manager-MWAIOX2A.js} +5 -5
  45. package/dist/{registry-2PP4PUCL.js → registry-JJB5GXOM.js} +3 -3
  46. package/dist/{serve-LK3LQEWW.js → serve-XDZB4EJN.js} +24 -24
  47. package/dist/server/index.js +23 -23
  48. package/dist/{server-7Q5RPZKY.js → server-R6DDJNF3.js} +19 -19
  49. package/dist/{session-overrides-FVX6374M.js → session-overrides-T47KXDDS.js} +5 -5
  50. package/dist/{sessions-7XOOISCY.js → sessions-YTWCOHI3.js} +4 -4
  51. package/dist/{settings-H2W3SNFE.js → settings-2RZBMX5Y.js} +2 -2
  52. package/dist/{tools-5C2VIQ7B.js → tools-KPIYFL5A.js} +14 -14
  53. package/dist/{update-5R3HZD6U.js → update-75QZJYKD.js} +2 -2
  54. package/dist/web/assets/{index-C0OFVoFt.js → index-BmjVoqQT.js} +81 -81
  55. package/dist/web/index.html +1 -1
  56. package/dist/web/sw.js +1 -1
  57. package/package.json +1 -1
  58. package/dist/chunk-UWF4L4CK.js +0 -7
@@ -4,7 +4,7 @@ import {
4
4
  getEnabledSkillMetadata,
5
5
  isSkillEnabled,
6
6
  loadAllSkills
7
- } from "./chunk-GWMNR3LC.js";
7
+ } from "./chunk-GNFDD6LN.js";
8
8
  import {
9
9
  TurnMetrics,
10
10
  consumeStreamGenerator,
@@ -19,7 +19,7 @@ import {
19
19
  COMPACTION_PROMPT,
20
20
  buildBasePrompt,
21
21
  computeEffectiveTools
22
- } from "./chunk-YBIJI53N.js";
22
+ } from "./chunk-5HMKLHTT.js";
23
23
  import {
24
24
  startInspectProxy
25
25
  } from "./chunk-33Q7LCVD.js";
@@ -33,7 +33,7 @@ import {
33
33
  spawnShellProcess,
34
34
  startProcessCommand,
35
35
  stopProcess
36
- } from "./chunk-HGOEHSVC.js";
36
+ } from "./chunk-C5JJM72V.js";
37
37
  import {
38
38
  getMaxPerSession,
39
39
  getSessionProcessCount,
@@ -52,19 +52,19 @@ import {
52
52
  } from "./chunk-FR5LUTLQ.js";
53
53
  import {
54
54
  getSessionDisabledServers
55
- } from "./chunk-P7WCFUPJ.js";
55
+ } from "./chunk-WCQOHRUX.js";
56
56
  import {
57
57
  PathAccessDeniedError,
58
58
  extractAbsolutePathsFromCommand,
59
59
  extractSensitivePathsFromCommand,
60
60
  registerPathConfirmation,
61
61
  requestPathAccess
62
- } from "./chunk-P7HT6IJW.js";
62
+ } from "./chunk-PU3IPUSW.js";
63
63
  import {
64
64
  getCurrentContextWindowId,
65
65
  getCurrentWindowMessageOptions,
66
66
  getEventStore
67
- } from "./chunk-QDKLJZO4.js";
67
+ } from "./chunk-LXYNP7LL.js";
68
68
  import {
69
69
  createChatDoneMessage,
70
70
  createChatMessageMessage,
@@ -78,7 +78,7 @@ import {
78
78
  } from "./chunk-JAX5OEMM.js";
79
79
  import {
80
80
  resolveLLMClientForAgent
81
- } from "./chunk-IRWZJPPA.js";
81
+ } from "./chunk-MM46DJJL.js";
82
82
  import {
83
83
  buildContextMessagesFromEventHistory,
84
84
  foldContextState,
@@ -88,13 +88,13 @@ import {
88
88
  handleToolResult,
89
89
  reorderToolMessages,
90
90
  stripOrphanedToolCalls
91
- } from "./chunk-JH6SOEQW.js";
91
+ } from "./chunk-ACJNRPTO.js";
92
92
  import {
93
93
  findAgentById,
94
94
  getRuntimeConfig,
95
95
  getSubAgents,
96
96
  loadAllAgentsDefault
97
- } from "./chunk-WFWFRUBU.js";
97
+ } from "./chunk-VT2X3DMC.js";
98
98
  import {
99
99
  modelSupportsVision
100
100
  } from "./chunk-V4IE7HJY.js";
@@ -112,7 +112,7 @@ import {
112
112
  import {
113
113
  SETTINGS_KEYS,
114
114
  getSetting
115
- } from "./chunk-MPWLBKSK.js";
115
+ } from "./chunk-VXKPZUCT.js";
116
116
  import {
117
117
  logger
118
118
  } from "./chunk-K44MW7JJ.js";
@@ -136,7 +136,7 @@ async function requestUserConfirmation(context, toolLabel, desc) {
136
136
  if (context.dangerLevel === "dangerous") return Promise.resolve(true);
137
137
  if (toolLabel === "workspace" || toolLabel === "command") {
138
138
  try {
139
- const { getSetting: getSetting2, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-H2W3SNFE.js");
139
+ const { getSetting: getSetting2, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-2RZBMX5Y.js");
140
140
  if (getSetting2(SETTINGS_KEYS2.CONFIRM_ON_WORKSPACE_ACTIONS) !== "true") {
141
141
  return Promise.resolve(true);
142
142
  }
@@ -1919,7 +1919,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
1919
1919
  sessionManager.setCurrentContextSize(sessionId, result.usage.promptTokens, config.subAgentMetadata?.subAgentId);
1920
1920
  if (!compacting) {
1921
1921
  const contextState2 = sessionManager.getContextState(sessionId);
1922
- const { shouldCompact, appendCompactionPrompt } = await import("./compactor-U3MAROGM.js");
1922
+ const { shouldCompact, appendCompactionPrompt } = await import("./compactor-OSDLCGRC.js");
1923
1923
  if (shouldCompact(
1924
1924
  contextState2.currentTokens,
1925
1925
  contextState2.maxTokens,
@@ -2907,7 +2907,7 @@ var callSubAgentTool = {
2907
2907
  };
2908
2908
  }
2909
2909
  try {
2910
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-5C2VIQ7B.js");
2910
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-KPIYFL5A.js");
2911
2911
  const toolRegistry = getToolRegistryForAgent2(agentDef);
2912
2912
  const turnMetrics = new TurnMetrics();
2913
2913
  const result = await executeSubAgent({
@@ -3929,7 +3929,7 @@ var mcpConfigTool = createTool(
3929
3929
  mcpNotifyChanged?.(sessionId);
3930
3930
  }
3931
3931
  async function rebuildTools() {
3932
- const { setMcpTools: setMcpTools2 } = await import("./tools-5C2VIQ7B.js");
3932
+ const { setMcpTools: setMcpTools2 } = await import("./tools-KPIYFL5A.js");
3933
3933
  const mcpTools = createMcpTools(mcpManagerForTools);
3934
3934
  setMcpTools2(mcpTools);
3935
3935
  }
@@ -4624,4 +4624,4 @@ export {
4624
4624
  getToolRegistryForAgent,
4625
4625
  createToolRegistry
4626
4626
  };
4627
- //# sourceMappingURL=chunk-JBZW5BZX.js.map
4627
+ //# sourceMappingURL=chunk-UCYPPLVR.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  combineEventsWithSnapshot,
3
3
  getEventStore
4
- } from "./chunk-QDKLJZO4.js";
4
+ } from "./chunk-LXYNP7LL.js";
5
5
  import {
6
6
  createContextStateMessage,
7
7
  createSessionStateMessage
@@ -12,16 +12,16 @@ import {
12
12
  import {
13
13
  buildMessagesFromStoredEvents,
14
14
  foldPendingConfirmations
15
- } from "./chunk-JH6SOEQW.js";
15
+ } from "./chunk-ACJNRPTO.js";
16
16
  import {
17
17
  updateSessionMetadata
18
- } from "./chunk-TMVXOLBS.js";
18
+ } from "./chunk-4ZXRERIW.js";
19
19
  import {
20
20
  getRuntimeConfig
21
- } from "./chunk-WFWFRUBU.js";
21
+ } from "./chunk-VT2X3DMC.js";
22
22
  import {
23
23
  getMaxVisibleItems
24
- } from "./chunk-MPWLBKSK.js";
24
+ } from "./chunk-VXKPZUCT.js";
25
25
  import {
26
26
  logger
27
27
  } from "./chunk-K44MW7JJ.js";
@@ -153,7 +153,7 @@ async function generateSessionNameForSession(sessionId, userMessage, deps, signa
153
153
  client = deps.getLLMClient();
154
154
  client.setModel(providerConfig.model);
155
155
  } else if (providerConfig) {
156
- const { createLLMClient } = await import("./client-R4TZCZTO.js");
156
+ const { createLLMClient } = await import("./client-LPNFUOPV.js");
157
157
  client = createLLMClient({
158
158
  llm: {
159
159
  baseUrl: providerConfig.baseUrl,
@@ -204,4 +204,4 @@ export {
204
204
  needsNameGeneration,
205
205
  generateSessionNameForSession
206
206
  };
207
- //# sourceMappingURL=chunk-63ZAFYQ7.js.map
207
+ //# sourceMappingURL=chunk-VJWWJEBX.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SETTINGS_KEYS,
3
3
  getSetting
4
- } from "./chunk-MPWLBKSK.js";
4
+ } from "./chunk-VXKPZUCT.js";
5
5
  import {
6
6
  logger
7
7
  } from "./chunk-K44MW7JJ.js";
@@ -455,4 +455,4 @@ export {
455
455
  getOverrideAgentIds,
456
456
  resolveDefaultAgentId
457
457
  };
458
- //# sourceMappingURL=chunk-WFWFRUBU.js.map
458
+ //# sourceMappingURL=chunk-VT2X3DMC.js.map
@@ -23,6 +23,7 @@ var SETTINGS_KEYS = {
23
23
  DISPLAY_USE_NATIVE_SCROLLBARS_CODE_BLOCKS: "display.useNativeScrollbarsCodeBlocks",
24
24
  DISPLAY_COLLAPSE_LARGE_TOOL_CALLS: "display.collapseLargeToolCalls",
25
25
  DISPLAY_DEFER_CODE_HIGHLIGHT_WHILE_STREAMING: "display.deferCodeHighlightWhileStreaming",
26
+ DISPLAY_FEED_VIRTUALIZATION: "display.feedVirtualization",
26
27
  LLM_DYNAMIC_SYSTEM_PROMPT: "llm.dynamicSystemPrompt",
27
28
  CACHE_WARMING: "cache.warming",
28
29
  KEYBINDINGS: "keybindings",
@@ -58,6 +59,7 @@ var SETTINGS_DEFAULTS = {
58
59
  [SETTINGS_KEYS.DISPLAY_USE_NATIVE_SCROLLBARS_CODE_BLOCKS]: "false",
59
60
  [SETTINGS_KEYS.DISPLAY_COLLAPSE_LARGE_TOOL_CALLS]: "false",
60
61
  [SETTINGS_KEYS.DISPLAY_DEFER_CODE_HIGHLIGHT_WHILE_STREAMING]: "false",
62
+ [SETTINGS_KEYS.DISPLAY_FEED_VIRTUALIZATION]: "false",
61
63
  [SETTINGS_KEYS.LLM_DYNAMIC_SYSTEM_PROMPT]: "false",
62
64
  [SETTINGS_KEYS.CACHE_WARMING]: "false",
63
65
  [SETTINGS_KEYS.RETRY_PATTERNS]: JSON.stringify({ patterns: [], maxRetriesPerTurn: 10 }),
@@ -127,4 +129,4 @@ export {
127
129
  getAllSettings,
128
130
  getMaxVisibleItems
129
131
  };
130
- //# sourceMappingURL=chunk-MPWLBKSK.js.map
132
+ //# sourceMappingURL=chunk-VXKPZUCT.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  updateSessionMcpDisabledServers
3
- } from "./chunk-TMVXOLBS.js";
3
+ } from "./chunk-4ZXRERIW.js";
4
4
  import {
5
5
  getDatabase
6
6
  } from "./chunk-LCQ5AN6Y.js";
@@ -62,4 +62,4 @@ export {
62
62
  clearSessionOverrides,
63
63
  getAllSessionOverrides
64
64
  };
65
- //# sourceMappingURL=chunk-P7WCFUPJ.js.map
65
+ //# sourceMappingURL=chunk-WCQOHRUX.js.map
@@ -21,7 +21,7 @@ import {
21
21
  tokenFromPassword,
22
22
  verifyPassword,
23
23
  workflowExists
24
- } from "./chunk-PSAWMCD6.js";
24
+ } from "./chunk-4HIFB7F5.js";
25
25
  import {
26
26
  openFolder
27
27
  } from "./chunk-WLJJRX22.js";
@@ -34,7 +34,7 @@ import {
34
34
  setMcpManagerForTools,
35
35
  setMcpTools,
36
36
  setNotifyMcpServersChanged
37
- } from "./chunk-JBZW5BZX.js";
37
+ } from "./chunk-UCYPPLVR.js";
38
38
  import {
39
39
  deleteOwnedSkill,
40
40
  deleteProjectSkill,
@@ -53,12 +53,12 @@ import {
53
53
  setSkillEnabled,
54
54
  skillExists,
55
55
  updateOwnedSkill
56
- } from "./chunk-GWMNR3LC.js";
56
+ } from "./chunk-GNFDD6LN.js";
57
57
  import {
58
58
  ALWAYS_ALLOWED,
59
59
  ALWAYS_ALLOWED_FOR_SUBAGENTS,
60
60
  TOP_LEVEL_ONLY_TOOLS
61
- } from "./chunk-YBIJI53N.js";
61
+ } from "./chunk-5HMKLHTT.js";
62
62
  import {
63
63
  createMcpTools
64
64
  } from "./chunk-JE7LW7Y6.js";
@@ -81,7 +81,7 @@ import {
81
81
  import {
82
82
  getSessionDisabledServers,
83
83
  setSessionDisabledServers
84
- } from "./chunk-P7WCFUPJ.js";
84
+ } from "./chunk-WCQOHRUX.js";
85
85
  import {
86
86
  emitAssistantMessageStart,
87
87
  emitContextState,
@@ -98,7 +98,7 @@ import {
98
98
  getEventStore,
99
99
  getSessionState,
100
100
  initEventStore
101
- } from "./chunk-QDKLJZO4.js";
101
+ } from "./chunk-LXYNP7LL.js";
102
102
  import {
103
103
  createContextStateMessage,
104
104
  toClientSession
@@ -109,13 +109,13 @@ import {
109
109
  import {
110
110
  getPathSeparator,
111
111
  isAbsolutePath
112
- } from "./chunk-ID4N6PM6.js";
112
+ } from "./chunk-6EV7X5MP.js";
113
113
  import {
114
114
  getAgentModelOverride,
115
115
  getAgentModelOverrides,
116
116
  resolveLLMClientForAgent,
117
117
  setAgentModelOverride
118
- } from "./chunk-IRWZJPPA.js";
118
+ } from "./chunk-MM46DJJL.js";
119
119
  import {
120
120
  getProject,
121
121
  getProjectByWorkdir,
@@ -123,7 +123,7 @@ import {
123
123
  } from "./chunk-6FPGJR7O.js";
124
124
  import {
125
125
  VERSION
126
- } from "./chunk-UWF4L4CK.js";
126
+ } from "./chunk-64374FPB.js";
127
127
  import {
128
128
  clearWorkflowExecution,
129
129
  createSession,
@@ -143,7 +143,7 @@ import {
143
143
  updateSessionRunning,
144
144
  updateSessionWorkdir,
145
145
  updateWorkflowExecutionStatus
146
- } from "./chunk-TMVXOLBS.js";
146
+ } from "./chunk-4ZXRERIW.js";
147
147
  import {
148
148
  agentExists,
149
149
  deleteAgent,
@@ -166,13 +166,13 @@ import {
166
166
  saveAgentToProject,
167
167
  saveItemToDir,
168
168
  setRuntimeConfig
169
- } from "./chunk-WFWFRUBU.js";
169
+ } from "./chunk-VT2X3DMC.js";
170
170
  import {
171
171
  createProviderManager,
172
172
  detectModel,
173
173
  getLlmStatus,
174
174
  parseDefaultModelSelection
175
- } from "./chunk-Q4P4CWWV.js";
175
+ } from "./chunk-KDQJOI2I.js";
176
176
  import {
177
177
  getModelProfile
178
178
  } from "./chunk-V4IE7HJY.js";
@@ -185,12 +185,12 @@ import {
185
185
  import {
186
186
  SessionNotFoundError,
187
187
  WorkspaceInUseError
188
- } from "./chunk-EYMGV4YA.js";
188
+ } from "./chunk-E5HZKNTY.js";
189
189
  import {
190
190
  deleteSetting,
191
191
  getSetting,
192
192
  setSetting
193
- } from "./chunk-MPWLBKSK.js";
193
+ } from "./chunk-VXKPZUCT.js";
194
194
  import {
195
195
  initDatabase
196
196
  } from "./chunk-LCQ5AN6Y.js";
@@ -5895,7 +5895,7 @@ async function createServerHandle(config3) {
5895
5895
  toolRegistry = createToolRegistry();
5896
5896
  logger.info("MCP tools registered", { count: mcpTools.length });
5897
5897
  }
5898
- const { signalMcpReady } = await import("./server-7Q5RPZKY.js");
5898
+ const { signalMcpReady } = await import("./server-R6DDJNF3.js");
5899
5899
  signalMcpReady();
5900
5900
  });
5901
5901
  const app = express();
@@ -6105,7 +6105,7 @@ async function createServerHandle(config3) {
6105
6105
  }
6106
6106
  try {
6107
6107
  await checkoutBranch(project.workdir, branch);
6108
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-7XOOISCY.js");
6108
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-YTWCOHI3.js");
6109
6109
  const allSessions = sessionManager.listSessions();
6110
6110
  for (const s of allSessions) {
6111
6111
  if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
@@ -6141,7 +6141,7 @@ async function createServerHandle(config3) {
6141
6141
  );
6142
6142
  }
6143
6143
  await createBranch(project.workdir, name, sb);
6144
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-7XOOISCY.js");
6144
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-YTWCOHI3.js");
6145
6145
  const allSessions = sessionManager.listSessions();
6146
6146
  for (const s of allSessions) {
6147
6147
  if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
@@ -6173,7 +6173,7 @@ async function createServerHandle(config3) {
6173
6173
  if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
6174
6174
  const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
6175
6175
  const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-YDUQZ3HC.js");
6176
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-7XOOISCY.js");
6176
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-YTWCOHI3.js");
6177
6177
  try {
6178
6178
  await validateRef2(effectiveWorkdir, branch);
6179
6179
  await checkoutBranch(effectiveWorkdir, branch);
@@ -6216,7 +6216,7 @@ All file and git operations should use this branch.
6216
6216
  if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
6217
6217
  const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
6218
6218
  const { validateRef: validateRef2 } = await import("./workspace-YDUQZ3HC.js");
6219
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-7XOOISCY.js");
6219
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-YTWCOHI3.js");
6220
6220
  try {
6221
6221
  await validateRef2(effectiveWorkdir, name);
6222
6222
  if (sourceBranch) {
@@ -6271,8 +6271,8 @@ All file and git operations should use this branch.
6271
6271
  res.json({ workspaces: workspacesList });
6272
6272
  });
6273
6273
  app.get("/api/sessions", async (req, res) => {
6274
- const { getRecentUserPromptsForSession } = await import("./events-7WAOX35W.js");
6275
- const { getPendingConfirmationsBySession } = await import("./path-security-26J53LD4.js");
6274
+ const { getRecentUserPromptsForSession } = await import("./events-26J7BUSY.js");
6275
+ const { getPendingConfirmationsBySession } = await import("./path-security-AAZMH33K.js");
6276
6276
  const projectId = req.query["projectId"];
6277
6277
  const limit = Math.min(parseInt(req.query["limit"]) || 20, 100);
6278
6278
  const offset = parseInt(req.query["offset"]) || 0;
@@ -6318,7 +6318,7 @@ All file and git operations should use this branch.
6318
6318
  disabledServers = mcpManager.getAllServers().filter((s) => s.config.disabled).map((s) => s.name);
6319
6319
  }
6320
6320
  if (disabledServers.length > 0) {
6321
- const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-FVX6374M.js");
6321
+ const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-T47KXDDS.js");
6322
6322
  setSessionDisabledServers2(session.id, disabledServers);
6323
6323
  }
6324
6324
  } catch {
@@ -6391,12 +6391,12 @@ All file and git operations should use this branch.
6391
6391
  }
6392
6392
  });
6393
6393
  app.get("/api/sessions/:id", async (req, res) => {
6394
- const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-7WAOX35W.js");
6395
- const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-MJDFKOHT.js");
6396
- const { getPendingQuestionsForSession } = await import("./tools-5C2VIQ7B.js");
6397
- const { getMaxVisibleItems } = await import("./settings-H2W3SNFE.js");
6398
- const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-47LYCLFO.js");
6399
- const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-7XOOISCY.js");
6394
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-26J7BUSY.js");
6395
+ const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-ZD4AMFNR.js");
6396
+ const { getPendingQuestionsForSession } = await import("./tools-KPIYFL5A.js");
6397
+ const { getMaxVisibleItems } = await import("./settings-2RZBMX5Y.js");
6398
+ const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-BXMFIT47.js");
6399
+ const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-YTWCOHI3.js");
6400
6400
  let session = sessionManager.getSession(req.params.id);
6401
6401
  if (!session) {
6402
6402
  return res.status(404).json({ error: "Session not found" });
@@ -6435,8 +6435,8 @@ All file and git operations should use this branch.
6435
6435
  if (!session) {
6436
6436
  return res.status(404).json({ error: "Session not found" });
6437
6437
  }
6438
- const { stopSessionExecution } = await import("./chat-handler-UZ2A75DG.js");
6439
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-5C2VIQ7B.js");
6438
+ const { stopSessionExecution } = await import("./chat-handler-UZ7WTT6D.js");
6439
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-KPIYFL5A.js");
6440
6440
  sessionManager.clearMessageQueue(sessionId);
6441
6441
  stopSessionExecution(sessionId, sessionManager);
6442
6442
  abortSession(sessionId);
@@ -6465,9 +6465,9 @@ All file and git operations should use this branch.
6465
6465
  res.json({ success: true });
6466
6466
  });
6467
6467
  app.post("/api/sessions/:id/provider", async (req, res) => {
6468
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-7WAOX35W.js");
6469
- const { buildMessagesFromStoredEvents } = await import("./folding-MJDFKOHT.js");
6470
- const { getMaxVisibleItems } = await import("./settings-H2W3SNFE.js");
6468
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-26J7BUSY.js");
6469
+ const { buildMessagesFromStoredEvents } = await import("./folding-ZD4AMFNR.js");
6470
+ const { getMaxVisibleItems } = await import("./settings-2RZBMX5Y.js");
6471
6471
  const sessionId = req.params.id;
6472
6472
  const session = sessionManager.getSession(sessionId);
6473
6473
  if (!session) {
@@ -6580,11 +6580,11 @@ All file and git operations should use this branch.
6580
6580
  res.json({ success: true });
6581
6581
  });
6582
6582
  app.put("/api/sessions/:id/mode", async (req, res) => {
6583
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-7WAOX35W.js");
6584
- const { buildMessagesFromStoredEvents } = await import("./folding-MJDFKOHT.js");
6585
- const { getMaxVisibleItems } = await import("./settings-H2W3SNFE.js");
6586
- const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-47LYCLFO.js");
6587
- const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-7XOOISCY.js");
6583
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-26J7BUSY.js");
6584
+ const { buildMessagesFromStoredEvents } = await import("./folding-ZD4AMFNR.js");
6585
+ const { getMaxVisibleItems } = await import("./settings-2RZBMX5Y.js");
6586
+ const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-BXMFIT47.js");
6587
+ const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-YTWCOHI3.js");
6588
6588
  const sessionId = req.params.id;
6589
6589
  const session = sessionManager.getSession(sessionId);
6590
6590
  if (!session) {
@@ -6686,7 +6686,7 @@ All file and git operations should use this branch.
6686
6686
  if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
6687
6687
  return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
6688
6688
  }
6689
- const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-5C2VIQ7B.js");
6689
+ const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-KPIYFL5A.js");
6690
6690
  const pendingSessionId = getConfirmationSessionId(callId);
6691
6691
  if (!pendingSessionId) {
6692
6692
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -6698,11 +6698,11 @@ All file and git operations should use this branch.
6698
6698
  if (!result.found) {
6699
6699
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
6700
6700
  }
6701
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-7WAOX35W.js");
6702
- const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-MJDFKOHT.js");
6701
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-26J7BUSY.js");
6702
+ const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-ZD4AMFNR.js");
6703
6703
  const { createSessionStateMessage } = await import("./protocol-SPIJPOEN.js");
6704
- const { getPendingQuestionsForSession } = await import("./tools-5C2VIQ7B.js");
6705
- const { getMaxVisibleItems } = await import("./settings-H2W3SNFE.js");
6704
+ const { getPendingQuestionsForSession } = await import("./tools-KPIYFL5A.js");
6705
+ const { getMaxVisibleItems } = await import("./settings-2RZBMX5Y.js");
6706
6706
  const eventStore = getEventStore2();
6707
6707
  const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
6708
6708
  const events = combineEvents(sessionId, snapshot, eventsSinceSnapshot);
@@ -6738,7 +6738,7 @@ All file and git operations should use this branch.
6738
6738
  if (!skip && typeof answer !== "string") {
6739
6739
  return res.status(400).json({ error: "answer is required when not skipping" });
6740
6740
  }
6741
- const { provideAnswer } = await import("./tools-5C2VIQ7B.js");
6741
+ const { provideAnswer } = await import("./tools-KPIYFL5A.js");
6742
6742
  const found = provideAnswer(callId, answer ?? "", skip ?? false);
6743
6743
  if (!found) {
6744
6744
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -6771,7 +6771,7 @@ All file and git operations should use this branch.
6771
6771
  if (!session) {
6772
6772
  return res.status(404).json({ error: "Session not found" });
6773
6773
  }
6774
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-H2W3SNFE.js");
6774
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-2RZBMX5Y.js");
6775
6775
  if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
6776
6776
  return res.json({ success: false, reason: "disabled" });
6777
6777
  }
@@ -6803,7 +6803,7 @@ All file and git operations should use this branch.
6803
6803
  backend: activeProvider?.backend ?? llmClient.getBackend(),
6804
6804
  model: llmClient.getModel()
6805
6805
  };
6806
- const { runAgentTurn, TurnMetrics } = await import("./orchestrator-X7H5JRM5.js");
6806
+ const { runAgentTurn, TurnMetrics } = await import("./orchestrator-BW27C4K4.js");
6807
6807
  runAgentTurn(
6808
6808
  {
6809
6809
  sessionManager,
@@ -6841,15 +6841,15 @@ All file and git operations should use this branch.
6841
6841
  if (!session) {
6842
6842
  return res.status(404).json({ error: "Session not found" });
6843
6843
  }
6844
- const { stopSessionExecution } = await import("./chat-handler-UZ2A75DG.js");
6845
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-5C2VIQ7B.js");
6844
+ const { stopSessionExecution } = await import("./chat-handler-UZ7WTT6D.js");
6845
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-KPIYFL5A.js");
6846
6846
  const queuedMessages = sessionManager.getQueueState(sessionId);
6847
6847
  sessionManager.clearMessageQueue(sessionId);
6848
6848
  stopSessionExecution(sessionId, sessionManager);
6849
6849
  abortSession(sessionId);
6850
6850
  cancelQuestionsForSession(sessionId, "Session stopped by user");
6851
6851
  cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
6852
- const eventStore = (await import("./events-7WAOX35W.js")).getEventStore();
6852
+ const eventStore = (await import("./events-26J7BUSY.js")).getEventStore();
6853
6853
  eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
6854
6854
  res.json({ success: true, queuedMessages });
6855
6855
  });
@@ -6863,7 +6863,7 @@ All file and git operations should use this branch.
6863
6863
  if (typeof messageIndex !== "number" || messageIndex < 0) {
6864
6864
  return res.status(400).json({ error: "messageIndex must be a non-negative number" });
6865
6865
  }
6866
- const { truncateSessionMessages } = await import("./events-7WAOX35W.js");
6866
+ const { truncateSessionMessages } = await import("./events-26J7BUSY.js");
6867
6867
  truncateSessionMessages(sessionId, messageIndex);
6868
6868
  res.json({ success: true });
6869
6869
  });
@@ -6880,8 +6880,8 @@ All file and git operations should use this branch.
6880
6880
  if (content !== void 0 && (typeof content !== "string" || !content.trim())) {
6881
6881
  return res.status(400).json({ error: "content must be a non-empty string if provided" });
6882
6882
  }
6883
- const { getEventStore: getEventStore2 } = await import("./events-7WAOX35W.js");
6884
- const { buildMessagesFromStoredEvents } = await import("./folding-MJDFKOHT.js");
6883
+ const { getEventStore: getEventStore2 } = await import("./events-26J7BUSY.js");
6884
+ const { buildMessagesFromStoredEvents } = await import("./folding-ZD4AMFNR.js");
6885
6885
  const eventStore = getEventStore2();
6886
6886
  const events = eventStore.getEvents(sessionId);
6887
6887
  const { messages } = buildMessagesFromStoredEvents(events);
@@ -6893,7 +6893,7 @@ All file and git operations should use this branch.
6893
6893
  if (msg.role !== "user" || msg.isSystemGenerated) {
6894
6894
  return res.status(400).json({ error: "Can only replay user messages" });
6895
6895
  }
6896
- const { truncateSessionMessages } = await import("./events-7WAOX35W.js");
6896
+ const { truncateSessionMessages } = await import("./events-26J7BUSY.js");
6897
6897
  truncateSessionMessages(sessionId, msgIndex - 1);
6898
6898
  sessionManager.queueMessage(sessionId, "asap", content ?? msg.content, msg.attachments, msg.messageKind);
6899
6899
  res.json({ success: true });
@@ -6949,7 +6949,7 @@ All file and git operations should use this branch.
6949
6949
  res.json({ accepted: true });
6950
6950
  });
6951
6951
  app.get("/api/settings", async (req, res) => {
6952
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-H2W3SNFE.js");
6952
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-2RZBMX5Y.js");
6953
6953
  const keysParam = req.query["keys"];
6954
6954
  if (!keysParam) {
6955
6955
  return res.status(400).json({ error: "keys query parameter is required" });
@@ -6962,19 +6962,19 @@ All file and git operations should use this branch.
6962
6962
  res.json(result);
6963
6963
  });
6964
6964
  app.get("/api/settings/:key", async (req, res) => {
6965
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-H2W3SNFE.js");
6965
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-2RZBMX5Y.js");
6966
6966
  const key = req.params.key;
6967
6967
  const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
6968
6968
  res.json({ key, value });
6969
6969
  });
6970
6970
  app.get("/api/settings/:key", async (req, res) => {
6971
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-H2W3SNFE.js");
6971
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-2RZBMX5Y.js");
6972
6972
  const key = req.params.key;
6973
6973
  const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
6974
6974
  res.json({ key, value });
6975
6975
  });
6976
6976
  app.put("/api/settings/:key", async (req, res) => {
6977
- const { setSetting: setSetting2 } = await import("./settings-H2W3SNFE.js");
6977
+ const { setSetting: setSetting2 } = await import("./settings-2RZBMX5Y.js");
6978
6978
  const key = req.params.key;
6979
6979
  const { value } = req.body;
6980
6980
  if (value === void 0) {
@@ -7001,7 +7001,7 @@ All file and git operations should use this branch.
7001
7001
  }
7002
7002
  });
7003
7003
  app.get("/api/tools/shells", async (_req, res) => {
7004
- const { listAvailableShells } = await import("./platform-JOAXLXYQ.js");
7004
+ const { listAvailableShells } = await import("./platform-EZJABX5J.js");
7005
7005
  res.json({ shells: listAvailableShells() });
7006
7006
  });
7007
7007
  app.get("/api/config", async (_req, res) => {
@@ -7091,7 +7091,7 @@ All file and git operations should use this branch.
7091
7091
  }));
7092
7092
  }
7093
7093
  app.post("/api/proxy/test", async (_req, res) => {
7094
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-H2W3SNFE.js");
7094
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-2RZBMX5Y.js");
7095
7095
  const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
7096
7096
  if (!proxyUrl) {
7097
7097
  return res.status(400).json({ success: false, error: "No proxy URL configured" });
@@ -7183,7 +7183,7 @@ All file and git operations should use this branch.
7183
7183
  }
7184
7184
  });
7185
7185
  app.post("/api/proxy/test", async (_req, res) => {
7186
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-H2W3SNFE.js");
7186
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-2RZBMX5Y.js");
7187
7187
  const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
7188
7188
  if (!proxyUrl) {
7189
7189
  return res.status(400).json({ success: false, error: "No proxy URL configured" });
@@ -7210,7 +7210,7 @@ All file and git operations should use this branch.
7210
7210
  const backend = req.query["backend"];
7211
7211
  if (!url) return res.status(400).json({ error: "url is required" });
7212
7212
  try {
7213
- const { fetchModelsWithContext } = await import("./provider-manager-ON3V54DS.js");
7213
+ const { fetchModelsWithContext } = await import("./provider-manager-MWAIOX2A.js");
7214
7214
  const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
7215
7215
  const models = await fetchModelsWithContext(
7216
7216
  url,
@@ -7281,7 +7281,7 @@ All file and git operations should use this branch.
7281
7281
  const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
7282
7282
  const { getBackendCapabilities } = await import("./backend-P3GHHLHJ.js");
7283
7283
  const { buildNonStreamingCreateParams } = await import("./client-pure-VFZIIK4S.js");
7284
- const { OpenAIHttpClient } = await import("./http-client-NHVT6E5C.js");
7284
+ const { OpenAIHttpClient } = await import("./http-client-MQARNFY3.js");
7285
7285
  const { ensureVersionPrefix } = await import("./url-utils-SAJP7AEX.js");
7286
7286
  const profile = getModelProfile2(model);
7287
7287
  const capabilities = getBackendCapabilities(backend || "unknown");
@@ -7633,7 +7633,7 @@ All file and git operations should use this branch.
7633
7633
  });
7634
7634
  async function rebuildMcpTools() {
7635
7635
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-FEAHWU5C.js");
7636
- const { setMcpTools: setMcpTools2 } = await import("./tools-5C2VIQ7B.js");
7636
+ const { setMcpTools: setMcpTools2 } = await import("./tools-KPIYFL5A.js");
7637
7637
  const mcpTools = createMcpTools2(mcpManager);
7638
7638
  setMcpTools2(mcpTools);
7639
7639
  toolRegistry = createToolRegistry();
@@ -7894,13 +7894,13 @@ All file and git operations should use this branch.
7894
7894
  })
7895
7895
  );
7896
7896
  app.get("/api/sessions/:id/background-processes", async (req, res) => {
7897
- const { getSessionProcesses } = await import("./manager-ZVHBUECR.js");
7897
+ const { getSessionProcesses } = await import("./manager-RJH7EYIG.js");
7898
7898
  const sessionId = req.params.id;
7899
7899
  const processes = getSessionProcesses(sessionId);
7900
7900
  res.json({ processes });
7901
7901
  });
7902
7902
  app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
7903
- const { stopProcess } = await import("./manager-ZVHBUECR.js");
7903
+ const { stopProcess } = await import("./manager-RJH7EYIG.js");
7904
7904
  const sessionId = req.params.id;
7905
7905
  const processId = req.params.processId;
7906
7906
  const session = sessionManager.getSession(sessionId);
@@ -8045,7 +8045,7 @@ All file and git operations should use this branch.
8045
8045
  const state = sessionManager.getContextState(sessionId);
8046
8046
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
8047
8047
  });
8048
- const { QueueProcessor } = await import("./processor-33OESYXP.js");
8048
+ const { QueueProcessor } = await import("./processor-FTCPHWBM.js");
8049
8049
  const queueProcessor = new QueueProcessor({
8050
8050
  sessionManager,
8051
8051
  providerManager,
@@ -8129,4 +8129,4 @@ export {
8129
8129
  createServerHandle,
8130
8130
  createServer
8131
8131
  };
8132
- //# sourceMappingURL=chunk-I4M6SCMY.js.map
8132
+ //# sourceMappingURL=chunk-ZJW3KOII.js.map