openfox 2.0.142 → 2.0.144

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 (81) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/CHANGELOG.md +27 -0
  3. package/dist/auto-continue-M3RPFGFI.js +111 -0
  4. package/dist/{backend-EPISSWLB.js → backend-2VSDPCWS.js} +2 -2
  5. package/dist/{chat-handler-OFB4426F.js → chat-handler-QOOQOHHR.js} +28 -27
  6. package/dist/{chunk-CSUMZAYY.js → chunk-2DBWCXAQ.js} +3 -3
  7. package/dist/chunk-2DVAF6HY.js +447 -0
  8. package/dist/{chunk-ACILWRPU.js → chunk-3IVJ65IG.js} +12 -10
  9. package/dist/{chunk-VK2BSIJP.js → chunk-5ONERSDK.js} +146 -129
  10. package/dist/{chunk-5CZAKVGZ.js → chunk-5XKWYLBX.js} +18 -16
  11. package/dist/{chunk-R5FAEKXQ.js → chunk-73BO5OT3.js} +2 -1
  12. package/dist/{chunk-J556QIRD.js → chunk-AWBV2VXO.js} +3 -3
  13. package/dist/{chunk-RM4ZBI2B.js → chunk-C4LI5U6L.js} +45 -42
  14. package/dist/{chunk-F3R4YS3F.js → chunk-CCIG3YLG.js} +2 -2
  15. package/dist/{chunk-2CEZQAGQ.js → chunk-DJH6LMBT.js} +2 -2
  16. package/dist/{chunk-EFEHIJXF.js → chunk-E4F32L4Q.js} +2 -2
  17. package/dist/{chunk-OA7KBQ2O.js → chunk-FAN4P45J.js} +3 -3
  18. package/dist/{chunk-XADIBENX.js → chunk-FLTNKZNQ.js} +10 -10
  19. package/dist/{chunk-VLQ6BMU7.js → chunk-FTPQI5TA.js} +11 -1
  20. package/dist/{chunk-DNL2NUDB.js → chunk-GZ4EK4LZ.js} +2 -2
  21. package/dist/{chunk-5HDPFHHJ.js → chunk-L2RESXUF.js} +3 -3
  22. package/dist/{chunk-TRZZCMJ3.js → chunk-MBDYJ35W.js} +14 -11
  23. package/dist/{chunk-DQEANXXF.js → chunk-ODETQHMI.js} +3 -3
  24. package/dist/{chunk-HQDKHNWS.js → chunk-OSUEWIVU.js} +10 -8
  25. package/dist/{chunk-FFVIO6GL.js → chunk-QURYQA4D.js} +8 -8
  26. package/dist/{chunk-N5AJHJG5.js → chunk-STVJA7IX.js} +3 -3
  27. package/dist/{chunk-WSDR27YV.js → chunk-UO4X2ENE.js} +2 -2
  28. package/dist/{chunk-Q5JCBAQF.js → chunk-VFHGN3IS.js} +4 -4
  29. package/dist/{chunk-SKNPOZYP.js → chunk-X6SWZEK7.js} +3 -1
  30. package/dist/{chunk-TIIWXMGE.js → chunk-X7ZAP6YW.js} +2 -2
  31. package/dist/{chunk-MEPTCUYN.js → chunk-YEFZ5HBD.js} +2 -2
  32. package/dist/{chunk-DRIR2IZR.js → chunk-YEW4YEJU.js} +2 -2
  33. package/dist/{chunk-NJFXYSXP.js → chunk-YRSZJ7IZ.js} +11 -441
  34. package/dist/{chunk-TEUVZCPS.js → chunk-Z3C3D4IR.js} +24 -22
  35. package/dist/{chunk-Z7IT3V22.js → chunk-ZONLEX2F.js} +8 -4
  36. package/dist/chunk-ZSGELOTW.js +7 -0
  37. package/dist/cli/dev.js +1 -1
  38. package/dist/cli/index.js +1 -1
  39. package/dist/{client-2A766XZK.js → client-L4PANCG4.js} +5 -5
  40. package/dist/{compactor-3BVVHO4M.js → compactor-53WDNC2S.js} +12 -11
  41. package/dist/{config-LOK3LXFH.js → config-AJSENHBC.js} +2 -2
  42. package/dist/{describe-image-F22VNBWY.js → describe-image-IGLGVEOJ.js} +12 -11
  43. package/dist/{dynamic-context-5SFXTEAP.js → dynamic-context-CR4RUXOX.js} +11 -10
  44. package/dist/{events-UAUOGRSV.js → events-ODZ4SSBW.js} +11 -9
  45. package/dist/{export-import-PBEX3KWU.js → export-import-3WOHC7PI.js} +10 -8
  46. package/dist/{folding-IHD244OU.js → folding-V2R2MZ6Y.js} +4 -4
  47. package/dist/{http-client-RA7XFYPO.js → http-client-SZZBSL4U.js} +3 -3
  48. package/dist/{launch-L5NL75KK.js → launch-4COI5RGL.js} +28 -27
  49. package/dist/{manager-4SMHCFXY.js → manager-PDG7RKPA.js} +4 -4
  50. package/dist/{mcp-SQ4DOGPT.js → mcp-C7PNGP25.js} +2 -2
  51. package/dist/{orchestrator-53SS74LD.js → orchestrator-AMTWA6JO.js} +27 -26
  52. package/dist/package.json +1 -1
  53. package/dist/{path-security-WOA6MTWQ.js → path-security-3YFS3GJQ.js} +9 -8
  54. package/dist/{platform-EAZNZDAE.js → platform-WCXMN4NM.js} +3 -3
  55. package/dist/{processor-T4VWZMXT.js → processor-UZ7OBCAK.js} +27 -26
  56. package/dist/{protocol-Dpf4FBF2.d.ts → protocol-Ch2s26bR.d.ts} +1 -1
  57. package/dist/provider/index.d.ts +4 -4
  58. package/dist/{provider-5XNJEDKW.js → provider-QE7XSGYA.js} +8 -8
  59. package/dist/{provider-manager-RHJYUU5W.js → provider-manager-WW2EF76W.js} +6 -6
  60. package/dist/{registry-C7RKKHZB.js → registry-24U5BZAJ.js} +3 -3
  61. package/dist/{serve-LP3ZX6CW.js → serve-NLQ6IB2V.js} +33 -32
  62. package/dist/server/index.d.ts +4 -4
  63. package/dist/server/index.js +32 -31
  64. package/dist/{server-IGZLCNZG.js → server-YXKUQ3DD.js} +31 -30
  65. package/dist/{service-AZU4YTS2.js → service-KMOSB6SU.js} +8 -8
  66. package/dist/{session-overrides-CKS2AVE5.js → session-overrides-GQKE7WGE.js} +5 -5
  67. package/dist/{sessions-DAHLRQE2.js → sessions-A3IZYL6X.js} +4 -4
  68. package/dist/{settings-TR4BF2C4.js → settings-FQUDSGZF.js} +2 -2
  69. package/dist/shared/index.d.ts +3 -3
  70. package/dist/store-AOZ46PBS.js +23 -0
  71. package/dist/{tasks-T5KZXKMD.js → tasks-X5DM553T.js} +8 -8
  72. package/dist/{tools-BL6XCTUV.js → tools-7L63ZMNU.js} +32 -31
  73. package/dist/{types-LO8296aY.d.ts → types-BajWwfkt.d.ts} +1 -1
  74. package/dist/{types-CZJf6Fnb.d.ts → types-BiHNYUUI.d.ts} +1 -1
  75. package/dist/{update-M5DMX3FC.js → update-IBN2GJUI.js} +2 -2
  76. package/dist/web/assets/{index-2WvLd7SC.css → index--zSmgMW5.css} +1 -1
  77. package/dist/web/assets/{index-BPhet33M.js → index-DL26wmhi.js} +78 -75
  78. package/dist/web/index.html +2 -2
  79. package/dist/web/sw.js +1 -1
  80. package/package.json +1 -1
  81. package/dist/chunk-EPZO3MGM.js +0 -7
