openfox 2.0.143 → 2.0.145

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 (69) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/CHANGELOG.md +17 -0
  3. package/dist/auto-continue-ZAHNBHPA.js +111 -0
  4. package/dist/{chat-handler-VDB4CSXK.js → chat-handler-5XMO5XBU.js} +26 -25
  5. package/dist/{chunk-QZV3M6V5.js → chunk-2BARKBWV.js} +18 -16
  6. package/dist/{chunk-EX6ROYYS.js → chunk-2DBWCXAQ.js} +3 -3
  7. package/dist/chunk-2DVAF6HY.js +447 -0
  8. package/dist/{chunk-CYTC2E3O.js → chunk-3IVJ65IG.js} +12 -10
  9. package/dist/{chunk-HZOL7UEC.js → chunk-6FKSGQYO.js} +4 -4
  10. package/dist/{chunk-KVDOPLXJ.js → chunk-AWBV2VXO.js} +2 -2
  11. package/dist/{chunk-F3R4YS3F.js → chunk-CCIG3YLG.js} +2 -2
  12. package/dist/{chunk-IMQDO5EJ.js → chunk-DBTDMK23.js} +124 -107
  13. package/dist/{chunk-2CEZQAGQ.js → chunk-DJH6LMBT.js} +2 -2
  14. package/dist/{chunk-EFEHIJXF.js → chunk-E4F32L4Q.js} +2 -2
  15. package/dist/{chunk-CTAYPMB2.js → chunk-FAN4P45J.js} +2 -2
  16. package/dist/{chunk-5KA3L46F.js → chunk-FLTNKZNQ.js} +9 -9
  17. package/dist/{chunk-DNL2NUDB.js → chunk-GZ4EK4LZ.js} +2 -2
  18. package/dist/{chunk-H3QN2J4X.js → chunk-HNJ32GRI.js} +10 -8
  19. package/dist/{chunk-FHBLF2QR.js → chunk-L2RESXUF.js} +2 -2
  20. package/dist/{chunk-VKZBCC75.js → chunk-LG3LQLTZ.js} +13 -11
  21. package/dist/{chunk-DQEANXXF.js → chunk-ODETQHMI.js} +3 -3
  22. package/dist/{chunk-Z4CTMGFH.js → chunk-QKPTMHA2.js} +80 -53
  23. package/dist/chunk-QV4BKKIO.js +7 -0
  24. package/dist/{chunk-N5AJHJG5.js → chunk-STVJA7IX.js} +3 -3
  25. package/dist/{chunk-WSDR27YV.js → chunk-UO4X2ENE.js} +2 -2
  26. package/dist/{chunk-SJTBOREW.js → chunk-VFHGN3IS.js} +4 -4
  27. package/dist/{chunk-7XA3MEX2.js → chunk-X2BJFVER.js} +24 -22
  28. package/dist/{chunk-SKNPOZYP.js → chunk-X6SWZEK7.js} +3 -1
  29. package/dist/{chunk-TIIWXMGE.js → chunk-X7ZAP6YW.js} +2 -2
  30. package/dist/{chunk-MEPTCUYN.js → chunk-YEFZ5HBD.js} +2 -2
  31. package/dist/{chunk-DRIR2IZR.js → chunk-YEW4YEJU.js} +2 -2
  32. package/dist/{chunk-NJFXYSXP.js → chunk-YRSZJ7IZ.js} +11 -441
  33. package/dist/{chunk-Z7IT3V22.js → chunk-ZONLEX2F.js} +8 -4
  34. package/dist/cli/dev.js +1 -1
  35. package/dist/cli/index.js +1 -1
  36. package/dist/{client-ZEGIB3MF.js → client-L4PANCG4.js} +4 -4
  37. package/dist/{compactor-2MSRXHVA.js → compactor-53WDNC2S.js} +11 -10
  38. package/dist/{describe-image-QSEMMRV7.js → describe-image-IGLGVEOJ.js} +12 -11
  39. package/dist/{dynamic-context-3THEBFBI.js → dynamic-context-7AJC6AII.js} +11 -10
  40. package/dist/{events-UAUOGRSV.js → events-ODZ4SSBW.js} +11 -9
  41. package/dist/{export-import-SYYISNTZ.js → export-import-AH5HBHO6.js} +10 -8
  42. package/dist/{folding-IHD244OU.js → folding-V2R2MZ6Y.js} +4 -4
  43. package/dist/{http-client-RA7XFYPO.js → http-client-SZZBSL4U.js} +3 -3
  44. package/dist/{launch-MF2VT7SU.js → launch-2QA2EHCT.js} +26 -25
  45. package/dist/{manager-4SMHCFXY.js → manager-PDG7RKPA.js} +4 -4
  46. package/dist/{orchestrator-BU4RJHPZ.js → orchestrator-L5VINV36.js} +25 -24
  47. package/dist/package.json +1 -1
  48. package/dist/{path-security-WOA6MTWQ.js → path-security-3YFS3GJQ.js} +9 -8
  49. package/dist/{platform-EAZNZDAE.js → platform-WCXMN4NM.js} +3 -3
  50. package/dist/{processor-IZ4EAHPD.js → processor-UQ5ITWL6.js} +25 -24
  51. package/dist/{provider-YNTH5YG5.js → provider-QE7XSGYA.js} +5 -5
  52. package/dist/{provider-manager-2UENHAAA.js → provider-manager-WW2EF76W.js} +5 -5
  53. package/dist/{registry-C7RKKHZB.js → registry-24U5BZAJ.js} +3 -3
  54. package/dist/{serve-KKAOO7YM.js → serve-CIBBSOLM.js} +31 -30
  55. package/dist/server/index.js +30 -29
  56. package/dist/{server-PVO4USPN.js → server-YW3DO4K5.js} +29 -28
  57. package/dist/{service-OQZWTW34.js → service-KMOSB6SU.js} +7 -7
  58. package/dist/{session-overrides-CKS2AVE5.js → session-overrides-GQKE7WGE.js} +5 -5
  59. package/dist/{sessions-DAHLRQE2.js → sessions-A3IZYL6X.js} +4 -4
  60. package/dist/{settings-TR4BF2C4.js → settings-FQUDSGZF.js} +2 -2
  61. package/dist/store-AOZ46PBS.js +23 -0
  62. package/dist/{tasks-WC23TK6I.js → tasks-X5DM553T.js} +7 -7
  63. package/dist/{tools-CECV6XQ6.js → tools-RG4HDV75.js} +30 -29
  64. package/dist/{update-6MBRWJAV.js → update-5ENWM2XR.js} +2 -2
  65. package/dist/web/assets/{index-CxuR2kCS.js → index-DL26wmhi.js} +74 -74
  66. package/dist/web/index.html +1 -1
  67. package/dist/web/sw.js +1 -1
  68. package/package.json +1 -1
  69. package/dist/chunk-6DLQ2AV4.js +0 -7
