openfox 2.0.106 → 2.0.108

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 (74) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/CHANGELOG.md +27 -0
  3. package/dist/{chat-handler-A22X22VZ.js → chat-handler-UZ2A75DG.js} +21 -21
  4. package/dist/{chunk-46KNPXY6.js → chunk-3GJFZQNV.js} +3 -3
  5. package/dist/{chunk-HU22EVEM.js → chunk-3MYD6Y4W.js} +6 -6
  6. package/dist/{chunk-SUTJJWUK.js → chunk-63ZAFYQ7.js} +8 -8
  7. package/dist/{chunk-AYUUGKZU.js → chunk-7FKSDR7H.js} +11 -11
  8. package/dist/{chunk-27SDWNKL.js → chunk-B5MH4HQ6.js} +12 -2
  9. package/dist/{chunk-QBKAW5H4.js → chunk-CF2HEP3M.js} +4 -4
  10. package/dist/{chunk-TB7TTPYQ.js → chunk-EYMGV4YA.js} +2 -2
  11. package/dist/{chunk-RRTKVJMF.js → chunk-FR5LUTLQ.js} +12 -2
  12. package/dist/{chunk-LOHVZGCM.js → chunk-GWMNR3LC.js} +3 -3
  13. package/dist/{chunk-6VNB4L4V.js → chunk-HGOEHSVC.js} +3 -3
  14. package/dist/{chunk-G2VLGZ3Y.js → chunk-I4M6SCMY.js} +97 -146
  15. package/dist/{chunk-UXQN7FGB.js → chunk-ID4N6PM6.js} +2 -2
  16. package/dist/{chunk-V6Y6OLB4.js → chunk-IRWZJPPA.js} +2 -2
  17. package/dist/{chunk-6M44ZHQA.js → chunk-JBZW5BZX.js} +40 -20
  18. package/dist/{chunk-3C73IUUL.js → chunk-JH6SOEQW.js} +32 -4
  19. package/dist/{chunk-5M45NHQ2.js → chunk-JR54MDZI.js} +2 -2
  20. package/dist/{chunk-26DEYDYV.js → chunk-KYY5PAGE.js} +4 -4
  21. package/dist/{chunk-WDJOSRIB.js → chunk-L737Y63F.js} +5 -2
  22. package/dist/{chunk-KIAKWUZ3.js → chunk-MPWLBKSK.js} +9 -1
  23. package/dist/{chunk-X3USQHHK.js → chunk-P7HT6IJW.js} +3 -3
  24. package/dist/{chunk-OEPRHAIO.js → chunk-P7WCFUPJ.js} +2 -2
  25. package/dist/{chunk-P4APMCTX.js → chunk-PSAWMCD6.js} +16 -52
  26. package/dist/{chunk-UCIZV76E.js → chunk-Q4P4CWWV.js} +3 -3
  27. package/dist/{chunk-GXW4CRR5.js → chunk-QDKLJZO4.js} +130 -57
  28. package/dist/{chunk-IA4Y3CKA.js → chunk-TMVXOLBS.js} +2 -2
  29. package/dist/chunk-UWF4L4CK.js +7 -0
  30. package/dist/{chunk-2GM6SUIQ.js → chunk-WFWFRUBU.js} +2 -2
  31. package/dist/{chunk-SGJ3LSVA.js → chunk-YBIJI53N.js} +2 -2
  32. package/dist/cli/dev.js +1 -1
  33. package/dist/cli/index.js +1 -1
  34. package/dist/{client-MP3FSNN7.js → client-R4TZCZTO.js} +5 -5
  35. package/dist/{client-pure-USVHN4WG.js → client-pure-VFZIIK4S.js} +2 -2
  36. package/dist/{compactor-KK2BVJK5.js → compactor-U3MAROGM.js} +11 -11
  37. package/dist/{dynamic-context-ZUXI5UTW.js → dynamic-context-H7AVSAXQ.js} +7 -7
  38. package/dist/{events-OJ2R6OEM.js → events-7WAOX35W.js} +6 -6
  39. package/dist/{folding-DUZSKCZF.js → folding-MJDFKOHT.js} +4 -4
  40. package/dist/{http-client-KJXFSK7A.js → http-client-NHVT6E5C.js} +3 -3
  41. package/dist/{manager-N27WNW5B.js → manager-ZVHBUECR.js} +4 -4
  42. package/dist/{model-overrides-36SQR3JR.js → model-overrides-47LYCLFO.js} +3 -3
  43. package/dist/{orchestrator-VZORJ7KF.js → orchestrator-X7H5JRM5.js} +20 -20
  44. package/dist/package.json +4 -2
  45. package/dist/{path-security-QCIA6YFV.js → path-security-26J53LD4.js} +8 -8
  46. package/dist/{platform-Q6T3AUHA.js → platform-JOAXLXYQ.js} +3 -3
  47. package/dist/{processor-QYVHKRIV.js → processor-33OESYXP.js} +20 -20
  48. package/dist/{protocol-YDNGGADL.js → protocol-SPIJPOEN.js} +2 -2
  49. package/dist/{protocol-zRSsysOe.d.ts → protocol-_Gphic7p.d.ts} +1 -1
  50. package/dist/provider/index.d.ts +4 -4
  51. package/dist/{provider-RQQ5JN34.js → provider-U4X7BDDL.js} +6 -6
  52. package/dist/{provider-manager-RUC5QQ75.js → provider-manager-ON3V54DS.js} +6 -6
  53. package/dist/{registry-BDSTPV65.js → registry-2PP4PUCL.js} +3 -3
  54. package/dist/{serve-2O7G2WZF.js → serve-LK3LQEWW.js} +28 -28
  55. package/dist/server/index.d.ts +3 -39
  56. package/dist/server/index.js +27 -27
  57. package/dist/server-7Q5RPZKY.js +47 -0
  58. package/dist/{session-overrides-SFWPS5CT.js → session-overrides-FVX6374M.js} +5 -5
  59. package/dist/{sessions-TZNUQJ2I.js → sessions-7XOOISCY.js} +4 -4
  60. package/dist/{settings-5LG7IB3K.js → settings-H2W3SNFE.js} +2 -2
  61. package/dist/shared/index.d.ts +3 -3
  62. package/dist/{tools-Y4F4HJPO.js → tools-5C2VIQ7B.js} +18 -18
  63. package/dist/{types-CTl70hba.d.ts → types-BMEOlLT0.d.ts} +1 -0
  64. package/dist/{types-_uF_PRaD.d.ts → types-D0TgGL3t.d.ts} +1 -1
  65. package/dist/{update-QEZIUJHR.js → update-5R3HZD6U.js} +2 -2
  66. package/dist/web/assets/index-C0OFVoFt.js +323 -0
  67. package/dist/web/assets/{index-B7wjVPjL.css → index-CyWbbpRP.css} +1 -1
  68. package/dist/web/index.html +2 -2
  69. package/dist/web/sw.js +1 -1
  70. package/dist/{workspace-2OG5VQG6.js → workspace-YDUQZ3HC.js} +4 -2
  71. package/package.json +4 -2
  72. package/dist/chunk-C5YV3EA4.js +0 -7
  73. package/dist/server-CYE6XY7J.js +0 -47
  74. package/dist/web/assets/index-BxI3Y9C7.js +0 -323
