openfox 2.0.142 → 2.0.143

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 (55) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/CHANGELOG.md +16 -0
  3. package/dist/{backend-EPISSWLB.js → backend-2VSDPCWS.js} +2 -2
  4. package/dist/{chat-handler-OFB4426F.js → chat-handler-VDB4CSXK.js} +12 -12
  5. package/dist/{chunk-XADIBENX.js → chunk-5KA3L46F.js} +2 -2
  6. package/dist/chunk-6DLQ2AV4.js +7 -0
  7. package/dist/{chunk-R5FAEKXQ.js → chunk-73BO5OT3.js} +2 -1
  8. package/dist/{chunk-TEUVZCPS.js → chunk-7XA3MEX2.js} +10 -10
  9. package/dist/{chunk-OA7KBQ2O.js → chunk-CTAYPMB2.js} +2 -2
  10. package/dist/{chunk-ACILWRPU.js → chunk-CYTC2E3O.js} +2 -2
  11. package/dist/{chunk-CSUMZAYY.js → chunk-EX6ROYYS.js} +2 -2
  12. package/dist/{chunk-5HDPFHHJ.js → chunk-FHBLF2QR.js} +2 -2
  13. package/dist/{chunk-VLQ6BMU7.js → chunk-FTPQI5TA.js} +11 -1
  14. package/dist/{chunk-HQDKHNWS.js → chunk-H3QN2J4X.js} +3 -3
  15. package/dist/{chunk-FFVIO6GL.js → chunk-HZOL7UEC.js} +8 -8
  16. package/dist/{chunk-VK2BSIJP.js → chunk-IMQDO5EJ.js} +55 -55
  17. package/dist/{chunk-J556QIRD.js → chunk-KVDOPLXJ.js} +3 -3
  18. package/dist/{chunk-5CZAKVGZ.js → chunk-QZV3M6V5.js} +5 -5
  19. package/dist/{chunk-Q5JCBAQF.js → chunk-SJTBOREW.js} +2 -2
  20. package/dist/{chunk-TRZZCMJ3.js → chunk-VKZBCC75.js} +6 -5
  21. package/dist/{chunk-RM4ZBI2B.js → chunk-Z4CTMGFH.js} +17 -16
  22. package/dist/cli/dev.js +1 -1
  23. package/dist/cli/index.js +1 -1
  24. package/dist/{client-2A766XZK.js → client-ZEGIB3MF.js} +3 -3
  25. package/dist/{compactor-3BVVHO4M.js → compactor-2MSRXHVA.js} +4 -4
  26. package/dist/{config-LOK3LXFH.js → config-AJSENHBC.js} +2 -2
  27. package/dist/{describe-image-F22VNBWY.js → describe-image-QSEMMRV7.js} +2 -2
  28. package/dist/{dynamic-context-5SFXTEAP.js → dynamic-context-3THEBFBI.js} +2 -2
  29. package/dist/{export-import-PBEX3KWU.js → export-import-SYYISNTZ.js} +2 -2
  30. package/dist/{launch-L5NL75KK.js → launch-MF2VT7SU.js} +12 -12
  31. package/dist/{mcp-SQ4DOGPT.js → mcp-C7PNGP25.js} +2 -2
  32. package/dist/{orchestrator-53SS74LD.js → orchestrator-BU4RJHPZ.js} +11 -11
  33. package/dist/package.json +1 -1
  34. package/dist/{processor-T4VWZMXT.js → processor-IZ4EAHPD.js} +11 -11
  35. package/dist/{protocol-Dpf4FBF2.d.ts → protocol-Ch2s26bR.d.ts} +1 -1
  36. package/dist/provider/index.d.ts +4 -4
  37. package/dist/{provider-5XNJEDKW.js → provider-YNTH5YG5.js} +6 -6
  38. package/dist/{provider-manager-RHJYUU5W.js → provider-manager-2UENHAAA.js} +4 -4
  39. package/dist/{serve-LP3ZX6CW.js → serve-KKAOO7YM.js} +17 -17
  40. package/dist/server/index.d.ts +4 -4
  41. package/dist/server/index.js +16 -16
  42. package/dist/{server-IGZLCNZG.js → server-PVO4USPN.js} +15 -15
  43. package/dist/{service-AZU4YTS2.js → service-OQZWTW34.js} +5 -5
  44. package/dist/shared/index.d.ts +3 -3
  45. package/dist/{tasks-T5KZXKMD.js → tasks-WC23TK6I.js} +5 -5
  46. package/dist/{tools-BL6XCTUV.js → tools-CECV6XQ6.js} +9 -9
  47. package/dist/{types-LO8296aY.d.ts → types-BajWwfkt.d.ts} +1 -1
  48. package/dist/{types-CZJf6Fnb.d.ts → types-BiHNYUUI.d.ts} +1 -1
  49. package/dist/{update-M5DMX3FC.js → update-6MBRWJAV.js} +2 -2
  50. package/dist/web/assets/{index-2WvLd7SC.css → index--zSmgMW5.css} +1 -1
  51. package/dist/web/assets/{index-BPhet33M.js → index-CxuR2kCS.js} +39 -36
  52. package/dist/web/index.html +2 -2
  53. package/dist/web/sw.js +1 -1
  54. package/package.json +1 -1
  55. package/dist/chunk-EPZO3MGM.js +0 -7