@@ -9,7 +9,10 @@ import {
9
9
  terminalManager,
10
10
  tokenFromPassword,
11
11
  verifyPassword
12
- } from "./chunk-7XA3MEX2.js";
12
+ } from "./chunk-X2BJFVER.js";
13
+ import {
14
+ TEMPLATE_VARIABLES
15
+ } from "./chunk-LG3LQLTZ.js";
13
16
  import {
14
17
  projectSessionStatus
15
18
  } from "./chunk-T3S5MTMD.js";
@@ -25,9 +28,6 @@ import {
25
28
  setMcpOAuthStoreMode,
26
29
  setMcpOAuthStorePath
27
30
  } from "./chunk-IJ53Y77N.js";
28
- import {
29
- TEMPLATE_VARIABLES
30
- } from "./chunk-VKZBCC75.js";
31
31
  import {
32
32
  createToolRegistry,
33
33
  devServerManager,
@@ -42,7 +42,7 @@ import {
42
42
  setMcpManagerForTools,
43
43
  setMcpTools,
44
44
  setNotifyMcpServersChanged
45
- } from "./chunk-Z4CTMGFH.js";
45
+ } from "./chunk-QKPTMHA2.js";
46
46
  import {
47
47
  deleteOwnedSkill,
48
48
  deleteProjectSkill,
@@ -61,7 +61,7 @@ import {
61
61
  setSkillEnabled,
62
62
  skillExists,
63
63
  updateOwnedSkill
64
- } from "./chunk-2CEZQAGQ.js";
64
+ } from "./chunk-DJH6LMBT.js";
65
65
  import {
66
66
  checkoutBranchFromSharedSource,
67
67
  deleteWorkspace,
@@ -106,34 +106,29 @@ import {
106
106
  saveWorkflow,
107
107
  saveWorkflowToProject,
108
108
  workflowExists
109
- } from "./chunk-EX6ROYYS.js";
109
+ } from "./chunk-2DBWCXAQ.js";
110
110
  import {
111
111
  clearSessionOverrides,
112
112
  computeDisabledServersForProject,
113
113
  getSessionDisabledServers,
114
114
  initSessionMcpOverrides,
115
115
  setSessionDisabledServers
116
- } from "./chunk-WSDR27YV.js";
116
+ } from "./chunk-UO4X2ENE.js";
117
117
  import {
118
118
  serverT
119
- } from "./chunk-TIIWXMGE.js";
119
+ } from "./chunk-X7ZAP6YW.js";
120
+ import {
121
+ getPendingConfirmationsBySession,
122
+ providePathConfirmation
123
+ } from "./chunk-STVJA7IX.js";
120
124
  import {
121
125
  ALWAYS_ALLOWED,
122
126
  ALWAYS_ALLOWED_FOR_SUBAGENTS,
123
127
  TOP_LEVEL_ONLY_TOOLS
124
- } from "./chunk-Z7IT3V22.js";
128
+ } from "./chunk-ZONLEX2F.js";
125
129
  import {
126
130
  createMcpTools
127
131
  } from "./chunk-VIJVLLPT.js";
128
- import {
129
- EventEmitter,
130
- getPendingQuestionsForSession,
131
- provideAnswer
132
- } from "./chunk-V5AC2TV7.js";
133
- import {
134
- getPendingConfirmationsBySession,
135
- providePathConfirmation
136
- } from "./chunk-N5AJHJG5.js";
137
132
  import {
138
133
  combineEventsWithSnapshot,
139
134
  emitAssistantMessageStart,
@@ -148,13 +143,15 @@ import {
148
143
  emitUserMessage,
149
144
  emitWorkflowExecutionChanged,
150
145
  getCurrentContextWindowId,
146
+ getSessionState
147
+ } from "./chunk-2DVAF6HY.js";
148
+ import {
151
149
  getEventStore,
152
- getSessionState,
153
150
  initEventStore
154
- } from "./chunk-NJFXYSXP.js";
151
+ } from "./chunk-YRSZJ7IZ.js";
155
152
  import {
156
153
  buildMessagesFromStoredEvents
157
- } from "./chunk-EFEHIJXF.js";
154
+ } from "./chunk-E4F32L4Q.js";
158
155
  import {
159
156
  clearWorkflowExecution,
160
157
  createSession,
@@ -181,7 +178,7 @@ import {
181
178
  updateSessionRunning,
182
179
  updateSessionWorkdir,
183
180
  updateWorkflowExecutionStatus
184
- } from "./chunk-F3R4YS3F.js";
181
+ } from "./chunk-CCIG3YLG.js";
185
182
  import {
186
183
  agentExists,
187
184
  deleteAgent,
@@ -198,11 +195,16 @@ import {
198
195
  saveAgent,
199
196
  saveAgentToProject,
200
197
  setRuntimeConfig
201
- } from "./chunk-DRIR2IZR.js";
198
+ } from "./chunk-YEW4YEJU.js";
202
199
  import {
203
200
  findFileByInternalId,
204
201
  pathExists
205
202
  } from "./chunk-OSXPQSLW.js";