@@ -21,7 +21,7 @@ import {
21
21
  tokenFromPassword,
22
22
  verifyPassword,
23
23
  workflowExists
24
- } from "./chunk-P4APMCTX.js";
24
+ } from "./chunk-PSAWMCD6.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-6M44ZHQA.js";
37
+ } from "./chunk-JBZW5BZX.js";
38
38
  import {
39
39
  deleteOwnedSkill,
40
40
  deleteProjectSkill,
@@ -53,16 +53,17 @@ import {
53
53
  setSkillEnabled,
54
54
  skillExists,
55
55
  updateOwnedSkill
56
- } from "./chunk-LOHVZGCM.js";
56
+ } from "./chunk-GWMNR3LC.js";
57
57
  import {
58
58
  ALWAYS_ALLOWED,
59
59
  ALWAYS_ALLOWED_FOR_SUBAGENTS,
60
60
  TOP_LEVEL_ONLY_TOOLS
61
- } from "./chunk-SGJ3LSVA.js";
61
+ } from "./chunk-YBIJI53N.js";
62
62
  import {
63
63
  createMcpTools
64
64
  } from "./chunk-JE7LW7Y6.js";
65
65
  import {
66
+ checkoutBranchFromSharedSource,
66
67
  deleteWorkspace,
67
68
  ensureWorkspace,
68
69
  getCommitsBehind,
@@ -76,11 +77,11 @@ import {
76
77
  validateRef,
77
78
  validateWorkspaceName,
78
79
  workspaceExists
79
- } from "./chunk-RRTKVJMF.js";
80
+ } from "./chunk-FR5LUTLQ.js";
80
81
  import {
81
82
  getSessionDisabledServers,
82
83
  setSessionDisabledServers
83
- } from "./chunk-OEPRHAIO.js";
84
+ } from "./chunk-P7WCFUPJ.js";
84
85
  import {
85
86
  emitAssistantMessageStart,
86
87
  emitContextState,
@@ -97,23 +98,24 @@ import {
97
98
  getEventStore,
98
99
  getSessionState,
99
100
  initEventStore
100
- } from "./chunk-GXW4CRR5.js";
101
+ } from "./chunk-QDKLJZO4.js";
101
102
  import {
102
- createContextStateMessage
103
- } from "./chunk-27SDWNKL.js";
103
+ createContextStateMessage,
104
+ toClientSession
105
+ } from "./chunk-B5MH4HQ6.js";
104
106
  import {
105
107
  EventEmitter
106
108
  } from "./chunk-JAX5OEMM.js";
107
109
  import {
108
110
  getPathSeparator,
109
111
  isAbsolutePath
110
- } from "./chunk-UXQN7FGB.js";
112
+ } from "./chunk-ID4N6PM6.js";
111
113
  import {
112
114
  getAgentModelOverride,
113
115
  getAgentModelOverrides,
114
116
  resolveLLMClientForAgent,
115
117
  setAgentModelOverride
116
- } from "./chunk-V6Y6OLB4.js";
118
+ } from "./chunk-IRWZJPPA.js";
117
119
  import {
118
120
  getProject,
119
121
  getProjectByWorkdir,
@@ -121,7 +123,7 @@ import {
121
123
  } from "./chunk-6FPGJR7O.js";
122
124
  import {
123
125
  VERSION
124
- } from "./chunk-C5YV3EA4.js";
126
+ } from "./chunk-UWF4L4CK.js";
125
127
  import {
126
128
  clearWorkflowExecution,
127
129
  createSession,
@@ -141,7 +143,7 @@ import {
141
143
  updateSessionRunning,
142
144
  updateSessionWorkdir,
143
145
  updateWorkflowExecutionStatus
144
- } from "./chunk-IA4Y3CKA.js";
146
+ } from "./chunk-TMVXOLBS.js";
145
147
  import {
146
148
  agentExists,
147
149
  deleteAgent,
@@ -164,13 +166,13 @@ import {
164
166
  saveAgentToProject,
165
167
  saveItemToDir,
166
168
  setRuntimeConfig
167
- } from "./chunk-2GM6SUIQ.js";
169
+ } from "./chunk-WFWFRUBU.js";
168
170
  import {
169
171
  createProviderManager,
170
172
  detectModel,
171
173
  getLlmStatus,
172
174
  parseDefaultModelSelection
173
- } from "./chunk-UCIZV76E.js";
175
+ } from "./chunk-Q4P4CWWV.js";
174
176
  import {
175
177
  getModelProfile
176
178
  } from "./chunk-V4IE7HJY.js";