@@ -3,49 +3,51 @@ import {
3
3
  checkToolChangesAndInject,
4
4
  computeDynamicContextHash,
5
5
  getToolFingerprint
6
- } from "./chunk-HQDKHNWS.js";
6
+ } from "./chunk-OSUEWIVU.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-C4LI5U6L.js";
14
14
  import {
15
15
  getAllInstructions,
16
16
  getEnabledSkillMetadata
17
- } from "./chunk-2CEZQAGQ.js";
17
+ } from "./chunk-DJH6LMBT.js";
18
18
  import {
19
19
  serverT
20
- } from "./chunk-TIIWXMGE.js";
20
+ } from "./chunk-X7ZAP6YW.js";
21
+ import {
22
+ PathAccessDeniedError
23
+ } from "./chunk-STVJA7IX.js";
21
24
  import {
22
25
  TurnMetrics,
23
26
  createChatDoneEvent,
24
27
  createMessageStartEvent
25
- } from "./chunk-OA7KBQ2O.js";
28
+ } from "./chunk-FAN4P45J.js";
26
29
  import {
27
30
  buildAgentReminder,
28
31
  buildAgentSmallReminder,
29
32
  buildTopLevelSystemPrompt
30
- } from "./chunk-Z7IT3V22.js";
31
- import {
32
- PathAccessDeniedError
33
- } from "./chunk-N5AJHJG5.js";
33
+ } from "./chunk-ZONLEX2F.js";
34
34
  import {
35
35
  getCurrentContextWindowId,
36
- getCurrentWindowMessageOptions,
36
+ getCurrentWindowMessageOptions
37
+ } from "./chunk-2DVAF6HY.js";
38
+ import {
37
39
  getEventStore
38
- } from "./chunk-NJFXYSXP.js";
40
+ } from "./chunk-YRSZJ7IZ.js";
39
41
  import {
40
42
  buildSnapshotFromSessionState
41
- } from "./chunk-EFEHIJXF.js";
43
+ } from "./chunk-E4F32L4Q.js";
42
44
  import {
43
45
  findAgentById,
44
46
  getRuntimeConfig,
45
47
  getSubAgents,
46
48
  loadAllAgentsDefault,
47
49
  resolveDefaultAgentId
48
- } from "./chunk-DRIR2IZR.js";
50
+ } from "./chunk-YEW4YEJU.js";
49
51
  import {
50
52
  logger
51
53
  } from "./chunk-K44MW7JJ.js";