203
+ import {
204
+ EventEmitter,
205
+ getPendingQuestionsForSession,
206
+ provideAnswer
207
+ } from "./chunk-V5AC2TV7.js";
206
208
  import {
207
209
  createContextStateMessage,
208
210
  toClientSession
@@ -210,19 +212,19 @@ import {
210
212
  import {
211
213
  getPathSeparator,
212
214
  isAbsolutePath
213
- } from "./chunk-MEPTCUYN.js";
215
+ } from "./chunk-YEFZ5HBD.js";
214
216
  import {
215
217
  createProviderManager,
216
218
  detectModel,
217
219
  getLlmStatus,
218
220
  parseDefaultModelSelection
219
- } from "./chunk-KVDOPLXJ.js";
221
+ } from "./chunk-AWBV2VXO.js";
220
222
  import {
221
223
  buildOpenFoxMcpBootstrap
222
224
  } from "./chunk-YNMP647F.js";
223
225
  import {
224
226
  VERSION
225
- } from "./chunk-6DLQ2AV4.js";
227
+ } from "./chunk-QV4BKKIO.js";
226
228
  import {
227
229
  deleteProject,
228
230
  getProject,
@@ -245,12 +247,12 @@ import {
245
247
  import {
246
248
  SessionNotFoundError,
247
249
  WorkspaceInUseError
248
- } from "./chunk-DNL2NUDB.js";
250
+ } from "./chunk-GZ4EK4LZ.js";
249
251
  import {
250
252
  deleteSetting,
251
253
  getSetting,
252
254
  setSetting
253
- } from "./chunk-SKNPOZYP.js";
255
+ } from "./chunk-X6SWZEK7.js";
254
256
  import {
255
257
  initDatabase
256
258
  } from "./chunk-WOVWVB5J.js";