@@ -183,12 +185,12 @@ import {
183
185
  import {
184
186
  SessionNotFoundError,
185
187
  WorkspaceInUseError
186
- } from "./chunk-TB7TTPYQ.js";
188
+ } from "./chunk-EYMGV4YA.js";
187
189
  import {
188
190
  deleteSetting,
189
191
  getSetting,
190
192
  setSetting
191
- } from "./chunk-KIAKWUZ3.js";
193
+ } from "./chunk-MPWLBKSK.js";
192
194
  import {
193
195
  initDatabase
194
196
  } from "./chunk-LCQ5AN6Y.js";
@@ -2778,58 +2780,6 @@ var SessionManager = class {
2778
2780
  const session = this.requireSession(sessionId);
2779
2781
  return session.workspace ?? session.workdir;
2780
2782
  }
2781
- /**
2782
- * Return (effectiveWorkdir, actualBranch) for a session.
2783
- */
2784
- async getActualBranchPair(sessionId) {
2785
- const effectiveWorkdir = this.getEffectiveWorkdir(sessionId);
2786
- const branch = await getGitBranch(effectiveWorkdir);
2787
- return { workdir: effectiveWorkdir, branch };
2788
- }
2789
- /**
2790
- * Verify the session's effective workdir is on the branch the session was
2791
- * bound to. Used as an early gate before any agent step of a workflow
2792
- * execution, so we never run against the wrong tree when the session branch
2793
- * and the actual git branch have diverged (#183).
2794
- *
2795
- * Decision matrix (fail-closed):
2796
- * - expectedBranch null → ok, regardless of actualBranch.
2797
- * - expectedBranch set, actualBranch set, equal → ok.
2798
- * - expectedBranch set, actualBranch set, differ → BLOCKED.
2799
- * - expectedBranch set, actualBranch null → BLOCKED (we cannot
2800
- * verify the workdir is on the right branch — detached HEAD, broken
2801
- * repository, missing .git, etc.).
2802
- *
2803
- * Returning `{ ok: true }` for a session that has a branch expectation but
2804
- * no resolvable actual branch would be fail-open and is forbidden.
2805
- */
2806
- async assertExecutionGitContext(sessionId) {
2807
- const session = this.requireSession(sessionId);
2808
- const expectedBranch = session.branch ?? null;
2809
- const { workdir, branch: actualBranch } = await this.getActualBranchPair(sessionId);
2810
- if (!expectedBranch) {
2811
- return { ok: true, workdir, actualBranch, expectedBranch };
2812
- }
2813
- if (actualBranch && expectedBranch === actualBranch) {
2814
- return { ok: true, workdir, actualBranch, expectedBranch };
2815
- }
2816
- if (!actualBranch) {
2817
- return {
2818
- ok: false,
2819
- reason: `Cannot verify Git context for workdir '${workdir}': expected branch '${expectedBranch}' but the actual branch is unavailable (detached HEAD, missing .git, or unreadable repository). Refusing to write \u2014 no agent was run, no checkout was performed. Use the workspace tool to switch to branch '${expectedBranch}' (or repair the workdir) and retry.`,
2820
- workdir,
2821
- expectedBranch,
2822
- actualBranch: null
2823
- };
2824
- }
2825
- return {
2826
- ok: false,
2827
- reason: `Git context mismatch before Dev & Verify: session branch is '${expectedBranch}' but workdir '${workdir}' is actually on '${actualBranch}'. Refusing to write \u2014 no agent was run, no checkout was performed. Use the workspace tool to switch to branch '${expectedBranch}' (or update the session branch) and retry.`,
2828
- workdir,
2829
- expectedBranch,
2830
- actualBranch
2831
- };
2832
- }
2833
2783
  // ============================================================================
2834
2784
  // Session Lifecycle
2835
2785
  // ============================================================================
@@ -3726,7 +3676,7 @@ var SessionManager = class {
3726
3676
  const validated = await resolveAndValidateSourceBranch(wsPath, sourceBranch, projectDir);
3727
3677
  await runGit(wsPath, ["checkout", "-b", branch, validated]);
3728
3678
  } else {
3729
- await runGit(wsPath, ["checkout", "-b", branch]);
3679
+ await checkoutBranchFromSharedSource(wsPath, branch);
3730
3680
  }