@@ -55,7 +57,7 @@ import {
55
57
 
56
58
  // src/server/chat/orchestrator.ts
57
59
  async function buildRetryPatterns() {
58
- const { getSetting, SETTINGS_KEYS } = await import("./settings-TR4BF2C4.js");
60
+ const { getSetting, SETTINGS_KEYS } = await import("./settings-FQUDSGZF.js");
59
61
  const raw = getSetting(SETTINGS_KEYS.RETRY_PATTERNS);
60
62
  if (!raw) {
61
63
  const oldXmlProtection = getSetting("llm.disableXmlProtection");
@@ -355,7 +357,7 @@ async function runAgentTurn(options, turnMetrics, agentId, append, callbacks) {
355
357
  getConversationMessages: buildGetConversationMessages(options.sessionId, resolveAgentClient, append),
356
358
  injectAgentReminder: () => injectAgentReminder(options.sessionId, agentDef),
357
359
  rebuildCachedContext: async () => {
358
- const { applyDynamicContext } = await import("./dynamic-context-5SFXTEAP.js");
360
+ const { applyDynamicContext } = await import("./dynamic-context-CR4RUXOX.js");
359
361
  await applyDynamicContext(options.sessionManager, options.sessionId, agentLlmClient.getModel());
360
362
  },
361
363
  ...options.initialCompacting ? { initialCompacting: true } : {},
@@ -385,4 +387,4 @@ export {
385
387
  runChatTurn,
386
388
  runAgentTurn
387
389
  };
388
- //# sourceMappingURL=chunk-5CZAKVGZ.js.map
390
+ //# sourceMappingURL=chunk-5XKWYLBX.js.map
@@ -22,6 +22,7 @@ var backendSchema = z.enum([
22
22
  "ollama",
23
23
  "llamacpp",
24
24
  "lmstudio",
25
+ "unsloth",
25
26
  "openai",
26
27
  "anthropic",
27
28
  "opencode-go",
@@ -384,4 +385,4 @@ export {
384
385
  reorderProviders,
385
386
  activateProvider
386
387
  };
387
- //# sourceMappingURL=chunk-R5FAEKXQ.js.map
388
+ //# sourceMappingURL=chunk-73BO5OT3.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-L2RESXUF.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-AWBV2VXO.js.map
@@ -1,10 +1,13 @@
1
+ import {
2
+ applyMcpServerUpdate
3
+ } from "./chunk-OAN4BXEW.js";
1
4
  import {
2
5
  findSkillById,
3
6
  getAllInstructions,
4
7
  getEnabledSkillMetadata,
5
8
  isSkillEnabled,
6
9
  loadAllSkills
7
- } from "./chunk-2CEZQAGQ.js";
10
+ } from "./chunk-DJH6LMBT.js";
8
11
  import {
9
12
  getGitBranch,
10
13
  isGitRepository,
@@ -14,10 +17,10 @@ import {
14
17
  getGateConfig,
15
18
  isTaskConflictError,
16
19
  isTaskGateError
17
- } from "./chunk-CSUMZAYY.js";
20
+ } from "./chunk-2DBWCXAQ.js";
18
21
  import {
19
22
  getSessionDisabledServers
20
- } from "./chunk-WSDR27YV.js";
23
+ } from "./chunk-UO4X2ENE.js";
21
24
  import {
22
25
  buildSignal,
23
26
  computeFileHash,
@@ -33,10 +36,16 @@ import {
33
36
  requireSession,
34
37
  validateActionWithPermission,
35
38
  validateFileForWrite
36
- } from "./chunk-XADIBENX.js";
39
+ } from "./chunk-FLTNKZNQ.js";
37
40
  import {
38
41
  serverT
39
- } from "./chunk-TIIWXMGE.js";
42
+ } from "./chunk-X7ZAP6YW.js";
43
+ import {
44
+ PathAccessDeniedError,
45
+ extractAbsolutePathsFromCommand,
46
+ extractSensitivePathsFromCommand,
47
+ resolveRelativeTraversals
48
+ } from "./chunk-STVJA7IX.js";
40
49
  import {
41
50
  TurnMetrics,
42
51
  clearLLMFailure,
@@ -50,12 +59,14 @@ import {
50
59
  recordLLMFailure,
51
60
  sleepThroughRetryBackoff,
52
61
  streamLLMPure
53
- } from "./chunk-OA7KBQ2O.js";
62
+ } from "./chunk-FAN4P45J.js";
54
63
  import {
55
64
  COMPACTION_PROMPT,
65
+ CONTINUE_AFTER_STREAM_ERROR_PROMPT,
66
+ CONTINUE_PROMPT,
56
67
  buildBasePrompt,
57
68
  computeEffectiveTools
58
- } from "./chunk-Z7IT3V22.js";
69
+ } from "./chunk-ZONLEX2F.js";
59
70
  import {
60
71
  startInspectProxy
61
72
  } from "./chunk-VGE6UYND.js";
@@ -72,7 +83,7 @@ import {
72
83
  spawnShellProcess,
73
84
  startProcessCommand,
74
85
  stopProcess
75
- } from "./chunk-DQEANXXF.js";
86
+ } from "./chunk-ODETQHMI.js";
76
87
  import {
77
88
  getMaxPerSession,
78
89
  getSessionProcessCount,
@@ -81,24 +92,13 @@ import {
81
92
  import {
82
93
  createMcpTools
83
94
  } from "./chunk-VIJVLLPT.js";
84
- import {
85
- applyMcpServerUpdate
86
- } from "./chunk-OAN4BXEW.js";
87
- import {
88
- AskUserInterrupt,
89
- askUserTool
90
- } from "./chunk-V5AC2TV7.js";
91
- import {
92
- PathAccessDeniedError,
93
- extractAbsolutePathsFromCommand,
94
- extractSensitivePathsFromCommand,
95
- resolveRelativeTraversals
96
- } from "./chunk-N5AJHJG5.js";
97
95
  import {
98
96
  getCurrentContextWindowId,
99
- getCurrentWindowMessageOptions,
97
+ getCurrentWindowMessageOptions
98
+ } from "./chunk-2DVAF6HY.js";
99
+ import {
100
100
  getEventStore
101
- } from "./chunk-NJFXYSXP.js";
101
+ } from "./chunk-YRSZJ7IZ.js";
102
102
  import {
103
103
  buildContextMessagesFromEventHistory,
104
104
  foldContextState,
@@ -108,13 +108,17 @@ import {
108
108
  handleToolResult,
109
109
  reorderToolMessages,
110
110
  stripOrphanedToolCalls
111
- } from "./chunk-EFEHIJXF.js";
111
+ } from "./chunk-E4F32L4Q.js";
112
112
  import {
113
113
  findAgentById,
114
114
  getRuntimeConfig,
115
115
  getSubAgents,
116
116
  loadAllAgentsDefault
117
- } from "./chunk-DRIR2IZR.js";
117
+ } from "./chunk-YEW4YEJU.js";
118
+ import {
119
+ AskUserInterrupt,
120
+ askUserTool
121
+ } from "./chunk-V5AC2TV7.js";
118
122
  import {
119
123
  createChatDoneMessage,
120
124
  createChatLLMRetryFailedMessage,
@@ -139,14 +143,14 @@ import {
139
143
  SETTINGS_KEYS,
140
144
  getSetting,
141
145
  setSetting
142
- } from "./chunk-SKNPOZYP.js";
146
+ } from "./chunk-X6SWZEK7.js";
143
147
  import {
144
148
  logger
145
149
  } from "./chunk-K44MW7JJ.js";
146
150
  import {
147
151
  loadGlobalConfig,
148
152
  saveGlobalConfig
149
- } from "./chunk-R5FAEKXQ.js";
153
+ } from "./chunk-73BO5OT3.js";
150
154
  import {
151
155
  getGlobalConfigDir
152
156
  } from "./chunk-CQGTEGKL.js";