@@ -9,7 +9,7 @@ import {
9
9
  terminalManager,
10
10
  tokenFromPassword,
11
11
  verifyPassword
12
- } from "./chunk-TEUVZCPS.js";
12
+ } from "./chunk-7XA3MEX2.js";
13
13
  import {
14
14
  projectSessionStatus
15
15
  } from "./chunk-T3S5MTMD.js";
@@ -27,7 +27,7 @@ import {
27
27
  } from "./chunk-IJ53Y77N.js";
28
28
  import {
29
29
  TEMPLATE_VARIABLES
30
- } from "./chunk-TRZZCMJ3.js";
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-RM4ZBI2B.js";
45
+ } from "./chunk-Z4CTMGFH.js";
46
46
  import {
47
47
  deleteOwnedSkill,
48
48
  deleteProjectSkill,
@@ -106,7 +106,7 @@ import {
106
106
  saveWorkflow,
107
107
  saveWorkflowToProject,
108
108
  workflowExists
109
- } from "./chunk-CSUMZAYY.js";
109
+ } from "./chunk-EX6ROYYS.js";
110
110
  import {
111
111
  clearSessionOverrides,
112
112
  computeDisabledServersForProject,
@@ -216,13 +216,13 @@ import {
216
216
  detectModel,
217
217
  getLlmStatus,
218
218
  parseDefaultModelSelection
219
- } from "./chunk-J556QIRD.js";
219
+ } from "./chunk-KVDOPLXJ.js";
220
220
  import {
221
221
  buildOpenFoxMcpBootstrap
222
222
  } from "./chunk-YNMP647F.js";