3731
3681
  } catch (innerErr) {
3732
3682
  throw new Error(
@@ -3796,7 +3746,8 @@ var SessionManager = class {
3796
3746
  const createLockPromise = (async () => {
3797
3747
  const exists = await workspaceExists(project.name, target, project.workdir);
3798
3748
  if (!exists) {
3799
- await ensureWorkspace(project.workdir, target, project.name, branch, sourceBranch);
3749
+ const inheritedBranch = branch ?? await getGitBranch(this.getEffectiveWorkdir(sessionId)) ?? session.branch ?? void 0;
3750
+ await ensureWorkspace(project.workdir, target, project.name, inheritedBranch, sourceBranch);
3800
3751
  } else if (branch) {
3801
3752
  await this.applyBranchIfNeeded(project.workdir, project.name, target, branch, sourceBranch);
3802
3753
  }
@@ -5944,7 +5895,7 @@ async function createServerHandle(config3) {
5944
5895
  toolRegistry = createToolRegistry();
5945
5896
  logger.info("MCP tools registered", { count: mcpTools.length });
5946
5897
  }
5947
- const { signalMcpReady } = await import("./server-CYE6XY7J.js");
5898
+ const { signalMcpReady } = await import("./server-7Q5RPZKY.js");
5948
5899
  signalMcpReady();
5949
5900
  });
5950
5901
  const app = express();
@@ -6138,7 +6089,7 @@ async function createServerHandle(config3) {
6138
6089
  const { getProject: getProject2 } = await import("./projects-PQXME5S4.js");
6139
6090
  const project = getProject2(req.params.id);
6140
6091
  if (!project) return res.status(404).json({ error: "Project not found" });
6141
- const { listBranches } = await import("./workspace-2OG5VQG6.js");
6092
+ const { listBranches } = await import("./workspace-YDUQZ3HC.js");
6142
6093
  const branches = await listBranches(project.workdir);
6143
6094
  res.json({ branches });
6144
6095
  });
@@ -6148,13 +6099,13 @@ async function createServerHandle(config3) {
6148
6099
  if (!project) return res.status(404).json({ error: "Project not found" });
6149
6100
  const { branch } = req.body;
6150
6101
  if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
6151
- const { checkoutBranch, isGitRepository } = await import("./workspace-2OG5VQG6.js");
6102
+ const { checkoutBranch, isGitRepository } = await import("./workspace-YDUQZ3HC.js");
6152
6103
  if (!await isGitRepository(project.workdir)) {
6153
6104
  return res.status(400).json({ error: "Project is not a git repository" });
6154
6105
  }
6155
6106
  try {
6156
6107
  await checkoutBranch(project.workdir, branch);
6157
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-TZNUQJ2I.js");
6108
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-7XOOISCY.js");
6158
6109
  const allSessions = sessionManager.listSessions();
6159
6110
  for (const s of allSessions) {
6160
6111
  if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
@@ -6173,7 +6124,7 @@ async function createServerHandle(config3) {
6173
6124
  if (!project) return res.status(404).json({ error: "Project not found" });
6174
6125
  const { name, sourceBranch } = req.body;
6175
6126
  if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
6176
- const { createBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, validateRef: validateRef2, getDefaultBranch, isGitRepository } = await import("./workspace-2OG5VQG6.js");
6127
+ const { createBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, validateRef: validateRef2, getDefaultBranch, isGitRepository } = await import("./workspace-YDUQZ3HC.js");
6177
6128
  if (!await isGitRepository(project.workdir)) {
6178
6129
  return res.status(400).json({ error: "Project is not a git repository" });
6179
6130
  }
@@ -6190,7 +6141,7 @@ async function createServerHandle(config3) {
6190
6141
  );
6191
6142
  }
6192
6143
  await createBranch(project.workdir, name, sb);
6193
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-TZNUQJ2I.js");
6144
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-7XOOISCY.js");
6194
6145
  const allSessions = sessionManager.listSessions();
6195
6146
  for (const s of allSessions) {
6196
6147
  if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
@@ -6207,7 +6158,7 @@ async function createServerHandle(config3) {
6207
6158
  const session = sessionManager.getSession(req.params.id);
6208
6159
  if (!session) return res.status(404).json({ error: "Session not found" });
6209
6160
  const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
6210
- const { listBranches, getDefaultBranch } = await import("./workspace-2OG5VQG6.js");
6161
+ const { listBranches, getDefaultBranch } = await import("./workspace-YDUQZ3HC.js");
6211
6162
  const [branches, defaultBranch] = await Promise.all([
6212
6163
  listBranches(effectiveWorkdir),
6213
6164
  getDefaultBranch(session.workdir)
@@ -6221,8 +6172,8 @@ async function createServerHandle(config3) {
6221
6172
  const { branch } = req.body;
6222
6173
  if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
6223
6174
  const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
6224
- const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-2OG5VQG6.js");
6225
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-TZNUQJ2I.js");
6175
+ const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-YDUQZ3HC.js");
6176
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-7XOOISCY.js");
6226
6177
  try {
6227
6178
  await validateRef2(effectiveWorkdir, branch);
6228
6179
  await checkoutBranch(effectiveWorkdir, branch);
@@ -6264,16 +6215,16 @@ All file and git operations should use this branch.
6264
6215
  const { name, sourceBranch } = req.body;
6265
6216
  if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
6266
6217
  const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
6267
- const { validateRef: validateRef2 } = await import("./workspace-2OG5VQG6.js");
6268
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-TZNUQJ2I.js");
6218
+ const { validateRef: validateRef2 } = await import("./workspace-YDUQZ3HC.js");
6219
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-7XOOISCY.js");
6269
6220
  try {
6270
6221
  await validateRef2(effectiveWorkdir, name);
6271
6222
  if (sourceBranch) {
6272
- const { resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, createBranch } = await import("./workspace-2OG5VQG6.js");
6223
+ const { resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, createBranch } = await import("./workspace-YDUQZ3HC.js");
6273
6224
  const sb = await resolveAndValidateSourceBranch2(effectiveWorkdir, sourceBranch, session.workdir);
6274
6225
  await createBranch(effectiveWorkdir, name, sb);
6275
6226
  } else {
6276
- const { createBranch, getDefaultBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2 } = await import("./workspace-2OG5VQG6.js");
6227
+ const { createBranch, getDefaultBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2 } = await import("./workspace-YDUQZ3HC.js");
6277
6228
  const defaultBranch = await getDefaultBranch(session.workdir);
6278
6229
  const sb = await resolveAndValidateSourceBranch2(effectiveWorkdir, defaultBranch, session.workdir);
6279
6230
  await createBranch(effectiveWorkdir, name, sb);
@@ -6314,14 +6265,14 @@ All file and git operations should use this branch.
6314
6265
  const { getProject: getProject2 } = await import("./projects-PQXME5S4.js");
6315
6266
  const project = getProject2(req.params.id);
6316
6267
  if (!project) return res.status(404).json({ error: "Project not found" });
6317
- const { listWorkspaces } = await import("./workspace-2OG5VQG6.js");
6268
+ const { listWorkspaces } = await import("./workspace-YDUQZ3HC.js");
6318
6269
  const all = await listWorkspaces(project.name, project.workdir);
6319
6270
  const workspacesList = all.filter((ws) => ws.path !== project.workdir);
6320
6271
  res.json({ workspaces: workspacesList });
6321
6272
  });
6322
6273
  app.get("/api/sessions", async (req, res) => {
6323
- const { getRecentUserPromptsForSession } = await import("./events-OJ2R6OEM.js");
6324
- const { getPendingConfirmationsBySession } = await import("./path-security-QCIA6YFV.js");
6274
+ const { getRecentUserPromptsForSession } = await import("./events-7WAOX35W.js");
6275
+ const { getPendingConfirmationsBySession } = await import("./path-security-26J53LD4.js");
6325
6276
  const projectId = req.query["projectId"];
6326
6277
  const limit = Math.min(parseInt(req.query["limit"]) || 20, 100);
6327
6278
  const offset = parseInt(req.query["offset"]) || 0;
@@ -6367,7 +6318,7 @@ All file and git operations should use this branch.
6367
6318
  disabledServers = mcpManager.getAllServers().filter((s) => s.config.disabled).map((s) => s.name);
6368
6319
  }
6369
6320
  if (disabledServers.length > 0) {
6370
- const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-SFWPS5CT.js");
6321
+ const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-FVX6374M.js");
6371
6322
  setSessionDisabledServers2(session.id, disabledServers);
6372
6323
  }
6373
6324
  } catch {
@@ -6395,7 +6346,7 @@ All file and git operations should use this branch.
6395
6346
  }
6396
6347
  }
6397
6348
  });
6398
- res.status(201).json({ session });
6349
+ res.status(201).json({ session: toClientSession(session) });
6399
6350
  });
6400
6351
  app.post("/api/sessions/:id/switch-workspace", async (req, res) => {
6401
6352
  const session = sessionManager.getSession(req.params.id);
@@ -6404,13 +6355,13 @@ All file and git operations should use this branch.
6404
6355
  if (!target || typeof target !== "string") return res.status(400).json({ error: "target is required" });
6405
6356
  const project = sessionManager.getProject(session.projectId);
6406
6357
  if (!project) return res.status(404).json({ error: "Project not found" });
6407
- const { isGitRepository } = await import("./workspace-2OG5VQG6.js");
6358
+ const { isGitRepository } = await import("./workspace-YDUQZ3HC.js");
6408
6359
  if (!await isGitRepository(project.workdir)) {
6409
6360
  return res.status(400).json({ error: "Project is not a git repository" });
6410
6361
  }
6411
6362
  try {
6412
6363
  const updated = await sessionManager.switchWorkspace(req.params.id, target, branch, sourceBranch);
6413
- res.json({ session: updated });
6364
+ res.json({ session: toClientSession(updated) });
6414
6365
  } catch (err) {
6415
6366
  res.status(400).json({ error: err instanceof Error ? err.message : "Failed to switch workspace" });
6416
6367
  }
@@ -6422,13 +6373,13 @@ All file and git operations should use this branch.
6422
6373
  if (!target || typeof target !== "string") return res.status(400).json({ error: "target is required" });
6423
6374
  const project = sessionManager.getProject(session.projectId);
6424
6375
  if (!project) return res.status(404).json({ error: "Project not found" });
6425
- const { isGitRepository } = await import("./workspace-2OG5VQG6.js");
6376
+ const { isGitRepository } = await import("./workspace-YDUQZ3HC.js");
6426
6377
  if (!await isGitRepository(project.workdir)) {
6427
6378
  return res.status(400).json({ error: "Project is not a git repository" });
6428
6379
  }
6429
6380
  try {
6430
6381
  const updated = await sessionManager.deleteWorkspace(req.params.id, target, force === true);
6431
- res.json({ session: updated });
6382
+ res.json({ session: toClientSession(updated) });
6432
6383
  } catch (err) {
6433
6384
  if (err instanceof WorkspaceInUseError) {
6434
6385
  return res.status(409).json({
@@ -6440,12 +6391,12 @@ All file and git operations should use this branch.
6440
6391
  }
6441
6392
  });
6442
6393
  app.get("/api/sessions/:id", async (req, res) => {
6443
- const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-OJ2R6OEM.js");
6444
- const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-DUZSKCZF.js");
6445
- const { getPendingQuestionsForSession } = await import("./tools-Y4F4HJPO.js");
6446
- const { getMaxVisibleItems } = await import("./settings-5LG7IB3K.js");
6447
- const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-36SQR3JR.js");
6448
- const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-TZNUQJ2I.js");
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");
6449
6400
  let session = sessionManager.getSession(req.params.id);
6450
6401
  if (!session) {
6451
6402
  return res.status(404).json({ error: "Session not found" });
@@ -6468,7 +6419,7 @@ All file and git operations should use this branch.
6468
6419
  const pendingConfirmations = foldPendingConfirmations(events);
6469
6420
  const activeWorkflowExecution = sessionManager.getActiveWorkflowExecution(req.params.id);
6470
6421
  res.json({
6471
- session,
6422
+ session: toClientSession(session),
6472
6423
  messages,
6473
6424
  hiddenCount,
6474
6425
  contextState,
@@ -6484,8 +6435,8 @@ All file and git operations should use this branch.
6484
6435
  if (!session) {
6485
6436
  return res.status(404).json({ error: "Session not found" });
6486
6437
  }
6487
- const { stopSessionExecution } = await import("./chat-handler-A22X22VZ.js");
6488
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-Y4F4HJPO.js");
6438
+ const { stopSessionExecution } = await import("./chat-handler-UZ2A75DG.js");
6439
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-5C2VIQ7B.js");
6489
6440
  sessionManager.clearMessageQueue(sessionId);
6490
6441
  stopSessionExecution(sessionId, sessionManager);
6491
6442
  abortSession(sessionId);
@@ -6514,9 +6465,9 @@ All file and git operations should use this branch.
6514
6465
  res.json({ success: true });
6515
6466
  });
6516
6467
  app.post("/api/sessions/:id/provider", async (req, res) => {
6517
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-OJ2R6OEM.js");
6518
- const { buildMessagesFromStoredEvents } = await import("./folding-DUZSKCZF.js");
6519
- const { getMaxVisibleItems } = await import("./settings-5LG7IB3K.js");
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");
6520
6471
  const sessionId = req.params.id;
6521
6472
  const session = sessionManager.getSession(sessionId);
6522
6473
  if (!session) {
@@ -6536,7 +6487,7 @@ All file and git operations should use this branch.
6536
6487
  const maxVisibleItems = getMaxVisibleItems();
6537
6488
  const { messages, hiddenCount } = buildMessagesFromStoredEvents(events, maxVisibleItems || void 0);
6538
6489
  const updatedSession = sessionManager.getSession(sessionId);
6539
- res.json({ session: updatedSession, messages, hiddenCount, contextState });
6490
+ res.json({ session: toClientSession(updatedSession), messages, hiddenCount, contextState });
6540
6491
  });
6541
6492
  app.post("/api/default-model", async (req, res) => {
6542
6493
  const { providerId, model } = req.body;
@@ -6629,11 +6580,11 @@ All file and git operations should use this branch.
6629
6580
  res.json({ success: true });
6630
6581
  });
6631
6582
  app.put("/api/sessions/:id/mode", async (req, res) => {
6632
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-OJ2R6OEM.js");
6633
- const { buildMessagesFromStoredEvents } = await import("./folding-DUZSKCZF.js");
6634
- const { getMaxVisibleItems } = await import("./settings-5LG7IB3K.js");
6635
- const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-36SQR3JR.js");
6636
- const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-TZNUQJ2I.js");
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");
6637
6588
  const sessionId = req.params.id;
6638
6589
  const session = sessionManager.getSession(sessionId);
6639
6590
  if (!session) {
@@ -6671,7 +6622,7 @@ All file and git operations should use this branch.
6671
6622
  const maxVisibleItems = getMaxVisibleItems();
6672
6623
  const { messages, hiddenCount } = buildMessagesFromStoredEvents(events, maxVisibleItems || void 0);
6673
6624
  const updatedSession = sessionManager.getSession(sessionId);
6674
- res.json({ session: updatedSession, messages, hiddenCount });
6625
+ res.json({ session: toClientSession(updatedSession), messages, hiddenCount });
6675
6626
  });
6676
6627
  app.put("/api/sessions/:id/danger-level", async (req, res) => {
6677
6628
  const sessionId = req.params.id;
@@ -6685,7 +6636,7 @@ All file and git operations should use this branch.
6685
6636
  }
6686
6637
  sessionManager.setDangerLevel(sessionId, dangerLevel);
6687
6638
  const updatedSession = sessionManager.getSession(sessionId);
6688
- res.json({ session: updatedSession });
6639
+ res.json({ session: toClientSession(updatedSession) });
6689
6640
  });
6690
6641
  app.get("/api/sessions/:id/mcp/overrides", async (req, res) => {
6691
6642
  const sessionId = req.params.id;
@@ -6724,7 +6675,7 @@ All file and git operations should use this branch.
6724
6675
  }
6725
6676
  sessionManager.renameSession(sessionId, title.slice(0, 100));
6726
6677
  const updatedSession = sessionManager.getSession(sessionId);
6727
- res.json({ session: updatedSession });
6678
+ res.json({ session: toClientSession(updatedSession) });
6728
6679
  });
6729
6680
  app.post("/api/sessions/:id/confirm-path", async (req, res) => {
6730
6681
  const sessionId = req.params.id;
@@ -6735,7 +6686,7 @@ All file and git operations should use this branch.
6735
6686
  if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
6736
6687
  return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
6737
6688
  }
6738
- const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-Y4F4HJPO.js");
6689
+ const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-5C2VIQ7B.js");
6739
6690
  const pendingSessionId = getConfirmationSessionId(callId);
6740
6691
  if (!pendingSessionId) {
6741
6692
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -6747,11 +6698,11 @@ All file and git operations should use this branch.
6747
6698
  if (!result.found) {
6748
6699
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
6749
6700
  }
6750
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-OJ2R6OEM.js");
6751
- const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-DUZSKCZF.js");
6752
- const { createSessionStateMessage } = await import("./protocol-YDNGGADL.js");
6753
- const { getPendingQuestionsForSession } = await import("./tools-Y4F4HJPO.js");
6754
- const { getMaxVisibleItems } = await import("./settings-5LG7IB3K.js");
6701
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-7WAOX35W.js");
6702
+ const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-MJDFKOHT.js");
6703
+ const { createSessionStateMessage } = await import("./protocol-SPIJPOEN.js");
6704
+ const { getPendingQuestionsForSession } = await import("./tools-5C2VIQ7B.js");
6705
+ const { getMaxVisibleItems } = await import("./settings-H2W3SNFE.js");
6755
6706
  const eventStore = getEventStore2();
6756
6707
  const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
6757
6708
  const events = combineEvents(sessionId, snapshot, eventsSinceSnapshot);
@@ -6787,7 +6738,7 @@ All file and git operations should use this branch.
6787
6738
  if (!skip && typeof answer !== "string") {
6788
6739
  return res.status(400).json({ error: "answer is required when not skipping" });
6789
6740
  }
6790
- const { provideAnswer } = await import("./tools-Y4F4HJPO.js");
6741
+ const { provideAnswer } = await import("./tools-5C2VIQ7B.js");
6791
6742
  const found = provideAnswer(callId, answer ?? "", skip ?? false);
6792
6743
  if (!found) {
6793
6744
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -6820,7 +6771,7 @@ All file and git operations should use this branch.
6820
6771
  if (!session) {
6821
6772
  return res.status(404).json({ error: "Session not found" });
6822
6773
  }
6823
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-5LG7IB3K.js");
6774
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-H2W3SNFE.js");
6824
6775
  if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
6825
6776
  return res.json({ success: false, reason: "disabled" });
6826
6777
  }
@@ -6852,7 +6803,7 @@ All file and git operations should use this branch.
6852
6803
  backend: activeProvider?.backend ?? llmClient.getBackend(),
6853
6804
  model: llmClient.getModel()
6854
6805
  };
6855
- const { runAgentTurn, TurnMetrics } = await import("./orchestrator-VZORJ7KF.js");
6806
+ const { runAgentTurn, TurnMetrics } = await import("./orchestrator-X7H5JRM5.js");
6856
6807
  runAgentTurn(
6857
6808
  {
6858
6809
  sessionManager,
@@ -6890,15 +6841,15 @@ All file and git operations should use this branch.
6890
6841
  if (!session) {
6891
6842
  return res.status(404).json({ error: "Session not found" });
6892
6843
  }
6893
- const { stopSessionExecution } = await import("./chat-handler-A22X22VZ.js");
6894
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-Y4F4HJPO.js");
6844
+ const { stopSessionExecution } = await import("./chat-handler-UZ2A75DG.js");
6845
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-5C2VIQ7B.js");
6895
6846
  const queuedMessages = sessionManager.getQueueState(sessionId);
6896
6847
  sessionManager.clearMessageQueue(sessionId);
6897
6848
  stopSessionExecution(sessionId, sessionManager);
6898
6849
  abortSession(sessionId);
6899
6850
  cancelQuestionsForSession(sessionId, "Session stopped by user");
6900
6851
  cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
6901
- const eventStore = (await import("./events-OJ2R6OEM.js")).getEventStore();
6852
+ const eventStore = (await import("./events-7WAOX35W.js")).getEventStore();
6902
6853
  eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
6903
6854
  res.json({ success: true, queuedMessages });
6904
6855
  });
@@ -6912,7 +6863,7 @@ All file and git operations should use this branch.
6912
6863
  if (typeof messageIndex !== "number" || messageIndex < 0) {
6913
6864
  return res.status(400).json({ error: "messageIndex must be a non-negative number" });
6914
6865
  }
6915
- const { truncateSessionMessages } = await import("./events-OJ2R6OEM.js");
6866
+ const { truncateSessionMessages } = await import("./events-7WAOX35W.js");
6916
6867
  truncateSessionMessages(sessionId, messageIndex);
6917
6868
  res.json({ success: true });
6918
6869
  });
@@ -6929,8 +6880,8 @@ All file and git operations should use this branch.
6929
6880
  if (content !== void 0 && (typeof content !== "string" || !content.trim())) {
6930
6881
  return res.status(400).json({ error: "content must be a non-empty string if provided" });
6931
6882
  }
6932
- const { getEventStore: getEventStore2 } = await import("./events-OJ2R6OEM.js");
6933
- const { buildMessagesFromStoredEvents } = await import("./folding-DUZSKCZF.js");
6883
+ const { getEventStore: getEventStore2 } = await import("./events-7WAOX35W.js");
6884
+ const { buildMessagesFromStoredEvents } = await import("./folding-MJDFKOHT.js");
6934
6885
  const eventStore = getEventStore2();
6935
6886
  const events = eventStore.getEvents(sessionId);
6936
6887
  const { messages } = buildMessagesFromStoredEvents(events);
@@ -6942,7 +6893,7 @@ All file and git operations should use this branch.
6942
6893
  if (msg.role !== "user" || msg.isSystemGenerated) {
6943
6894
  return res.status(400).json({ error: "Can only replay user messages" });
6944
6895
  }
6945
- const { truncateSessionMessages } = await import("./events-OJ2R6OEM.js");
6896
+ const { truncateSessionMessages } = await import("./events-7WAOX35W.js");
6946
6897
  truncateSessionMessages(sessionId, msgIndex - 1);
6947
6898
  sessionManager.queueMessage(sessionId, "asap", content ?? msg.content, msg.attachments, msg.messageKind);
6948
6899
  res.json({ success: true });
@@ -6962,7 +6913,7 @@ All file and git operations should use this branch.
6962
6913
  }
6963
6914
  try {
6964
6915
  const newSession = sessionManager.forkSession(sessionId, messageId, title);
6965
- return res.status(201).json({ session: newSession });
6916
+ return res.status(201).json({ session: toClientSession(newSession) });
6966
6917
  } catch (err) {
6967
6918
  const message = err instanceof Error ? err.message : String(err);
6968
6919
  if (message.includes("not found")) {
@@ -6998,7 +6949,7 @@ All file and git operations should use this branch.
6998
6949
  res.json({ accepted: true });
6999
6950
  });
7000
6951
  app.get("/api/settings", async (req, res) => {
7001
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-5LG7IB3K.js");
6952
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-H2W3SNFE.js");
7002
6953
  const keysParam = req.query["keys"];
7003
6954
  if (!keysParam) {
7004
6955
  return res.status(400).json({ error: "keys query parameter is required" });
@@ -7011,19 +6962,19 @@ All file and git operations should use this branch.
7011
6962
  res.json(result);
7012
6963
  });
7013
6964
  app.get("/api/settings/:key", async (req, res) => {
7014
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-5LG7IB3K.js");
6965
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-H2W3SNFE.js");
7015
6966
  const key = req.params.key;
7016
6967
  const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
7017
6968
  res.json({ key, value });
7018
6969
  });
7019
6970
  app.get("/api/settings/:key", async (req, res) => {
7020
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-5LG7IB3K.js");
6971
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-H2W3SNFE.js");
7021
6972
  const key = req.params.key;
7022
6973
  const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
7023
6974
  res.json({ key, value });
7024
6975
  });
7025
6976
  app.put("/api/settings/:key", async (req, res) => {
7026
- const { setSetting: setSetting2 } = await import("./settings-5LG7IB3K.js");
6977
+ const { setSetting: setSetting2 } = await import("./settings-H2W3SNFE.js");
7027
6978
  const key = req.params.key;
7028
6979
  const { value } = req.body;
7029
6980
  if (value === void 0) {
@@ -7050,7 +7001,7 @@ All file and git operations should use this branch.
7050
7001
  }
7051
7002
  });
7052
7003
  app.get("/api/tools/shells", async (_req, res) => {
7053
- const { listAvailableShells } = await import("./platform-Q6T3AUHA.js");
7004
+ const { listAvailableShells } = await import("./platform-JOAXLXYQ.js");
7054
7005
  res.json({ shells: listAvailableShells() });
7055
7006
  });
7056
7007
  app.get("/api/config", async (_req, res) => {
@@ -7140,7 +7091,7 @@ All file and git operations should use this branch.
7140
7091
  }));
7141
7092
  }
7142
7093
  app.post("/api/proxy/test", async (_req, res) => {
7143
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-5LG7IB3K.js");
7094
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-H2W3SNFE.js");
7144
7095
  const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
7145
7096
  if (!proxyUrl) {
7146
7097
  return res.status(400).json({ success: false, error: "No proxy URL configured" });
@@ -7232,7 +7183,7 @@ All file and git operations should use this branch.
7232
7183
  }
7233
7184
  });
7234
7185
  app.post("/api/proxy/test", async (_req, res) => {
7235
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-5LG7IB3K.js");
7186
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-H2W3SNFE.js");
7236
7187
  const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
7237
7188
  if (!proxyUrl) {
7238
7189
  return res.status(400).json({ success: false, error: "No proxy URL configured" });
@@ -7259,7 +7210,7 @@ All file and git operations should use this branch.
7259
7210
  const backend = req.query["backend"];
7260
7211
  if (!url) return res.status(400).json({ error: "url is required" });
7261
7212
  try {
7262
- const { fetchModelsWithContext } = await import("./provider-manager-RUC5QQ75.js");
7213
+ const { fetchModelsWithContext } = await import("./provider-manager-ON3V54DS.js");
7263
7214
  const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
7264
7215
  const models = await fetchModelsWithContext(
7265
7216
  url,
@@ -7329,8 +7280,8 @@ All file and git operations should use this branch.
7329
7280
  }
7330
7281
  const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
7331
7282
  const { getBackendCapabilities } = await import("./backend-P3GHHLHJ.js");
7332
- const { buildNonStreamingCreateParams } = await import("./client-pure-USVHN4WG.js");
7333
- const { OpenAIHttpClient } = await import("./http-client-KJXFSK7A.js");
7283
+ const { buildNonStreamingCreateParams } = await import("./client-pure-VFZIIK4S.js");
7284
+ const { OpenAIHttpClient } = await import("./http-client-NHVT6E5C.js");
7334
7285
  const { ensureVersionPrefix } = await import("./url-utils-SAJP7AEX.js");
7335
7286
  const profile = getModelProfile2(model);
7336
7287
  const capabilities = getBackendCapabilities(backend || "unknown");
@@ -7682,7 +7633,7 @@ All file and git operations should use this branch.
7682
7633
  });
7683
7634
  async function rebuildMcpTools() {
7684
7635
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-FEAHWU5C.js");
7685
- const { setMcpTools: setMcpTools2 } = await import("./tools-Y4F4HJPO.js");
7636
+ const { setMcpTools: setMcpTools2 } = await import("./tools-5C2VIQ7B.js");
7686
7637
  const mcpTools = createMcpTools2(mcpManager);
7687
7638
  setMcpTools2(mcpTools);
7688
7639
  toolRegistry = createToolRegistry();
@@ -7943,13 +7894,13 @@ All file and git operations should use this branch.
7943
7894
  })
7944
7895
  );
7945
7896
  app.get("/api/sessions/:id/background-processes", async (req, res) => {
7946
- const { getSessionProcesses } = await import("./manager-N27WNW5B.js");
7897
+ const { getSessionProcesses } = await import("./manager-ZVHBUECR.js");
7947
7898
  const sessionId = req.params.id;
7948
7899
  const processes = getSessionProcesses(sessionId);
7949
7900
  res.json({ processes });
7950
7901
  });
7951
7902
  app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
7952
- const { stopProcess } = await import("./manager-N27WNW5B.js");
7903
+ const { stopProcess } = await import("./manager-ZVHBUECR.js");
7953
7904
  const sessionId = req.params.id;
7954
7905
  const processId = req.params.processId;
7955
7906
  const session = sessionManager.getSession(sessionId);
@@ -8094,7 +8045,7 @@ All file and git operations should use this branch.
8094
8045
  const state = sessionManager.getContextState(sessionId);
8095
8046
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
8096
8047
  });
8097
- const { QueueProcessor } = await import("./processor-QYVHKRIV.js");
8048
+ const { QueueProcessor } = await import("./processor-33OESYXP.js");
8098
8049
  const queueProcessor = new QueueProcessor({
8099
8050
  sessionManager,
8100
8051
  providerManager,
@@ -8178,4 +8129,4 @@ export {
8178
8129
  createServerHandle,
8179
8130
  createServer
8180
8131
  };
8181
- //# sourceMappingURL=chunk-G2VLGZ3Y.js.map
8132
+ //# sourceMappingURL=chunk-I4M6SCMY.js.map