@@ -1461,8 +1465,6 @@ function emitLiveTurnStats(turnMetrics, statsIdentity, mode, onMessage) {
1461
1465
  var MAX_TRUNCATION_RETRIES = 3;
1462
1466
  var MAX_CONTEXT_LENGTH_RETRIES = 3;
1463
1467
  var OUTPUT_RESERVE_TOKENS = 2048;
1464
- var CONTINUE_PROMPT = "Continue your previous response. Do NOT repeat what you already wrote.";
1465
- var CONTINUE_AFTER_STREAM_ERROR_PROMPT = "The LLM stream was interrupted mid-response. Continue exactly where you left off \u2014 do not repeat what was already written.";
1466
1468
  async function runTopLevelAgentLoop(config, turnMetrics) {
1467
1469
  const { mode, sessionManager, sessionId, llmClient, signal, onMessage, statsIdentity } = config;
1468
1470
  const append = config.append;
@@ -1731,7 +1733,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
1731
1733
  currentMaxTokensOverride = void 0;
1732
1734
  if (!compacting) {
1733
1735
  const contextState = sessionManager.getContextState(sessionId);
1734
- const { shouldCompact, appendCompactionPrompt } = await import("./compactor-3BVVHO4M.js");
1736
+ const { shouldCompact, appendCompactionPrompt } = await import("./compactor-53WDNC2S.js");
1735
1737
  if (shouldCompact(
1736
1738
  contextState.currentTokens,
1737
1739
  contextState.maxTokens,
@@ -2203,17 +2205,18 @@ async function executeSubAgent(options) {
2203
2205
  const subAgentId = crypto.randomUUID();
2204
2206
  const session = sessionManager.requireSession(sessionId);
2205
2207
  const windowOptions = getWindowOptions(sessionId);
2208
+ const effectiveProviderManager = providerManager ?? sessionManager.getProviderManager?.();
2206
2209
  let llmClient = parentLlmClient;
2207
2210
  let statsIdentity = parentStatsIdentity;
2208
2211
  let hasOverride = false;
2209
2212
  let overrideModelSettings;
2210
- if (providerManager) {
2213
+ if (effectiveProviderManager) {
2211
2214
  const pinnedEffort = session.providerPinnedEffort ?? void 0;
2212
- const resolved = resolveLLMClientForAgent(subAgentType, parentLlmClient, providerManager, pinnedEffort);
2215
+ const resolved = resolveLLMClientForAgent(subAgentType, parentLlmClient, effectiveProviderManager, pinnedEffort);
2213
2216
  if (resolved.usedOverride && resolved.override) {
2214
2217
  hasOverride = true;
2215
2218
  llmClient = resolved.client;
2216
- const provider = providerManager.getProviders().find((p) => p.id === resolved.override.providerId);
2219
+ const provider = effectiveProviderManager.getProviders().find((p) => p.id === resolved.override.providerId);
2217
2220
  statsIdentity = {
2218
2221
  providerId: resolved.override.providerId,
2219
2222
  providerName: provider?.name ?? resolved.override.providerId,
@@ -2221,12 +2224,12 @@ async function executeSubAgent(options) {
2221
2224
  model: resolved.override.model,
2222
2225
  ...resolved.override.reasoningEffort ? { reasoningEffort: resolved.override.reasoningEffort } : {}
2223
2226
  };
2224
- const overrideEffort = providerManager.resolveModelEffort(
2227
+ const overrideEffort = effectiveProviderManager.resolveModelEffort(
2225
2228
  resolved.override.providerId,
2226
2229
  resolved.override.model,
2227
2230
  resolved.override.reasoningEffort
2228
2231
  );
2229
- overrideModelSettings = providerManager.getModelSettings(
2232
+ overrideModelSettings = effectiveProviderManager.getModelSettings(
2230
2233
  resolved.override.providerId,
2231
2234
  resolved.override.model,
2232
2235
  overrideEffort === "none" ? "non-thinking" : "thinking"
@@ -2261,14 +2264,14 @@ async function executeSubAgent(options) {
2261
2264
  } else {
2262
2265
  const effective = sessionManager.resolveEffectiveProviderModel(sessionId, subAgentType);
2263
2266
  if (effective.providerId && effective.model) {
2264
- const effectiveClient = providerManager.createClient(
2267
+ const effectiveClient = effectiveProviderManager.createClient(
2265
2268
  effective.providerId,
2266
2269
  effective.model,
2267
2270
  effective.reasoningEffort
2268
2271
  );
2269
2272
  if (effectiveClient) {
2270
2273
  llmClient = effectiveClient;
2271
- const provider = providerManager.getProviders().find((p) => p.id === effective.providerId);
2274
+ const provider = effectiveProviderManager.getProviders().find((p) => p.id === effective.providerId);
2272
2275
  statsIdentity = {
2273
2276
  providerId: effective.providerId,
2274
2277
  providerName: provider?.name ?? effective.providerId,
@@ -2447,7 +2450,7 @@ var callSubAgentTool = {
2447
2450
  };
2448
2451
  }
2449
2452
  try {
2450
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-BL6XCTUV.js");
2453
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-7L63ZMNU.js");
2451
2454
  const toolRegistry = getToolRegistryForAgent2(agentDef);
2452
2455
  const turnMetrics = new TurnMetrics();
2453
2456
  const result = await executeSubAgent({
@@ -3551,11 +3554,11 @@ var mcpConfigTool = createTool(
3551
3554
  async function notifyContextChanged(sessionId) {
3552
3555
  context.sessionManager.setDynamicContextChanged(sessionId, true);
3553
3556
  mcpNotifyChanged?.(sessionId);
3554
- const { injectContextDriftReminders } = await import("./dynamic-context-5SFXTEAP.js");
3557
+ const { injectContextDriftReminders } = await import("./dynamic-context-CR4RUXOX.js");
3555
3558
  await injectContextDriftReminders(context.sessionManager, sessionId);
3556
3559
  }
3557
3560
  async function rebuildTools() {
3558
- const { setMcpTools: setMcpTools2 } = await import("./tools-BL6XCTUV.js");
3561
+ const { setMcpTools: setMcpTools2 } = await import("./tools-7L63ZMNU.js");
3559
3562
  const mcpTools = createMcpTools(mcpManagerForTools);
3560
3563
  setMcpTools2(mcpTools);
3561
3564
  }
@@ -3564,7 +3567,7 @@ var mcpConfigTool = createTool(
3564
3567
  if (servers.length === 0) {
3565
3568
  return helpers.success(serverT({ en: "No MCP servers configured.", fr: "Aucun serveur MCP configur\xE9." }));
3566
3569
  }
3567
- const { getSessionDisabledServers: getSessionDisabledServers2 } = await import("./session-overrides-CKS2AVE5.js");
3570
+ const { getSessionDisabledServers: getSessionDisabledServers2 } = await import("./session-overrides-GQKE7WGE.js");
3568
3571
  const disabledForSession = new Set(context.sessionId ? getSessionDisabledServers2(context.sessionId) : []);
3569
3572
  const visibleServers = servers.filter((server) => !disabledForSession.has(server.name));
3570
3573
  if (visibleServers.length === 0) {
@@ -4697,4 +4700,4 @@ export {
4697
4700
  getToolRegistryForAgent,
4698
4701
  createToolRegistry
4699
4702
  };
4700
- //# sourceMappingURL=chunk-RM4ZBI2B.js.map
4703
+ //# sourceMappingURL=chunk-C4LI5U6L.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveDefaultAgentId
3
- } from "./chunk-DRIR2IZR.js";
3
+ } from "./chunk-YEW4YEJU.js";
4
4
  import {
5
5
  getDatabase
6
6
  } from "./chunk-WOVWVB5J.js";
@@ -482,4 +482,4 @@ export {
482
482
  getLatestWorkflowExecution,
483
483
  clearWorkflowExecution
484
484
  };
485
- //# sourceMappingURL=chunk-F3R4YS3F.js.map
485
+ //# sourceMappingURL=chunk-CCIG3YLG.js.map
@@ -11,7 +11,7 @@ import {
11
11
  deleteSetting,
12
12
  getSetting,
13
13
  setSetting
14
- } from "./chunk-SKNPOZYP.js";
14
+ } from "./chunk-X6SWZEK7.js";
15
15
 
16
16
  // src/server/context/instructions.ts
17
17
  import { readFile, access } from "fs/promises";
@@ -452,4 +452,4 @@ export {
452
452
  deleteSkill,
453
453
  deleteProjectSkill
454
454
  };
455
- //# sourceMappingURL=chunk-2CEZQAGQ.js.map
455
+ //# sourceMappingURL=chunk-DJH6LMBT.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveDefaultAgentId
3
- } from "./chunk-DRIR2IZR.js";
3
+ } from "./chunk-YEW4YEJU.js";
4
4
  import {
5
5
  normalizeAskOptions
6
6
  } from "./chunk-LCLH6ZUL.js";
@@ -983,4 +983,4 @@ export {
983
983
  buildSnapshot,
984
984
  buildSnapshotFromSessionState
985
985
  };
986
- //# sourceMappingURL=chunk-EFEHIJXF.js.map
986
+ //# sourceMappingURL=chunk-E4F32L4Q.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-TS5WKTFB.js";
7
7
  import {
8
8
  getBackendCapabilities
9
- } from "./chunk-VLQ6BMU7.js";
9
+ } from "./chunk-FTPQI5TA.js";
10
10
  import {
11
11
  buildModelParams
12
12
  } from "./chunk-QMU3ZY2C.js";
@@ -210,7 +210,7 @@ async function* streamLLMPure(options) {
210
210
  };
211
211
  } else if (seenToolIndices.has(value.index) && value.arguments) {
212
212
  const name = toolNames.get(value.index);
213
- if (name === "run_command" || name === "return_value") {
213
+ if (name === "run_command" || name === "return_value" || name === "session_metadata") {
214
214
  const accumulatedArgs = toolArgs.get(value.index);
215
215
  if (accumulatedArgs) {
216
216
  yield {
@@ -520,4 +520,4 @@ export {
520
520
  createChatDoneEvent,
521
521
  consumeStreamGenerator
522
522
  };
523
- //# sourceMappingURL=chunk-OA7KBQ2O.js.map
523
+ //# sourceMappingURL=chunk-FAN4P45J.js.map
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  serverT
3
- } from "./chunk-TIIWXMGE.js";
4
- import {
5
- AskUserInterrupt
6
- } from "./chunk-V5AC2TV7.js";
3
+ } from "./chunk-X7ZAP6YW.js";
7
4
  import {
8
5
  PathAccessDeniedError,
9
6
  registerPathConfirmation,
10
7
  requestPathAccess
11
- } from "./chunk-N5AJHJG5.js";
8
+ } from "./chunk-STVJA7IX.js";
12
9
  import {
13
10
  getEventStore
14
- } from "./chunk-NJFXYSXP.js";
11
+ } from "./chunk-YRSZJ7IZ.js";
15
12
  import {
16
13
  getRuntimeConfig
17
- } from "./chunk-DRIR2IZR.js";
14
+ } from "./chunk-YEW4YEJU.js";
15
+ import {
16
+ AskUserInterrupt
17
+ } from "./chunk-V5AC2TV7.js";
18
18
  import {
19
19
  createChatPathConfirmationMessage
20
20
  } from "./chunk-OVAHNEFG.js";
@@ -48,7 +48,7 @@ async function requestUserConfirmation(context, toolLabel, desc) {
48
48
  if (context.dangerLevel === "dangerous") return Promise.resolve(true);
49
49
  if (toolLabel === "workspace" || toolLabel === "command") {
50
50
  try {
51
- const { getSetting, SETTINGS_KEYS } = await import("./settings-TR4BF2C4.js");
51
+ const { getSetting, SETTINGS_KEYS } = await import("./settings-FQUDSGZF.js");
52
52
  if (getSetting(SETTINGS_KEYS.CONFIRM_ON_WORKSPACE_ACTIONS) !== "true") {
53
53
  return Promise.resolve(true);
54
54
  }
@@ -774,7 +774,7 @@ function isVisionFallbackFailure(description) {
774
774
  // src/server/context/image-processor.ts
775
775
  async function loadVisionModelFromGlobalConfig() {
776
776
  try {
777
- const { loadGlobalConfig, resolveVisionFallback } = await import("./config-LOK3LXFH.js");
777
+ const { loadGlobalConfig, resolveVisionFallback } = await import("./config-AJSENHBC.js");
778
778
  const runtimeConfig = getRuntimeConfig();
779
779
  const mode = runtimeConfig.mode ?? "production";
780
780
  const globalConfig = await loadGlobalConfig(mode);
@@ -1152,4 +1152,4 @@ export {
1152
1152
  isDescribeImageEligible,
1153
1153
  describeImageTool
1154
1154
  };
1155
- //# sourceMappingURL=chunk-XADIBENX.js.map
1155
+ //# sourceMappingURL=chunk-FLTNKZNQ.js.map
@@ -49,6 +49,14 @@ var BACKEND_CAPABILITIES = {
49
49
  routesEffortViaChatTemplateKwargs: false,
50
50
  usesMaxCompletionTokens: false
51
51
  },
52
+ // Unsloth Studio serves an OpenAI-compatible API on a local port.
53
+ unsloth: {
54
+ supportsChatTemplateKwargs: false,
55
+ supportsTopK: true,
56
+ supportsNumCtx: false,
57
+ routesEffortViaChatTemplateKwargs: false,
58
+ usesMaxCompletionTokens: false
59
+ },
52
60
  "opencode-go": {
53
61
  supportsChatTemplateKwargs: false,
54
62
  supportsTopK: true,
@@ -109,6 +117,8 @@ function getBackendDisplayName(backend) {
109
117
  return "llama.cpp";
110
118
  case "lmstudio":
111
119
  return "LM Studio";
120
+ case "unsloth":
121
+ return "Unsloth Studio";
112
122
  case "opencode-go":
113
123
  return "OpenCode Go";
114
124
  case "openai":
@@ -126,4 +136,4 @@ export {
126
136
  detectProviderDefaultsFromUrl,
127
137
  getBackendDisplayName
128
138
  };
129
- //# sourceMappingURL=chunk-VLQ6BMU7.js.map
139
+ //# sourceMappingURL=chunk-FTPQI5TA.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SETTINGS_KEYS,
3
3
  getSetting
4
- } from "./chunk-SKNPOZYP.js";
4
+ } from "./chunk-X6SWZEK7.js";
5
5
  import {
6
6
  logger
7
7
  } from "./chunk-K44MW7JJ.js";
@@ -194,4 +194,4 @@ export {
194
194
  ChatHttpClient,
195
195
  OpenAIHttpClient
196
196
  };
197
- //# sourceMappingURL=chunk-DNL2NUDB.js.map
197
+ //# sourceMappingURL=chunk-GZ4EK4LZ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-TS5WKTFB.js";
4
4
  import {
5
5
  getBackendCapabilities
6
- } from "./chunk-VLQ6BMU7.js";
6
+ } from "./chunk-FTPQI5TA.js";
7
7
  import {
8
8
  ensureVersionPrefix,
9
9
  stripVersionPrefix
@@ -20,7 +20,7 @@ import {
20
20
  DONE,
21
21
  LLMError,
22
22
  OpenAIHttpClient
23
- } from "./chunk-DNL2NUDB.js";
23
+ } from "./chunk-GZ4EK4LZ.js";
24
24
  import {
25
25
  logger
26
26
  } from "./chunk-K44MW7JJ.js";
@@ -825,4 +825,4 @@ function createLLMClient(config, initialBackend = config.llm.backend ?? "unknown
825
825
  export {
826
826
  createLLMClient
827
827
  };
828
- //# sourceMappingURL=chunk-5HDPFHHJ.js.map
828
+ //# sourceMappingURL=chunk-L2RESXUF.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  runAgentTurn
3
- } from "./chunk-5CZAKVGZ.js";
3
+ } from "./chunk-5XKWYLBX.js";
4
4
  import {
5
5
  executeSubAgent,
6
6
  getToolRegistryForAgent
7
- } from "./chunk-RM4ZBI2B.js";
7
+ } from "./chunk-C4LI5U6L.js";
8
8
  import {
9
9
  gitSpawnEnv
10
10
  } from "./chunk-J7GAZGZT.js";
@@ -15,39 +15,41 @@ import {
15
15
  loadProjectWorkflows,
16
16
  loadUserWorkflows,
17
17
  normalizeWorkflowScope
18
- } from "./chunk-CSUMZAYY.js";
18
+ } from "./chunk-2DBWCXAQ.js";
19
19
  import {
20
20
  serverT
21
- } from "./chunk-TIIWXMGE.js";
21
+ } from "./chunk-X7ZAP6YW.js";
22
22
  import {
23
23
  TurnMetrics,
24
24
  createMessageStartEvent
25
- } from "./chunk-OA7KBQ2O.js";
25
+ } from "./chunk-FAN4P45J.js";
26
26
  import {
27
27
  checkAborted,
28
28
  decodeUtf8,
29
29
  spawnShellProcess
30
- } from "./chunk-DQEANXXF.js";
30
+ } from "./chunk-ODETQHMI.js";
31
31
  import {
32
32
  terminateProcessTree
33
33
  } from "./chunk-I72ACQ6R.js";
34
34
  import {
35
- getCurrentContextWindowId,
35
+ getCurrentContextWindowId
36
+ } from "./chunk-2DVAF6HY.js";
37
+ import {
36
38
  getEventStore
37
- } from "./chunk-NJFXYSXP.js";
39
+ } from "./chunk-YRSZJ7IZ.js";
38
40
  import {
39
41
  findAgentById,
40
42
  getRuntimeConfig,
41
43
  loadAllAgentsDefault,
42
44
  resolveDefaultAgentId
43
- } from "./chunk-DRIR2IZR.js";
45
+ } from "./chunk-YEW4YEJU.js";
44
46
  import {
45
47
  createChatMessageMessage,
46
48
  createSessionRunningMessage
47
49
  } from "./chunk-OVAHNEFG.js";
48
50
  import {
49
51
  LLMError
50
- } from "./chunk-DNL2NUDB.js";
52
+ } from "./chunk-GZ4EK4LZ.js";
51
53
  import {
52
54
  logger
53
55
  } from "./chunk-K44MW7JJ.js";
@@ -663,6 +665,7 @@ async function executeWorkflow(workflow, options, subGroup) {
663
665
  llmClient,
664
666
  toolRegistry: filteredToolRegistry,
665
667
  turnMetrics,
668
+ providerManager: sessionManager.getProviderManager?.(),
666
669
  statsIdentity: options.statsIdentity ?? {
667
670
  providerId: "",
668
671
  providerName: "",
@@ -1023,4 +1026,4 @@ export {
1023
1026
  abortRunnerRun,
1024
1027
  launchWorkflowRun
1025
1028
  };
1026
- //# sourceMappingURL=chunk-TRZZCMJ3.js.map
1029
+ //# sourceMappingURL=chunk-MBDYJ35W.js.map
@@ -11,11 +11,11 @@ import {
11
11
  } from "./chunk-I72ACQ6R.js";
12
12
  import {
13
13
  getPlatformShell
14
- } from "./chunk-MEPTCUYN.js";
14
+ } from "./chunk-YEFZ5HBD.js";
15
15
  import {
16
16
  SETTINGS_KEYS,
17
17
  getSetting
18
- } from "./chunk-SKNPOZYP.js";
18
+ } from "./chunk-X6SWZEK7.js";
19
19
 
20
20
  // src/server/utils/shell.ts
21
21
  import { spawn } from "child_process";
@@ -214,4 +214,4 @@ export {
214
214
  getSessionProcesses2 as getSessionProcesses,
215
215
  getProcessLogs
216
216
  };
217
- //# sourceMappingURL=chunk-DQEANXXF.js.map
217
+ //# sourceMappingURL=chunk-ODETQHMI.js.map