223
223
  import {
224
224
  VERSION
225
- } from "./chunk-EPZO3MGM.js";
225
+ } from "./chunk-6DLQ2AV4.js";
226
226
  import {
227
227
  deleteProject,
228
228
  getProject,
@@ -235,7 +235,7 @@ import {
235
235
  import {
236
236
  detectBackendFromUrl,
237
237
  getBackendDisplayName
238
- } from "./chunk-VLQ6BMU7.js";
238
+ } from "./chunk-FTPQI5TA.js";
239
239
  import {
240
240
  buildModelsUrl
241
241
  } from "./chunk-HNCM3D7Y.js";
@@ -3145,8 +3145,8 @@ var SessionManager = class {
3145
3145
  * @throws Error for invalid payloads or unknown project
3146
3146
  */
3147
3147
  async importSession(projectId, rawPayload) {
3148
- const { parseSessionExport, IMPORTED_SESSION_REMINDER, SESSION_EXPORT_VERSION } = await import("./export-import-PBEX3KWU.js");
3149
- const { injectContextDriftReminders, getToolSetFingerprint } = await import("./dynamic-context-5SFXTEAP.js");
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
3150
  const { loadAllAgentsDefault: loadAllAgentsDefault2, resolveDefaultAgentId } = await import("./registry-C7RKKHZB.js");
3151
3151
  const payload = parseSessionExport(rawPayload);
3152
3152
  if (payload.version !== SESSION_EXPORT_VERSION) {
@@ -6740,7 +6740,7 @@ function createProviderAuthRoutes(config3, providerManager, registry) {
6740
6740
  try {
6741
6741
  const { challenge, completion } = await adapter.beginLogin({ providerId: provider.id });
6742
6742
  void completion.then(async ({ credentialRef }) => {
6743
- const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-LOK3LXFH.js");
6743
+ const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-AJSENHBC.js");
6744
6744
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6745
6745
  const updatedConfig = updateProvider(globalConfig, provider.id, { credentialRef, authAdapter: adapter.id });
6746
6746
  await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
@@ -6782,7 +6782,7 @@ function createProviderAuthRoutes(config3, providerManager, registry) {
6782
6782
  const ref = provider.credentialRef ?? provider.id;
6783
6783
  await adapter.logout(ref);
6784
6784
  }
6785
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-LOK3LXFH.js");
6785
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
6786
6786
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
6787
6787
  const updatedConfig = {
6788
6788
  ...globalConfig,
@@ -7246,7 +7246,7 @@ function detectWsl() {
7246
7246
  // src/server/index.ts
7247
7247
  var __dirname3 = dirname7(fileURLToPath6(import.meta.url));
7248
7248
  async function announceContextDrift(sessionManager, sessionIds) {
7249
- const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-5SFXTEAP.js");
7249
+ const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-3THEBFBI.js");
7250
7250
  await injectContextDriftRemindersForSessions(sessionManager, sessionIds);
7251
7251
  }
7252
7252
  async function createServerHandle(config3) {
@@ -7323,7 +7323,7 @@ async function createServerHandle(config3) {
7323
7323
  const mcpManager = new McpManager({
7324
7324
  onToolsDiscovered: async (name, tools) => {
7325
7325
  try {
7326
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-LOK3LXFH.js");
7326
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
7327
7327
  const mode = config3.mode ?? "production";
7328
7328
  const globalConfig = await loadGlobalConfig(mode, config3.globalConfigPath);
7329
7329
  const mcpServers2 = {
@@ -7362,7 +7362,7 @@ async function createServerHandle(config3) {
7362
7362
  toolRegistry = createToolRegistry();
7363
7363
  logger.info("MCP tools registered", { count: mcpTools.length });
7364
7364
  }
7365
- const { signalMcpReady } = await import("./server-IGZLCNZG.js");
7365
+ const { signalMcpReady } = await import("./server-PVO4USPN.js");
7366
7366
  signalMcpReady();
7367
7367
  }
7368
7368
  const app = express();
@@ -7577,9 +7577,9 @@ async function createServerHandle(config3) {
7577
7577
  const sessionFavoriteRouter = express.Router();
7578
7578
  registerSessionFavoriteRoute(sessionFavoriteRouter, sessionManager);
7579
7579
  app.use("/api", sessionFavoriteRouter);
7580
- const { createTasksService } = await import("./service-AZU4YTS2.js");
7581
- const { registerTaskRoutes } = await import("./tasks-T5KZXKMD.js");
7582
- const { setTasksService } = await import("./tools-BL6XCTUV.js");
7580
+ const { createTasksService } = await import("./service-OQZWTW34.js");
7581
+ const { registerTaskRoutes } = await import("./tasks-WC23TK6I.js");
7582
+ const { setTasksService } = await import("./tools-CECV6XQ6.js");
7583
7583
  const tasksService = createTasksService({
7584
7584
  sessionManager,
7585
7585
  config: config3,
@@ -7901,7 +7901,7 @@ All file and git operations should use this branch.
7901
7901
  app.get("/api/sessions/:id", async (req, res) => {
7902
7902
  const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-UAUOGRSV.js");
7903
7903
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-IHD244OU.js");
7904
- const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-BL6XCTUV.js");
7904
+ const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CECV6XQ6.js");
7905
7905
  const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
7906
7906
  const session = sessionManager.getSession(req.params.id);
7907
7907
  if (!session) {
@@ -7930,7 +7930,7 @@ All file and git operations should use this branch.
7930
7930
  });
7931
7931
  app.get("/api/sessions/:id/status", async (req, res) => {
7932
7932
  const { projectSessionStatus: projectSessionStatus2 } = await import("./session-status-UFO5IFI7.js");
7933
- const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-BL6XCTUV.js");
7933
+ const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CECV6XQ6.js");
7934
7934
  const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-UAUOGRSV.js");
7935
7935
  const { foldPendingConfirmations } = await import("./folding-IHD244OU.js");
7936
7936
  const sessionId = req.params["id"];
@@ -7962,8 +7962,8 @@ All file and git operations should use this branch.
7962
7962
  if (!session) {
7963
7963
  return res.status(404).json({ error: "Session not found" });
7964
7964
  }
7965
- const { stopSessionExecution } = await import("./chat-handler-OFB4426F.js");
7966
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-BL6XCTUV.js");
7965
+ const { stopSessionExecution } = await import("./chat-handler-VDB4CSXK.js");
7966
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
7967
7967
  sessionManager.clearMessageQueue(sessionId);
7968
7968
  stopSessionExecution(sessionId, sessionManager);
7969
7969
  abortSession(sessionId);
@@ -8079,7 +8079,7 @@ All file and git operations should use this branch.
8079
8079
  if (!result.success) {
8080
8080
  return res.status(500).json({ error: result.error ?? "Failed to set default model" });
8081
8081
  }
8082
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-LOK3LXFH.js");
8082
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-AJSENHBC.js");
8083
8083
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
8084
8084
  const updatedConfig = setDefaultModelSelection(globalConfig, providerId, model);
8085
8085
  await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
@@ -8195,7 +8195,7 @@ All file and git operations should use this branch.
8195
8195
  }
8196
8196
  sessionManager.setDangerLevel(sessionId, dangerLevel);
8197
8197
  if (dangerLevel === "dangerous") {
8198
- const { autoApprovePendingConfirmationsForSession } = await import("./tools-BL6XCTUV.js");
8198
+ const { autoApprovePendingConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
8199
8199
  const approvedCallIds = autoApprovePendingConfirmationsForSession(sessionId);
8200
8200
  for (const callId of approvedCallIds) {
8201
8201
  wssExports.broadcastForSession(sessionId, {
@@ -8230,7 +8230,7 @@ All file and git operations should use this branch.
8230
8230
  setSessionDisabledServers(sessionId, disabledServers);
8231
8231
  const messages = session.messages ?? [];
8232
8232
  if (messages.length === 0) {
8233
- const { applyDynamicContext } = await import("./dynamic-context-5SFXTEAP.js");
8233
+ const { applyDynamicContext } = await import("./dynamic-context-3THEBFBI.js");
8234
8234
  const modelName = session.providerModel ?? providerManager.getCurrentModel();
8235
8235
  await applyDynamicContext(sessionManager, sessionId, modelName);
8236
8236
  } else {
@@ -8264,7 +8264,7 @@ All file and git operations should use this branch.
8264
8264
  if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
8265
8265
  return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
8266
8266
  }
8267
- const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-BL6XCTUV.js");
8267
+ const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-CECV6XQ6.js");
8268
8268
  const pendingSessionId = getConfirmationSessionId(callId);
8269
8269
  if (!pendingSessionId) {
8270
8270
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -8279,7 +8279,7 @@ All file and git operations should use this branch.
8279
8279
  const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-UAUOGRSV.js");
8280
8280
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-IHD244OU.js");
8281
8281
  const { createSessionStateMessage } = await import("./protocol-MRMOB3P4.js");
8282
- const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-BL6XCTUV.js");
8282
+ const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CECV6XQ6.js");
8283
8283
  const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
8284
8284
  const eventStore = getEventStore2();
8285
8285
  const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
@@ -8317,7 +8317,7 @@ All file and git operations should use this branch.
8317
8317
  if (!skip && typeof answer !== "string") {
8318
8318
  return res.status(400).json({ error: "answer is required when not skipping" });
8319
8319
  }
8320
- const { provideAnswer: provideAnswer2 } = await import("./tools-BL6XCTUV.js");
8320
+ const { provideAnswer: provideAnswer2 } = await import("./tools-CECV6XQ6.js");
8321
8321
  const found = provideAnswer2(callId, answer ?? "", skip ?? false);
8322
8322
  if (!found) {
8323
8323
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -8383,7 +8383,7 @@ All file and git operations should use this branch.
8383
8383
  backend: activeProvider?.backend ?? llmClient.getBackend(),
8384
8384
  model: llmClient.getModel()
8385
8385
  };
8386
- const { runAgentTurn, TurnMetrics } = await import("./orchestrator-53SS74LD.js");
8386
+ const { runAgentTurn, TurnMetrics } = await import("./orchestrator-BU4RJHPZ.js");
8387
8387
  runAgentTurn(
8388
8388
  {
8389
8389
  sessionManager,
@@ -8421,8 +8421,8 @@ All file and git operations should use this branch.
8421
8421
  if (!session) {
8422
8422
  return res.status(404).json({ error: "Session not found" });
8423
8423
  }
8424
- const { stopSessionExecution } = await import("./chat-handler-OFB4426F.js");
8425
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-BL6XCTUV.js");
8424
+ const { stopSessionExecution } = await import("./chat-handler-VDB4CSXK.js");
8425
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
8426
8426
  const queuedMessages = sessionManager.getQueueState(sessionId);
8427
8427
  sessionManager.clearMessageQueue(sessionId);
8428
8428
  stopSessionExecution(sessionId, sessionManager);
@@ -8545,7 +8545,7 @@ All file and git operations should use this branch.
8545
8545
  return res.status(404).json({ error: "Session not found" });
8546
8546
  }
8547
8547
  try {
8548
- const { buildSessionExport } = await import("./export-import-PBEX3KWU.js");
8548
+ const { buildSessionExport } = await import("./export-import-SYYISNTZ.js");
8549
8549
  const payload = buildSessionExport(sessionManager, sessionId);
8550
8550
  const filename = `${(payload.session.title ?? "session").replace(/[^a-zA-Z0-9-_]/g, "_")}.openfox-session.json`;
8551
8551
  res.setHeader("Content-Disposition", `attachment; filename="${filename}"`);
@@ -8663,7 +8663,7 @@ All file and git operations should use this branch.
8663
8663
  let visionFallback;
8664
8664
  let globalWorkdir;
8665
8665
  try {
8666
- const { loadGlobalConfig, getVisionFallback } = await import("./config-LOK3LXFH.js");
8666
+ const { loadGlobalConfig, getVisionFallback } = await import("./config-AJSENHBC.js");
8667
8667
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
8668
8668
  const fallback = getVisionFallback(globalConfig);
8669
8669
  if (fallback) {
@@ -8867,7 +8867,7 @@ All file and git operations should use this branch.
8867
8867
  const backend = req.query["backend"];
8868
8868
  if (!url) return res.status(400).json({ error: "url is required" });
8869
8869
  try {
8870
- const { fetchModelsWithContext } = await import("./provider-manager-RHJYUU5W.js");
8870
+ const { fetchModelsWithContext } = await import("./provider-manager-2UENHAAA.js");
8871
8871
  const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
8872
8872
  const { getCatalogEntry } = await import("./model-catalog-Y5MA5OZP.js");
8873
8873
  const models = await fetchModelsWithContext(
@@ -8940,7 +8940,7 @@ All file and git operations should use this branch.
8940
8940
  return res.json({ success: true, message: { content: response2.content }, raw: response2 });
8941
8941
  }
8942
8942
  const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
8943
- const { getBackendCapabilities } = await import("./backend-EPISSWLB.js");
8943
+ const { getBackendCapabilities } = await import("./backend-2VSDPCWS.js");
8944
8944
  const { buildNonStreamingCreateParams } = await import("./client-pure-YZ4IGCU4.js");
8945
8945
  const { OpenAIHttpClient } = await import("./http-client-RA7XFYPO.js");
8946
8946
  const { ensureVersionPrefix } = await import("./url-utils-C5BM7NF7.js");
@@ -9013,7 +9013,7 @@ All file and git operations should use this branch.
9013
9013
  return res.status(400).json({ error: "name, url, and backend are required" });
9014
9014
  }
9015
9015
  try {
9016
- const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-LOK3LXFH.js");
9016
+ const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-AJSENHBC.js");
9017
9017
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9018
9018
  const providerBackend = backend === "unknown" ? detectBackendFromUrl(url) ?? "unknown" : backend;
9019
9019
  const providerModels = modelConfigs?.length ? buildModelConfigs(modelConfigs) : model ? [{ id: model, contextWindow: 2e5, source: "user" }] : [];
@@ -9054,7 +9054,7 @@ All file and git operations should use this branch.
9054
9054
  app.post("/api/init/config", async (req, res) => {
9055
9055
  const { workdir, visionFallback } = req.body;
9056
9056
  try {
9057
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-LOK3LXFH.js");
9057
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
9058
9058
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9059
9059
  const updatedVf = visionFallback ? { ...globalConfig.visionFallback, ...visionFallback } : globalConfig.visionFallback;
9060
9060
  const updatedConfig = {
@@ -9089,7 +9089,7 @@ All file and git operations should use this branch.
9089
9089
  }
9090
9090
  const updates = parsed.data;
9091
9091
  try {
9092
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-LOK3LXFH.js");
9092
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
9093
9093
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9094
9094
  const filteredUpdates = Object.fromEntries(Object.entries(updates).filter(([, v]) => v !== void 0));
9095
9095
  const updatedConfig = {
@@ -9131,8 +9131,8 @@ All file and git operations should use this branch.
9131
9131
  }
9132
9132
  const testConfig = parsed.data;
9133
9133
  try {
9134
- const { resolveVisionFallback } = await import("./config-LOK3LXFH.js");
9135
- const { loadGlobalConfig } = await import("./config-LOK3LXFH.js");
9134
+ const { resolveVisionFallback } = await import("./config-AJSENHBC.js");
9135
+ const { loadGlobalConfig } = await import("./config-AJSENHBC.js");
9136
9136
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9137
9137
  const filteredTestConfig = Object.fromEntries(Object.entries(testConfig).filter(([, v]) => v !== void 0));
9138
9138
  const testVisionFallback = {
@@ -9187,7 +9187,7 @@ All file and git operations should use this branch.
9187
9187
  return res.status(400).json({ error: "providerIds must be a non-empty array" });
9188
9188
  }
9189
9189
  try {
9190
- const { loadGlobalConfig, saveGlobalConfig, reorderProviders } = await import("./config-LOK3LXFH.js");
9190
+ const { loadGlobalConfig, saveGlobalConfig, reorderProviders } = await import("./config-AJSENHBC.js");
9191
9191
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9192
9192
  let updatedConfig;
9193
9193
  try {
@@ -9209,7 +9209,7 @@ All file and git operations should use this branch.
9209
9209
  });
9210
9210
  app.delete("/api/providers/:id", async (req, res) => {
9211
9211
  const { id } = req.params;
9212
- const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-LOK3LXFH.js");
9212
+ const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-AJSENHBC.js");
9213
9213
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9214
9214
  const updatedConfig = removeProvider(globalConfig, id);
9215
9215
  await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
@@ -9227,7 +9227,7 @@ All file and git operations should use this branch.
9227
9227
  const { id } = req.params;
9228
9228
  const { isLocal } = req.body;
9229
9229
  try {
9230
- const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-LOK3LXFH.js");
9230
+ const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-AJSENHBC.js");
9231
9231
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9232
9232
  const provider = globalConfig.providers.find((p) => p.id === id);
9233
9233
  if (!provider) {
@@ -9259,7 +9259,7 @@ All file and git operations should use this branch.
9259
9259
  transportAdapter
9260
9260
  } = req.body;
9261
9261
  try {
9262
- const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-LOK3LXFH.js");
9262
+ const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-AJSENHBC.js");
9263
9263
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9264
9264
  const provider = globalConfig.providers.find((p) => p.id === id);
9265
9265
  if (!provider) {
@@ -9301,7 +9301,7 @@ All file and git operations should use this branch.
9301
9301
  return res.status(400).json({ error: "thinkingEnabled must be a boolean" });
9302
9302
  }
9303
9303
  try {
9304
- const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-LOK3LXFH.js");
9304
+ const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-AJSENHBC.js");
9305
9305
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9306
9306
  const provider = globalConfig.providers.find((p) => p.id === id);
9307
9307
  if (!provider) {
@@ -9341,7 +9341,7 @@ All file and git operations should use this branch.
9341
9341
  return res.status(400).json({ error: result.error });
9342
9342
  }
9343
9343
  const llmClient = getLLMClient();
9344
- const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-LOK3LXFH.js");
9344
+ const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-AJSENHBC.js");
9345
9345
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9346
9346
  const updatedConfig = setDefaultModelSelection(globalConfig, id, llmClient.getModel());
9347
9347
  await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
@@ -9368,7 +9368,7 @@ All file and git operations should use this branch.
9368
9368
  });
9369
9369
  async function rebuildMcpTools() {
9370
9370
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-ZY4FC4C4.js");
9371
- const { setMcpTools: setMcpTools2 } = await import("./tools-BL6XCTUV.js");
9371
+ const { setMcpTools: setMcpTools2 } = await import("./tools-CECV6XQ6.js");
9372
9372
  const mcpTools = createMcpTools2(mcpManager);
9373
9373
  setMcpTools2(mcpTools);
9374
9374
  toolRegistry = createToolRegistry();
@@ -9443,7 +9443,7 @@ All file and git operations should use this branch.
9443
9443
  };
9444
9444
  await mcpManager.addServer(name, serverCfg);
9445
9445
  const server = mcpManager.getServer(name);
9446
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-LOK3LXFH.js");
9446
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
9447
9447
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9448
9448
  const updatedMcpServers = { ...globalConfig.mcpServers ?? {}, [name]: serverCfg };
9449
9449
  await saveGlobalConfig(
@@ -9508,7 +9508,7 @@ All file and git operations should use this branch.
9508
9508
  return res.status(400).json({ error: "oauth must be a boolean" });
9509
9509
  }
9510
9510
  try {
9511
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-LOK3LXFH.js");
9511
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
9512
9512
  const { applyMcpServerUpdate } = await import("./update-server-SVPV6ZJZ.js");
9513
9513
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9514
9514
  const mcpServers2 = { ...globalConfig.mcpServers ?? {} };
@@ -9561,7 +9561,7 @@ All file and git operations should use this branch.
9561
9561
  mcpManager.removeServer(name);
9562
9562
  const { clearMcpOAuthEntry } = await import("./oauth-store-KECHUT54.js");
9563
9563
  await clearMcpOAuthEntry(name);
9564
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-LOK3LXFH.js");
9564
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
9565
9565
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9566
9566
  const updatedMcpServers = { ...globalConfig.mcpServers ?? {} };
9567
9567
  delete updatedMcpServers[name];
@@ -9738,7 +9738,7 @@ All file and git operations should use this branch.
9738
9738
  await mcpManager.setToolEnabled(name, toolName, enabled);
9739
9739
  const server = mcpManager.getServer(name);
9740
9740
  if (server) {
9741
- const { loadGlobalConfig, saveGlobalConfig } = await import("./config-LOK3LXFH.js");
9741
+ const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
9742
9742
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
9743
9743
  const mcpServers2 = { ...globalConfig.mcpServers ?? {} };
9744
9744
  const serverCfg = mcpServers2[name];
@@ -9944,7 +9944,7 @@ All file and git operations should use this branch.
9944
9944
  );
9945
9945
  const wss = wssExports.wss;
9946
9946
  deferTasksBroadcast = (_projectId, payload) => wssExports.broadcastAll({ type: "tasks.update", payload });
9947
- const { launchWorkflowRun, abortRunnerRun } = await import("./launch-L5NL75KK.js");
9947
+ const { launchWorkflowRun, abortRunnerRun } = await import("./launch-MF2VT7SU.js");
9948
9948
  deferTasksLaunchWorkflow = (sessionId, launch) => {
9949
9949
  const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
9950
9950
  let llmClient = getLLMClient();
@@ -9989,7 +9989,7 @@ All file and git operations should use this branch.
9989
9989
  const state = sessionManager.getContextState(sessionId);
9990
9990
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
9991
9991
  });
9992
- const { QueueProcessor } = await import("./processor-T4VWZMXT.js");
9992
+ const { QueueProcessor } = await import("./processor-IZ4EAHPD.js");
9993
9993
  const queueProcessor = new QueueProcessor({
9994
9994
  sessionManager,
9995
9995
  providerManager,
@@ -10031,8 +10031,8 @@ All file and git operations should use this branch.
10031
10031
  launchWorkflow: (sessionId, launch) => deferTasksLaunchWorkflow(sessionId, launch),
10032
10032
  stopSession: (sessionId) => {
10033
10033
  void (async () => {
10034
- const { stopSessionExecution } = await import("./chat-handler-OFB4426F.js");
10035
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-BL6XCTUV.js");
10034
+ const { stopSessionExecution } = await import("./chat-handler-VDB4CSXK.js");
10035
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
10036
10036
  sessionManager.clearMessageQueue(sessionId);
10037
10037
  stopSessionExecution(sessionId, sessionManager);
10038
10038
  abortSession(sessionId);
@@ -10159,4 +10159,4 @@ export {
10159
10159
  createServerHandle,
10160
10160
  createServer
10161
10161
  };
10162
- //# sourceMappingURL=chunk-VK2BSIJP.js.map
10162
+ //# sourceMappingURL=chunk-IMQDO5EJ.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-OA2FURC3.js";
5
5
  import {
6
6
  createLLMClient
7
- } from "./chunk-5HDPFHHJ.js";
7
+ } from "./chunk-FHBLF2QR.js";
8
8
  import {
9
9
  getModelProfile
10
10
  } from "./chunk-TS5WKTFB.js";
@@ -12,7 +12,7 @@ import {
12
12
  detectBackendFromUrl,
13
13
  detectProviderDefaultsFromUrl,
14
14
  getBackendCapabilities
15
- } from "./chunk-VLQ6BMU7.js";
15
+ } from "./chunk-FTPQI5TA.js";
16
16
  import {
17
17
  buildModelsUrl,
18
18
  ensureVersionPrefix,
@@ -920,4 +920,4 @@ export {
920
920
  parseDefaultModelSelection,
921
921
  createProviderManager
922
922
  };
923
- //# sourceMappingURL=chunk-J556QIRD.js.map
923
+ //# sourceMappingURL=chunk-KVDOPLXJ.js.map
@@ -3,14 +3,14 @@ import {
3
3
  checkToolChangesAndInject,
4
4
  computeDynamicContextHash,
5
5
  getToolFingerprint
6
- } from "./chunk-HQDKHNWS.js";
6
+ } from "./chunk-H3QN2J4X.js";
7
7
  import {
8
8
  createAssemblyResult,
9
9
  getConversationMessages,
10
10
  getToolRegistryForAgent,
11
11
  processEventsForConversation,
12
12
  runTopLevelAgentLoop
13
- } from "./chunk-RM4ZBI2B.js";
13
+ } from "./chunk-Z4CTMGFH.js";
14
14
  import {
15
15
  getAllInstructions,
16
16
  getEnabledSkillMetadata
@@ -22,7 +22,7 @@ import {
22
22
  TurnMetrics,
23
23
  createChatDoneEvent,
24
24
  createMessageStartEvent
25
- } from "./chunk-OA7KBQ2O.js";
25
+ } from "./chunk-CTAYPMB2.js";
26
26
  import {
27
27
  buildAgentReminder,
28
28
  buildAgentSmallReminder,
@@ -355,7 +355,7 @@ async function runAgentTurn(options, turnMetrics, agentId, append, callbacks) {
355
355
  getConversationMessages: buildGetConversationMessages(options.sessionId, resolveAgentClient, append),
356
356
  injectAgentReminder: () => injectAgentReminder(options.sessionId, agentDef),
357
357
  rebuildCachedContext: async () => {
358
- const { applyDynamicContext } = await import("./dynamic-context-5SFXTEAP.js");
358
+ const { applyDynamicContext } = await import("./dynamic-context-3THEBFBI.js");
359
359
  await applyDynamicContext(options.sessionManager, options.sessionId, agentLlmClient.getModel());
360
360
  },
361
361
  ...options.initialCompacting ? { initialCompacting: true } : {},
@@ -385,4 +385,4 @@ export {
385
385
  runChatTurn,
386
386
  runAgentTurn
387
387
  };
388
- //# sourceMappingURL=chunk-5CZAKVGZ.js.map
388
+ //# sourceMappingURL=chunk-QZV3M6V5.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createMessageStartEvent
3
- } from "./chunk-OA7KBQ2O.js";
3
+ } from "./chunk-CTAYPMB2.js";
4
4
  import {
5
5
  COMPACTION_PROMPT
6
6
  } from "./chunk-Z7IT3V22.js";
@@ -36,4 +36,4 @@ export {
36
36
  COMPACTION_MAX_RATIO,
37
37
  shouldCompact
38
38
  };
39
- //# sourceMappingURL=chunk-Q5JCBAQF.js.map
39
+ //# sourceMappingURL=chunk-SJTBOREW.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  runAgentTurn
3
- } from "./chunk-5CZAKVGZ.js";
3
+ } from "./chunk-QZV3M6V5.js";
4
4
  import {
5
5
  executeSubAgent,
6
6
  getToolRegistryForAgent
7
- } from "./chunk-RM4ZBI2B.js";
7
+ } from "./chunk-Z4CTMGFH.js";
8
8
  import {
9
9
  gitSpawnEnv
10
10
  } from "./chunk-J7GAZGZT.js";
@@ -15,14 +15,14 @@ import {
15
15
  loadProjectWorkflows,
16
16
  loadUserWorkflows,
17
17
  normalizeWorkflowScope
18
- } from "./chunk-CSUMZAYY.js";
18
+ } from "./chunk-EX6ROYYS.js";
19
19
  import {
20
20
  serverT
21
21
  } from "./chunk-TIIWXMGE.js";
22
22
  import {
23
23
  TurnMetrics,
24
24
  createMessageStartEvent
25
- } from "./chunk-OA7KBQ2O.js";
25
+ } from "./chunk-CTAYPMB2.js";
26
26
  import {
27
27
  checkAborted,
28
28
  decodeUtf8,
@@ -663,6 +663,7 @@ async function executeWorkflow(workflow, options, subGroup) {
663
663
  llmClient,
664
664
  toolRegistry: filteredToolRegistry,
665
665
  turnMetrics,
666
+ providerManager: sessionManager.getProviderManager?.(),
666
667
  statsIdentity: options.statsIdentity ?? {
667
668
  providerId: "",
668
669
  providerName: "",
@@ -1023,4 +1024,4 @@ export {
1023
1024
  abortRunnerRun,
1024
1025
  launchWorkflowRun
1025
1026
  };
1026
- //# sourceMappingURL=chunk-TRZZCMJ3.js.map
1027
+ //# sourceMappingURL=chunk-VKZBCC75.js.map