@@ -3145,9 +3147,9 @@ var SessionManager = class {
3145
3147
  * @throws Error for invalid payloads or unknown project
3146
3148
  */
3147
3149
  async importSession(projectId, rawPayload) {
3148
- const { parseSessionExport, IMPORTED_SESSION_REMINDER, SESSION_EXPORT_VERSION } = await import("./export-import-SYYISNTZ.js");
3149
- const { injectContextDriftReminders, getToolSetFingerprint } = await import("./dynamic-context-3THEBFBI.js");
3150
- const { loadAllAgentsDefault: loadAllAgentsDefault2, resolveDefaultAgentId } = await import("./registry-C7RKKHZB.js");
3150
+ const { parseSessionExport, IMPORTED_SESSION_REMINDER, SESSION_EXPORT_VERSION } = await import("./export-import-AH5HBHO6.js");
3151
+ const { injectContextDriftReminders, getToolSetFingerprint } = await import("./dynamic-context-7AJC6AII.js");
3152
+ const { loadAllAgentsDefault: loadAllAgentsDefault2, resolveDefaultAgentId } = await import("./registry-24U5BZAJ.js");
3151
3153
  const payload = parseSessionExport(rawPayload);
3152
3154
  if (payload.version !== SESSION_EXPORT_VERSION) {
3153
3155
  throw new Error(`Unsupported session export version: ${payload.version}`);
@@ -6676,7 +6678,7 @@ function createAutoUpdateRoutes(options = {}) {
6676
6678
  });
6677
6679
  clearTimeout(timeout);
6678
6680
  if (exitCode === 0) {
6679
- const versionMatch = stdout.match(/Updated: ([\d.]+)/);
6681
+ const versionMatch = stdout.match(/(?:Updated|Mis à jour) ?: ([\d.]+)/);
6680
6682
  const version = versionMatch?.[1] ?? VERSION;
6681
6683
  res.json({ success: true, version, isService });
6682
6684
  } else {
@@ -7246,7 +7248,7 @@ function detectWsl() {
7246
7248
  // src/server/index.ts
7247
7249
  var __dirname3 = dirname7(fileURLToPath6(import.meta.url));
7248
7250
  async function announceContextDrift(sessionManager, sessionIds) {
7249
- const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-3THEBFBI.js");
7251
+ const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-7AJC6AII.js");
7250
7252
  await injectContextDriftRemindersForSessions(sessionManager, sessionIds);
7251
7253
  }
7252
7254
  async function createServerHandle(config3) {
@@ -7339,7 +7341,7 @@ async function createServerHandle(config3) {
7339
7341
  }
7340
7342
  });
7341
7343
  setMcpManagerForTools(mcpManager);
7342
- const { setGlobalMcpServersProvider } = await import("./session-overrides-CKS2AVE5.js");
7344
+ const { setGlobalMcpServersProvider } = await import("./session-overrides-GQKE7WGE.js");
7343
7345
  setGlobalMcpServersProvider(
7344
7346
  () => mcpManager.getAllServers().map((s) => ({ name: s.name, disabled: s.config.disabled }))
7345
7347
  );
@@ -7362,7 +7364,7 @@ async function createServerHandle(config3) {
7362
7364
  toolRegistry = createToolRegistry();
7363
7365
  logger.info("MCP tools registered", { count: mcpTools.length });
7364
7366
  }
7365
- const { signalMcpReady } = await import("./server-PVO4USPN.js");
7367
+ const { signalMcpReady } = await import("./server-YW3DO4K5.js");
7366
7368
  signalMcpReady();
7367
7369
  }
7368
7370
  const app = express();
@@ -7577,9 +7579,9 @@ async function createServerHandle(config3) {
7577
7579
  const sessionFavoriteRouter = express.Router();
7578
7580
  registerSessionFavoriteRoute(sessionFavoriteRouter, sessionManager);
7579
7581
  app.use("/api", sessionFavoriteRouter);
7580
- const { createTasksService } = await import("./service-OQZWTW34.js");
7581
- const { registerTaskRoutes } = await import("./tasks-WC23TK6I.js");
7582
- const { setTasksService } = await import("./tools-CECV6XQ6.js");
7582
+ const { createTasksService } = await import("./service-KMOSB6SU.js");
7583
+ const { registerTaskRoutes } = await import("./tasks-X5DM553T.js");
7584
+ const { setTasksService } = await import("./tools-RG4HDV75.js");
7583
7585
  const tasksService = createTasksService({
7584
7586
  sessionManager,
7585
7587
  config: config3,
@@ -7614,7 +7616,7 @@ async function createServerHandle(config3) {
7614
7616
  }
7615
7617
  try {
7616
7618
  await checkoutBranch(project.workdir, branch);
7617
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-DAHLRQE2.js");
7619
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-A3IZYL6X.js");
7618
7620
  const allSessions = sessionManager.listSessions();
7619
7621
  for (const s of allSessions) {
7620
7622
  if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
@@ -7650,7 +7652,7 @@ async function createServerHandle(config3) {
7650
7652
  );
7651
7653
  }
7652
7654
  await createBranch(project.workdir, name, sb);
7653
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-DAHLRQE2.js");
7655
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-A3IZYL6X.js");
7654
7656
  const allSessions = sessionManager.listSessions();
7655
7657
  for (const s of allSessions) {
7656
7658
  if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
@@ -7682,7 +7684,7 @@ async function createServerHandle(config3) {
7682
7684
  if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
7683
7685
  const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
7684
7686
  const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-ENN27P56.js");
7685
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-DAHLRQE2.js");
7687
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-A3IZYL6X.js");
7686
7688
  try {
7687
7689
  await validateRef2(effectiveWorkdir, branch);
7688
7690
  await checkoutBranch(effectiveWorkdir, branch);
@@ -7725,7 +7727,7 @@ All file and git operations should use this branch.
7725
7727
  if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
7726
7728
  const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
7727
7729
  const { validateRef: validateRef2 } = await import("./workspace-ENN27P56.js");
7728
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-DAHLRQE2.js");
7730
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-A3IZYL6X.js");
7729
7731
  try {
7730
7732
  await validateRef2(effectiveWorkdir, name);
7731
7733
  if (sourceBranch) {
@@ -7780,8 +7782,8 @@ All file and git operations should use this branch.
7780
7782
  res.json({ workspaces: workspacesList });
7781
7783
  });
7782
7784
  app.get("/api/sessions", async (req, res) => {
7783
- const { getRecentUserPromptsForSession } = await import("./events-UAUOGRSV.js");
7784
- const { getPendingConfirmationsBySession: getPendingConfirmationsBySession2 } = await import("./path-security-WOA6MTWQ.js");
7785
+ const { getRecentUserPromptsForSession } = await import("./events-ODZ4SSBW.js");
7786
+ const { getPendingConfirmationsBySession: getPendingConfirmationsBySession2 } = await import("./path-security-3YFS3GJQ.js");
7785
7787
  const projectId = req.query["projectId"];
7786
7788
  const rawLimit = req.query["limit"];
7787
7789
  const offset = parseInt(req.query["offset"]) || 0;
@@ -7899,10 +7901,10 @@ All file and git operations should use this branch.
7899
7901
  }
7900
7902
  });
7901
7903
  app.get("/api/sessions/:id", async (req, res) => {
7902
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-UAUOGRSV.js");
7903
- const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-IHD244OU.js");
7904
- const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CECV6XQ6.js");
7905
- const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
7904
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ODZ4SSBW.js");
7905
+ const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-V2R2MZ6Y.js");
7906
+ const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-RG4HDV75.js");
7907
+ const { getMaxVisibleItems } = await import("./settings-FQUDSGZF.js");
7906
7908
  const session = sessionManager.getSession(req.params.id);
7907
7909
  if (!session) {
7908
7910
  return res.status(404).json({ error: "Session not found" });
@@ -7930,9 +7932,9 @@ All file and git operations should use this branch.
7930
7932
  });
7931
7933
  app.get("/api/sessions/:id/status", async (req, res) => {
7932
7934
  const { projectSessionStatus: projectSessionStatus2 } = await import("./session-status-UFO5IFI7.js");
7933
- const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CECV6XQ6.js");
7934
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-UAUOGRSV.js");
7935
- const { foldPendingConfirmations } = await import("./folding-IHD244OU.js");
7935
+ const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-RG4HDV75.js");
7936
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ODZ4SSBW.js");
7937
+ const { foldPendingConfirmations } = await import("./folding-V2R2MZ6Y.js");
7936
7938
  const sessionId = req.params["id"];
7937
7939
  if (!sessionId) {
7938
7940
  return res.status(400).json({ error: "Session id is required" });
@@ -7962,8 +7964,8 @@ All file and git operations should use this branch.
7962
7964
  if (!session) {
7963
7965
  return res.status(404).json({ error: "Session not found" });
7964
7966
  }
7965
- const { stopSessionExecution } = await import("./chat-handler-VDB4CSXK.js");
7966
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
7967
+ const { stopSessionExecution } = await import("./chat-handler-5XMO5XBU.js");
7968
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-RG4HDV75.js");
7967
7969
  sessionManager.clearMessageQueue(sessionId);
7968
7970
  stopSessionExecution(sessionId, sessionManager);
7969
7971
  abortSession(sessionId);
@@ -7992,9 +7994,9 @@ All file and git operations should use this branch.
7992
7994
  res.json({ success: true });
7993
7995
  });
7994
7996
  app.post("/api/sessions/:id/provider", async (req, res) => {
7995
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-UAUOGRSV.js");
7996
- const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-IHD244OU.js");
7997
- const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
7997
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ODZ4SSBW.js");
7998
+ const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-V2R2MZ6Y.js");
7999
+ const { getMaxVisibleItems } = await import("./settings-FQUDSGZF.js");
7998
8000
  const sessionId = req.params.id;
7999
8001
  const session = sessionManager.getSession(sessionId);
8000
8002
  if (!session) {
@@ -8023,9 +8025,9 @@ All file and git operations should use this branch.
8023
8025
  res.json({ session: toClientSession(updatedSession), messages, hiddenCount, contextState });
8024
8026
  });
8025
8027
  app.delete("/api/sessions/:id/provider", async (req, res) => {
8026
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-UAUOGRSV.js");
8027
- const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-IHD244OU.js");
8028
- const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
8028
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ODZ4SSBW.js");
8029
+ const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-V2R2MZ6Y.js");
8030
+ const { getMaxVisibleItems } = await import("./settings-FQUDSGZF.js");
8029
8031
  const sessionId = req.params.id;
8030
8032
  const session = sessionManager.getSession(sessionId);
8031
8033
  if (!session) {
@@ -8157,9 +8159,9 @@ All file and git operations should use this branch.
8157
8159
  res.json({ success: true });
8158
8160
  });
8159
8161
  app.put("/api/sessions/:id/mode", async (req, res) => {
8160
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-UAUOGRSV.js");
8161
- const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-IHD244OU.js");
8162
- const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
8162
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ODZ4SSBW.js");
8163
+ const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-V2R2MZ6Y.js");
8164
+ const { getMaxVisibleItems } = await import("./settings-FQUDSGZF.js");
8163
8165
  const sessionId = req.params.id;
8164
8166
  const session = sessionManager.getSession(sessionId);
8165
8167
  if (!session) {
@@ -8195,7 +8197,7 @@ All file and git operations should use this branch.
8195
8197
  }
8196
8198
  sessionManager.setDangerLevel(sessionId, dangerLevel);
8197
8199
  if (dangerLevel === "dangerous") {
8198
- const { autoApprovePendingConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
8200
+ const { autoApprovePendingConfirmationsForSession } = await import("./tools-RG4HDV75.js");
8199
8201
  const approvedCallIds = autoApprovePendingConfirmationsForSession(sessionId);
8200
8202
  for (const callId of approvedCallIds) {
8201
8203
  wssExports.broadcastForSession(sessionId, {
@@ -8230,7 +8232,7 @@ All file and git operations should use this branch.
8230
8232
  setSessionDisabledServers(sessionId, disabledServers);
8231
8233
  const messages = session.messages ?? [];
8232
8234
  if (messages.length === 0) {
8233
- const { applyDynamicContext } = await import("./dynamic-context-3THEBFBI.js");
8235
+ const { applyDynamicContext } = await import("./dynamic-context-7AJC6AII.js");
8234
8236
  const modelName = session.providerModel ?? providerManager.getCurrentModel();
8235
8237
  await applyDynamicContext(sessionManager, sessionId, modelName);
8236
8238
  } else {
@@ -8264,7 +8266,7 @@ All file and git operations should use this branch.
8264
8266
  if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
8265
8267
  return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
8266
8268
  }
8267
- const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-CECV6XQ6.js");
8269
+ const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-RG4HDV75.js");
8268
8270
  const pendingSessionId = getConfirmationSessionId(callId);
8269
8271
  if (!pendingSessionId) {
8270
8272
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -8276,11 +8278,11 @@ All file and git operations should use this branch.
8276
8278
  if (!result.found) {
8277
8279
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
8278
8280
  }
8279
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-UAUOGRSV.js");
8280
- const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-IHD244OU.js");
8281
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-ODZ4SSBW.js");
8282
+ const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-V2R2MZ6Y.js");
8281
8283
  const { createSessionStateMessage } = await import("./protocol-MRMOB3P4.js");
8282
- const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CECV6XQ6.js");
8283
- const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
8284
+ const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-RG4HDV75.js");
8285
+ const { getMaxVisibleItems } = await import("./settings-FQUDSGZF.js");
8284
8286
  const eventStore = getEventStore2();
8285
8287
  const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
8286
8288
  const events = combineEvents(sessionId, snapshot, eventsSinceSnapshot);
@@ -8317,7 +8319,7 @@ All file and git operations should use this branch.
8317
8319
  if (!skip && typeof answer !== "string") {
8318
8320
  return res.status(400).json({ error: "answer is required when not skipping" });
8319
8321
  }
8320
- const { provideAnswer: provideAnswer2 } = await import("./tools-CECV6XQ6.js");
8322
+ const { provideAnswer: provideAnswer2 } = await import("./tools-RG4HDV75.js");
8321
8323
  const found = provideAnswer2(callId, answer ?? "", skip ?? false);
8322
8324
  if (!found) {
8323
8325
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -8350,8 +8352,8 @@ All file and git operations should use this branch.
8350
8352
  if (!session) {
8351
8353
  return res.status(404).json({ error: "Session not found" });
8352
8354
  }
8353
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-TR4BF2C4.js");
8354
- if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
8355
+ const { getSetting: getSetting3, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-FQUDSGZF.js");
8356
+ if (getSetting3(SETTINGS_KEYS2.CACHE_WARMING) !== "true") {
8355
8357
  return res.json({ success: false, reason: "disabled" });
8356
8358
  }
8357
8359
  if (session.messages.length > 0) {
@@ -8383,7 +8385,7 @@ All file and git operations should use this branch.
8383
8385
  backend: activeProvider?.backend ?? llmClient.getBackend(),
8384
8386
  model: llmClient.getModel()
8385
8387
  };
8386
- const { runAgentTurn, TurnMetrics } = await import("./orchestrator-BU4RJHPZ.js");
8388
+ const { runAgentTurn, TurnMetrics } = await import("./orchestrator-L5VINV36.js");
8387
8389
  runAgentTurn(
8388
8390
  {
8389
8391
  sessionManager,
@@ -8421,15 +8423,15 @@ All file and git operations should use this branch.
8421
8423
  if (!session) {
8422
8424
  return res.status(404).json({ error: "Session not found" });
8423
8425
  }
8424
- const { stopSessionExecution } = await import("./chat-handler-VDB4CSXK.js");
8425
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
8426
+ const { stopSessionExecution } = await import("./chat-handler-5XMO5XBU.js");
8427
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-RG4HDV75.js");
8426
8428
  const queuedMessages = sessionManager.getQueueState(sessionId);
8427
8429
  sessionManager.clearMessageQueue(sessionId);
8428
8430
  stopSessionExecution(sessionId, sessionManager);
8429
8431
  abortSession(sessionId);
8430
8432
  cancelQuestionsForSession(sessionId, "Session stopped by user");
8431
8433
  cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
8432
- const eventStore = (await import("./events-UAUOGRSV.js")).getEventStore();
8434
+ const eventStore = (await import("./events-ODZ4SSBW.js")).getEventStore();
8433
8435
  eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
8434
8436
  res.json({ success: true, queuedMessages });
8435
8437
  });
@@ -8470,7 +8472,7 @@ All file and git operations should use this branch.
8470
8472
  if (typeof messageIndex !== "number" || messageIndex < 0) {
8471
8473
  return res.status(400).json({ error: "messageIndex must be a non-negative number" });
8472
8474
  }
8473
- const { truncateSessionMessages } = await import("./events-UAUOGRSV.js");
8475
+ const { truncateSessionMessages } = await import("./events-ODZ4SSBW.js");
8474
8476
  truncateSessionMessages(sessionId, messageIndex);
8475
8477
  res.json({ success: true });
8476
8478
  });
@@ -8490,8 +8492,8 @@ All file and git operations should use this branch.
8490
8492
  if (attachments !== void 0 && !Array.isArray(attachments)) {
8491
8493
  return res.status(400).json({ error: "attachments must be an array if provided" });
8492
8494
  }
8493
- const { getEventStore: getEventStore2 } = await import("./events-UAUOGRSV.js");
8494
- const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-IHD244OU.js");
8495
+ const { getEventStore: getEventStore2 } = await import("./events-ODZ4SSBW.js");
8496
+ const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-V2R2MZ6Y.js");
8495
8497
  const eventStore = getEventStore2();
8496
8498
  const events = eventStore.getEvents(sessionId);
8497
8499
  const { messages } = buildMessagesFromStoredEvents2(events);
@@ -8503,7 +8505,7 @@ All file and git operations should use this branch.
8503
8505
  if (msg.role !== "user" || msg.isSystemGenerated) {
8504
8506
  return res.status(400).json({ error: "Can only replay user messages" });
8505
8507
  }
8506
- const { truncateSessionMessages } = await import("./events-UAUOGRSV.js");
8508
+ const { truncateSessionMessages } = await import("./events-ODZ4SSBW.js");
8507
8509
  truncateSessionMessages(sessionId, msgIndex - 1);
8508
8510
  sessionManager.queueMessage(
8509
8511
  sessionId,
@@ -8545,7 +8547,7 @@ All file and git operations should use this branch.
8545
8547
  return res.status(404).json({ error: "Session not found" });
8546
8548
  }
8547
8549
  try {
8548
- const { buildSessionExport } = await import("./export-import-SYYISNTZ.js");
8550
+ const { buildSessionExport } = await import("./export-import-AH5HBHO6.js");
8549
8551
  const payload = buildSessionExport(sessionManager, sessionId);
8550
8552
  const filename = `${(payload.session.title ?? "session").replace(/[^a-zA-Z0-9-_]/g, "_")}.openfox-session.json`;
8551
8553
  res.setHeader("Content-Disposition", `attachment; filename="${filename}"`);
@@ -8602,7 +8604,7 @@ All file and git operations should use this branch.
8602
8604
  res.json({ accepted: true });
8603
8605
  });
8604
8606
  app.get("/api/settings", async (req, res) => {
8605
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TR4BF2C4.js");
8607
+ const { getSetting: getSetting3, SETTINGS_DEFAULTS } = await import("./settings-FQUDSGZF.js");
8606
8608
  const keysParam = req.query["keys"];
8607
8609
  if (!keysParam) {
8608
8610
  return res.status(400).json({ error: "keys query parameter is required" });
@@ -8610,24 +8612,24 @@ All file and git operations should use this branch.
8610
8612
  const keys = keysParam.split(",").map((k) => k.trim());
8611
8613
  const result = {};
8612
8614
  for (const key of keys) {
8613
- result[key] = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? "";
8615
+ result[key] = getSetting3(key) ?? SETTINGS_DEFAULTS[key] ?? "";
8614
8616
  }
8615
8617
  res.json(result);
8616
8618
  });
8617
8619
  app.get("/api/settings/:key", async (req, res) => {
8618
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TR4BF2C4.js");
8620
+ const { getSetting: getSetting3, SETTINGS_DEFAULTS } = await import("./settings-FQUDSGZF.js");
8619
8621
  const key = req.params.key;
8620
- const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
8622
+ const value = getSetting3(key) ?? SETTINGS_DEFAULTS[key] ?? null;
8621
8623
  res.json({ key, value });
8622
8624
  });
8623
8625
  app.get("/api/settings/:key", async (req, res) => {
8624
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TR4BF2C4.js");
8626
+ const { getSetting: getSetting3, SETTINGS_DEFAULTS } = await import("./settings-FQUDSGZF.js");
8625
8627
  const key = req.params.key;
8626
- const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
8628
+ const value = getSetting3(key) ?? SETTINGS_DEFAULTS[key] ?? null;
8627
8629
  res.json({ key, value });
8628
8630
  });
8629
8631
  app.put("/api/settings/:key", async (req, res) => {
8630
- const { setSetting: setSetting2 } = await import("./settings-TR4BF2C4.js");
8632
+ const { setSetting: setSetting2 } = await import("./settings-FQUDSGZF.js");
8631
8633
  const key = req.params.key;
8632
8634
  const { value } = req.body;
8633
8635
  if (value === void 0) {
@@ -8654,7 +8656,7 @@ All file and git operations should use this branch.
8654
8656
  }
8655
8657
  });
8656
8658
  app.get("/api/tools/shells", async (_req, res) => {
8657
- const { listAvailableShells } = await import("./platform-EAZNZDAE.js");
8659
+ const { listAvailableShells } = await import("./platform-WCXMN4NM.js");
8658
8660
  res.json({ shells: listAvailableShells() });
8659
8661
  });
8660
8662
  app.get("/api/config", async (_req, res) => {
@@ -8692,7 +8694,7 @@ All file and git operations should use this branch.
8692
8694
  defaultModelSelection: config3.defaultModelSelection,
8693
8695
  visionFallback,
8694
8696
  platform: platformInfo,
8695
- locale: (await import("./settings-TR4BF2C4.js")).getSetting("display.locale") ?? "automatic"
8697
+ locale: (await import("./settings-FQUDSGZF.js")).getSetting("display.locale") ?? "automatic"
8696
8698
  });
8697
8699
  });
8698
8700
  app.post("/api/model/refresh", async (_req, res) => {
@@ -8748,8 +8750,8 @@ All file and git operations should use this branch.
8748
8750
  }));
8749
8751
  }
8750
8752
  app.post("/api/proxy/test", async (_req, res) => {
8751
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-TR4BF2C4.js");
8752
- const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
8753
+ const { getSetting: getSetting3, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-FQUDSGZF.js");
8754
+ const proxyUrl = getSetting3(SETTINGS_KEYS2.PROXY_URL);
8753
8755
  if (!proxyUrl) {
8754
8756
  return res.status(400).json({ success: false, error: "No proxy URL configured" });
8755
8757
  }
@@ -8840,8 +8842,8 @@ All file and git operations should use this branch.
8840
8842
  }
8841
8843
  });
8842
8844
  app.post("/api/proxy/test", async (_req, res) => {
8843
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-TR4BF2C4.js");
8844
- const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
8845
+ const { getSetting: getSetting3, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-FQUDSGZF.js");
8846
+ const proxyUrl = getSetting3(SETTINGS_KEYS2.PROXY_URL);
8845
8847
  if (!proxyUrl) {
8846
8848
  return res.status(400).json({ success: false, error: "No proxy URL configured" });
8847
8849
  }
@@ -8867,7 +8869,7 @@ All file and git operations should use this branch.
8867
8869
  const backend = req.query["backend"];
8868
8870
  if (!url) return res.status(400).json({ error: "url is required" });
8869
8871
  try {
8870
- const { fetchModelsWithContext } = await import("./provider-manager-2UENHAAA.js");
8872
+ const { fetchModelsWithContext } = await import("./provider-manager-WW2EF76W.js");
8871
8873
  const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
8872
8874
  const { getCatalogEntry } = await import("./model-catalog-Y5MA5OZP.js");
8873
8875
  const models = await fetchModelsWithContext(
@@ -8942,7 +8944,7 @@ All file and git operations should use this branch.
8942
8944
  const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
8943
8945
  const { getBackendCapabilities } = await import("./backend-2VSDPCWS.js");
8944
8946
  const { buildNonStreamingCreateParams } = await import("./client-pure-YZ4IGCU4.js");
8945
- const { OpenAIHttpClient } = await import("./http-client-RA7XFYPO.js");
8947
+ const { OpenAIHttpClient } = await import("./http-client-SZZBSL4U.js");
8946
8948
  const { ensureVersionPrefix } = await import("./url-utils-C5BM7NF7.js");
8947
8949
  const profile = getModelProfile2(model);
8948
8950
  const capabilities = getBackendCapabilities(backend || "unknown");
@@ -9219,7 +9221,7 @@ All file and git operations should use this branch.
9219
9221
  if (clearedSessions > 0) {
9220
9222
  logger.info("Cleared provider from sessions of deleted provider", { providerId: id, sessions: clearedSessions });
9221
9223
  }
9222
- const { pruneFavoriteModels } = await import("./settings-TR4BF2C4.js");
9224
+ const { pruneFavoriteModels } = await import("./settings-FQUDSGZF.js");
9223
9225
  pruneFavoriteModels(updatedConfig.providers);
9224
9226
  res.json({ success: true });
9225
9227
  });
@@ -9282,7 +9284,7 @@ All file and git operations should use this branch.
9282
9284
  await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
9283
9285
  providerManager.setProviders(updatedConfig.providers, updatedConfig.defaultModelSelection ?? void 0);
9284
9286
  config3.defaultModelSelection = updatedConfig.defaultModelSelection;
9285
- const { pruneFavoriteModels } = await import("./settings-TR4BF2C4.js");
9287
+ const { pruneFavoriteModels } = await import("./settings-FQUDSGZF.js");
9286
9288
  pruneFavoriteModels(updatedConfig.providers);
9287
9289
  res.json({ success: true, provider: updatedConfig.providers.find((p) => p.id === id) });
9288
9290
  } catch (error) {
@@ -9368,7 +9370,7 @@ All file and git operations should use this branch.
9368
9370
  });
9369
9371
  async function rebuildMcpTools() {
9370
9372
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-ZY4FC4C4.js");
9371
- const { setMcpTools: setMcpTools2 } = await import("./tools-CECV6XQ6.js");
9373
+ const { setMcpTools: setMcpTools2 } = await import("./tools-RG4HDV75.js");
9372
9374
  const mcpTools = createMcpTools2(mcpManager);
9373
9375
  setMcpTools2(mcpTools);
9374
9376
  toolRegistry = createToolRegistry();
@@ -9798,13 +9800,13 @@ All file and git operations should use this branch.
9798
9800
  })
9799
9801
  );
9800
9802
  app.get("/api/sessions/:id/background-processes", async (req, res) => {
9801
- const { getSessionProcesses } = await import("./manager-4SMHCFXY.js");
9803
+ const { getSessionProcesses } = await import("./manager-PDG7RKPA.js");
9802
9804
  const sessionId = req.params.id;
9803
9805
  const processes = getSessionProcesses(sessionId);
9804
9806
  res.json({ processes });
9805
9807
  });
9806
9808
  app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
9807
- const { stopProcess } = await import("./manager-4SMHCFXY.js");
9809
+ const { stopProcess } = await import("./manager-PDG7RKPA.js");
9808
9810
  const sessionId = req.params.id;
9809
9811
  const processId = req.params.processId;
9810
9812
  const session = sessionManager.getSession(sessionId);
@@ -9944,7 +9946,7 @@ All file and git operations should use this branch.
9944
9946
  );
9945
9947
  const wss = wssExports.wss;
9946
9948
  deferTasksBroadcast = (_projectId, payload) => wssExports.broadcastAll({ type: "tasks.update", payload });
9947
- const { launchWorkflowRun, abortRunnerRun } = await import("./launch-MF2VT7SU.js");
9949
+ const { launchWorkflowRun, abortRunnerRun } = await import("./launch-2QA2EHCT.js");
9948
9950
  deferTasksLaunchWorkflow = (sessionId, launch) => {
9949
9951
  const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
9950
9952
  let llmClient = getLLMClient();
@@ -9989,7 +9991,7 @@ All file and git operations should use this branch.
9989
9991
  const state = sessionManager.getContextState(sessionId);
9990
9992
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
9991
9993
  });
9992
- const { QueueProcessor } = await import("./processor-IZ4EAHPD.js");
9994
+ const { QueueProcessor } = await import("./processor-UQ5ITWL6.js");
9993
9995
  const queueProcessor = new QueueProcessor({
9994
9996
  sessionManager,
9995
9997
  providerManager,
@@ -9999,6 +10001,21 @@ All file and git operations should use this branch.
9999
10001
  broadcastForSession: wssExports.broadcastForSession
10000
10002
  });
10001
10003
  queueProcessor.start();
10004
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-FQUDSGZF.js");
10005
+ if (getSetting2(SETTINGS_KEYS.AUTO_CONTINUE_ON_BOOT) === "true") {
10006
+ const { getStaleRunningSessionIds } = await import("./store-AOZ46PBS.js");
10007
+ const { runBootAutoContinuations } = await import("./auto-continue-ZAHNBHPA.js");
10008
+ const staleIds = getStaleRunningSessionIds();
10009
+ if (staleIds.length > 0) {
10010
+ const continued = runBootAutoContinuations(staleIds, {
10011
+ getEvents: (sessionId) => getEventStore().getEvents(sessionId),
10012
+ hasActiveWorkflow: (sessionId) => sessionManager.getActiveWorkflowExecution(sessionId) !== null,
10013
+ appendEvent: (sessionId, event) => getEventStore().append(sessionId, event),
10014
+ queueMessage: (sessionId, content) => sessionManager.queueMessage(sessionId, "asap", content, void 0, "auto-prompt")
10015
+ });
10016
+ logger.info("Boot auto-continuation queued", { sessions: staleIds.length, continued });
10017
+ }
10018
+ }
10002
10019
  const abortSession = (sessionId) => {
10003
10020
  const wsAborted = wssExports.abortSession(sessionId);
10004
10021
  const qpAborted = queueProcessor.abortSession(sessionId);
@@ -10031,8 +10048,8 @@ All file and git operations should use this branch.
10031
10048
  launchWorkflow: (sessionId, launch) => deferTasksLaunchWorkflow(sessionId, launch),
10032
10049
  stopSession: (sessionId) => {
10033
10050
  void (async () => {
10034
- const { stopSessionExecution } = await import("./chat-handler-VDB4CSXK.js");
10035
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
10051
+ const { stopSessionExecution } = await import("./chat-handler-5XMO5XBU.js");
10052
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-RG4HDV75.js");
10036
10053
  sessionManager.clearMessageQueue(sessionId);
10037
10054
  stopSessionExecution(sessionId, sessionManager);
10038
10055
  abortSession(sessionId);
@@ -10159,4 +10176,4 @@ export {
10159
10176
  createServerHandle,
10160
10177
  createServer
10161
10178
  };
10162
- //# sourceMappingURL=chunk-IMQDO5EJ.js.map
10179
+ //# sourceMappingURL=chunk-DBTDMK23.js.map