openfox 2.0.103 → 2.0.104

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 +16 -0
  2. package/dist/CHANGELOG.md +16 -0
  3. package/dist/{ask-TOBEA6KD.js → ask-CJMU6EW7.js} +2 -2
  4. package/dist/{chat-handler-IBFSBSGV.js → chat-handler-G2ZJNAVB.js} +18 -18
  5. package/dist/{chunk-AI27N57J.js → chunk-2COWPTSJ.js} +2 -2
  6. package/dist/{chunk-QL2G5UWE.js → chunk-3NVISPE7.js} +22 -12
  7. package/dist/chunk-4H427UBV.js +1298 -0
  8. package/dist/{chunk-W5FTCTGY.js → chunk-5VKT34HE.js} +2 -2
  9. package/dist/{chunk-FQS7A5M4.js → chunk-6SIX7P6O.js} +2 -2
  10. package/dist/{chunk-MGKS2NG2.js → chunk-B76OP3OE.js} +3 -3
  11. package/dist/{chunk-WPCYFH6X.js → chunk-DMI2BXHA.js} +4 -4
  12. package/dist/{chunk-KKEBXFB3.js → chunk-EF7KGWF6.js} +2 -2
  13. package/dist/{chunk-JL657X72.js → chunk-EFIC3TUX.js} +16 -16
  14. package/dist/{chunk-MR7ZEGOF.js → chunk-ERKPMNC7.js} +5 -2
  15. package/dist/{chunk-ZLCPNTRT.js → chunk-ERTTKKCE.js} +6 -2
  16. package/dist/{chunk-BJDQPILB.js → chunk-F766OIDT.js} +2 -2
  17. package/dist/{chunk-K6VVTE6C.js → chunk-HZXWVD5A.js} +29 -19
  18. package/dist/{chunk-4Z2ARCY3.js → chunk-J27BLIPY.js} +2 -2
  19. package/dist/{chunk-EU3WWTFH.js → chunk-JAX5OEMM.js} +5 -1
  20. package/dist/chunk-MLOCSFIW.js +7 -0
  21. package/dist/{chunk-RZC6DAT2.js → chunk-OUMHR7LR.js} +2 -2
  22. package/dist/{chunk-DPRJYQ5U.js → chunk-PKLWSTDB.js} +17 -17
  23. package/dist/{chunk-2EYTYXWN.js → chunk-S5HDT5RQ.js} +2 -2
  24. package/dist/{chunk-YZSBJUGC.js → chunk-SPA7PQPJ.js} +3 -1
  25. package/dist/{chunk-KLK5N4OX.js → chunk-TFQSCHVU.js} +3 -3
  26. package/dist/{chunk-7HIJP4PC.js → chunk-UADZ2LZJ.js} +2 -2
  27. package/dist/{chunk-Z753S3X7.js → chunk-W2KZ7H55.js} +22 -15
  28. package/dist/{chunk-W5RC44R6.js → chunk-WHJ67MO2.js} +8 -8
  29. package/dist/{chunk-REQIAJTV.js → chunk-XWW7LOU4.js} +74 -69
  30. package/dist/{chunk-73EV6QYX.js → chunk-YXIDKMBJ.js} +3 -3
  31. package/dist/cli/dev.js +2 -2
  32. package/dist/cli/index.js +2 -2
  33. package/dist/{client-Q7BHKOCD.js → client-2EAJAGPC.js} +4 -4
  34. package/dist/{compactor-43P3LGDU.js → compactor-IEYTUHYX.js} +9 -9
  35. package/dist/{dynamic-context-AMPVZXUU.js → dynamic-context-Z5BU2RVP.js} +7 -7
  36. package/dist/{events-RCC32JOA.js → events-BGVLDGLK.js} +6 -6
  37. package/dist/{folding-ZNUXPQUD.js → folding-AJMZBHNR.js} +4 -4
  38. package/dist/{http-client-WGNBG7PC.js → http-client-A7A4XWNK.js} +3 -3
  39. package/dist/{manager-HFGJLW7Q.js → manager-GGIIENDX.js} +4 -4
  40. package/dist/{model-overrides-DQDT5Y7R.js → model-overrides-BLEFI7FQ.js} +3 -3
  41. package/dist/{orchestrator-QDXKDLOW.js → orchestrator-SYAYO6NS.js} +17 -17
  42. package/dist/package.json +1 -1
  43. package/dist/{path-security-SUFEIBTC.js → path-security-JCDBLFIE.js} +7 -7
  44. package/dist/{platform-2RLL7RAE.js → platform-GZ2WIDS5.js} +3 -3
  45. package/dist/{processor-YWNLWAZW.js → processor-CBGV2K4E.js} +17 -17
  46. package/dist/{protocol-BXgdUKgZ.d.ts → protocol-rfiBDoXm.d.ts} +1 -1
  47. package/dist/provider/index.d.ts +4 -4
  48. package/dist/{provider-FX3QCGAF.js → provider-XCVHKXPS.js} +68 -68
  49. package/dist/{provider-manager-GLG6BA32.js → provider-manager-AUYP3QAM.js} +5 -5
  50. package/dist/{pwa-SEWCVKZX.js → pwa-XPHP3PY2.js} +35 -35
  51. package/dist/{registry-GBNLVWYQ.js → registry-M2QVGRNK.js} +3 -3
  52. package/dist/{serve-FE4UAXGE.js → serve-NPS4GJWH.js} +25 -25
  53. package/dist/server/index.d.ts +3 -3
  54. package/dist/server/index.js +24 -24
  55. package/dist/{server-QGQGSHW6.js → server-FKM4FQKD.js} +20 -20
  56. package/dist/{session-overrides-MBGBX6TM.js → session-overrides-HA5IQYLI.js} +5 -5
  57. package/dist/{sessions-FEIFYGH7.js → sessions-ZV2WRC6K.js} +4 -4
  58. package/dist/{settings-FT7HF7ZB.js → settings-TGCITCVA.js} +2 -2
  59. package/dist/shared/index.d.ts +3 -3
  60. package/dist/{tools-M5DKWCJJ.js → tools-KKALZLKX.js} +15 -15
  61. package/dist/{types-DBftgbfl.d.ts → types-o-YQ3Bfq.d.ts} +1 -1
  62. package/dist/{types-7idXD8Bq.d.ts → types-o0v5xVxu.d.ts} +1 -1
  63. package/dist/{update-KMPQUPQT.js → update-7BEZMI4R.js} +2 -2
  64. package/dist/web/assets/index-B7wjVPjL.css +40 -0
  65. package/dist/web/assets/index-BoWCT9PC.js +323 -0
  66. package/dist/web/index.html +2 -2
  67. package/dist/web/sw.js +1 -1
  68. package/dist/web/workbox-9c191d2f.js +1 -0
  69. package/package.json +1 -1
  70. package/dist/chunk-SQYMFWY7.js +0 -7
  71. package/dist/chunk-XY3LESVZ.js +0 -1000
  72. package/dist/web/assets/index-B0CNNl1k.css +0 -32
  73. package/dist/web/assets/index-FWViKQkM.js +0 -324
  74. package/dist/web/workbox-8c29f6e4.js +0 -1
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  getAllInstructions,
3
3
  getEnabledSkillMetadata
4
- } from "./chunk-MGKS2NG2.js";
4
+ } from "./chunk-B76OP3OE.js";
5
5
  import {
6
6
  buildTopLevelSystemPrompt
7
- } from "./chunk-4Z2ARCY3.js";
7
+ } from "./chunk-J27BLIPY.js";
8
8
  import {
9
9
  findAgentById,
10
10
  getRuntimeConfig,
11
11
  getSubAgents,
12
12
  loadAllAgentsDefault,
13
13
  resolveDefaultAgentId
14
- } from "./chunk-FQS7A5M4.js";
14
+ } from "./chunk-6SIX7P6O.js";
15
15
  import {
16
16
  logger
17
17
  } from "./chunk-K44MW7JJ.js";
@@ -77,11 +77,12 @@ function computeUnifiedDiff(oldText, newText) {
77
77
  }
78
78
  return result;
79
79
  }
80
- function computeDynamicContextHash(instructionContent, skills, toolFingerprint) {
80
+ function computeDynamicContextHash(instructionContent, skills, toolFingerprint, modelName) {
81
81
  const dynamicInputs = JSON.stringify({
82
82
  instructions: instructionContent,
83
83
  skills: skills.map((s) => s.id).sort(),
84
- ...toolFingerprint ? { tools: toolFingerprint } : {}
84
+ ...toolFingerprint ? { tools: toolFingerprint } : {},
85
+ ...modelName ? { model: modelName } : {}
85
86
  });
86
87
  return createHash("sha256").update(dynamicInputs).digest("hex");
87
88
  }
@@ -102,31 +103,37 @@ function resolveAgentDef(sessionManager, sessionId) {
102
103
  return findAgentById(session.mode, allAgents) ?? findAgentById(resolveDefaultAgentId(), allAgents);
103
104
  });
104
105
  }
105
- async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
106
+ async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName) {
106
107
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
107
- const { getToolRegistryForAgent } = await import("./tools-M5DKWCJJ.js");
108
+ const { getToolRegistryForAgent } = await import("./tools-KKALZLKX.js");
108
109
  const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
109
110
  const toolFingerprint = getToolFingerprint(tools);
110
111
  const allAgents = await loadAllAgentsDefault();
111
112
  const subAgentDefs = getSubAgents(allAgents);
112
113
  const session = sessionManager.requireSession(sessionId);
113
- const systemPrompt = buildTopLevelSystemPrompt(session.workdir, instructionContent || void 0, skills, subAgentDefs);
114
- const hash = computeDynamicContextHash(instructionContent, skills, toolFingerprint);
114
+ const systemPrompt = buildTopLevelSystemPrompt(
115
+ session.workdir,
116
+ instructionContent || void 0,
117
+ skills,
118
+ subAgentDefs,
119
+ modelName
120
+ );
121
+ const hash = computeDynamicContextHash(instructionContent, skills, toolFingerprint, modelName);
115
122
  return { systemPrompt, tools, hash };
116
123
  }
117
- async function computeSessionHash(sessionManager, sessionId) {
124
+ async function computeSessionHash(sessionManager, sessionId, modelName) {
118
125
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
119
126
  const agentDef = await resolveAgentDef(sessionManager, sessionId);
120
- const { getToolRegistryForAgent } = await import("./tools-M5DKWCJJ.js");
127
+ const { getToolRegistryForAgent } = await import("./tools-KKALZLKX.js");
121
128
  const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
122
129
  const toolFingerprint = getToolFingerprint(tools);
123
- return computeDynamicContextHash(instructionContent, skills, toolFingerprint);
130
+ return computeDynamicContextHash(instructionContent, skills, toolFingerprint, modelName);
124
131
  }
125
- async function applyDynamicContext(sessionManager, sessionId) {
132
+ async function applyDynamicContext(sessionManager, sessionId, modelName) {
126
133
  const session = sessionManager.requireSession(sessionId);
127
134
  const allAgents = await loadAllAgentsDefault();
128
135
  const agentDef = findAgentById(session.mode, allAgents) ?? findAgentById(resolveDefaultAgentId(), allAgents);
129
- const { systemPrompt, tools, hash } = await buildCachedPrompt(sessionManager, sessionId, agentDef);
136
+ const { systemPrompt, tools, hash } = await buildCachedPrompt(sessionManager, sessionId, agentDef, modelName);
130
137
  sessionManager.setCachedPrompt(sessionId, systemPrompt, tools, hash);
131
138
  sessionManager.setDynamicContextChanged(sessionId, false);
132
139
  sessionManager.clearDebugDump(sessionId);
@@ -141,4 +148,4 @@ export {
141
148
  computeSessionHash,
142
149
  applyDynamicContext
143
150
  };
144
- //# sourceMappingURL=chunk-Z753S3X7.js.map
151
+ //# sourceMappingURL=chunk-W2KZ7H55.js.map
@@ -1,27 +1,27 @@
1
1
  import {
2
2
  combineEventsWithSnapshot,
3
3
  getEventStore
4
- } from "./chunk-WPCYFH6X.js";
4
+ } from "./chunk-DMI2BXHA.js";
5
5
  import {
6
6
  createContextStateMessage,
7
7
  createSessionStateMessage
8
8
  } from "./chunk-27SDWNKL.js";
9
9
  import {
10
10
  getPendingQuestionsForSession
11
- } from "./chunk-EU3WWTFH.js";
11
+ } from "./chunk-JAX5OEMM.js";
12
12
  import {
13
13
  buildMessagesFromStoredEvents,
14
14
  foldPendingConfirmations
15
- } from "./chunk-2EYTYXWN.js";
15
+ } from "./chunk-S5HDT5RQ.js";
16
16
  import {
17
17
  updateSessionMetadata
18
- } from "./chunk-RZC6DAT2.js";
18
+ } from "./chunk-OUMHR7LR.js";
19
19
  import {
20
20
  getRuntimeConfig
21
- } from "./chunk-FQS7A5M4.js";
21
+ } from "./chunk-6SIX7P6O.js";
22
22
  import {
23
23
  getMaxVisibleItems
24
- } from "./chunk-YZSBJUGC.js";
24
+ } from "./chunk-SPA7PQPJ.js";
25
25
  import {
26
26
  logger
27
27
  } from "./chunk-K44MW7JJ.js";
@@ -153,7 +153,7 @@ async function generateSessionNameForSession(sessionId, userMessage, deps, signa
153
153
  client = deps.getLLMClient();
154
154
  client.setModel(providerConfig.model);
155
155
  } else if (providerConfig) {
156
- const { createLLMClient } = await import("./client-Q7BHKOCD.js");
156
+ const { createLLMClient } = await import("./client-2EAJAGPC.js");
157
157
  client = createLLMClient({
158
158
  llm: {
159
159
  baseUrl: providerConfig.baseUrl,
@@ -204,4 +204,4 @@ export {
204
204
  needsNameGeneration,
205
205
  generateSessionNameForSession
206
206
  };
207
- //# sourceMappingURL=chunk-W5RC44R6.js.map
207
+ //# sourceMappingURL=chunk-WHJ67MO2.js.map
@@ -21,7 +21,7 @@ import {
21
21
  tokenFromPassword,
22
22
  verifyPassword,
23
23
  workflowExists
24
- } from "./chunk-K6VVTE6C.js";
24
+ } from "./chunk-HZXWVD5A.js";
25
25
  import {
26
26
  openFolder
27
27
  } from "./chunk-62QCBNPE.js";
@@ -34,7 +34,7 @@ import {
34
34
  setMcpManagerForTools,
35
35
  setMcpTools,
36
36
  setNotifyMcpServersChanged
37
- } from "./chunk-DPRJYQ5U.js";
37
+ } from "./chunk-PKLWSTDB.js";
38
38
  import {
39
39
  deleteOwnedSkill,
40
40
  deleteProjectSkill,
@@ -53,12 +53,12 @@ import {
53
53
  setSkillEnabled,
54
54
  skillExists,
55
55
  updateOwnedSkill
56
- } from "./chunk-MGKS2NG2.js";
56
+ } from "./chunk-B76OP3OE.js";
57
57
  import {
58
58
  ALWAYS_ALLOWED,
59
59
  ALWAYS_ALLOWED_FOR_SUBAGENTS,
60
60
  TOP_LEVEL_ONLY_TOOLS
61
- } from "./chunk-4Z2ARCY3.js";
61
+ } from "./chunk-J27BLIPY.js";
62
62
  import {
63
63
  createMcpTools
64
64
  } from "./chunk-JE7LW7Y6.js";
@@ -80,7 +80,7 @@ import {
80
80
  import {
81
81
  getSessionDisabledServers,
82
82
  setSessionDisabledServers
83
- } from "./chunk-7HIJP4PC.js";
83
+ } from "./chunk-UADZ2LZJ.js";
84
84
  import {
85
85
  emitAssistantMessageStart,
86
86
  emitContextState,
@@ -97,23 +97,23 @@ import {
97
97
  getEventStore,
98
98
  getSessionState,
99
99
  initEventStore
100
- } from "./chunk-WPCYFH6X.js";
100
+ } from "./chunk-DMI2BXHA.js";
101
101
  import {
102
102
  createContextStateMessage
103
103
  } from "./chunk-27SDWNKL.js";
104
104
  import {
105
105
  EventEmitter
106
- } from "./chunk-EU3WWTFH.js";
106
+ } from "./chunk-JAX5OEMM.js";
107
107
  import {
108
108
  getPathSeparator,
109
109
  isAbsolutePath
110
- } from "./chunk-KKEBXFB3.js";
110
+ } from "./chunk-EF7KGWF6.js";
111
111
  import {
112
112
  getAgentModelOverride,
113
113
  getAgentModelOverrides,
114
114
  resolveLLMClientForAgent,
115
115
  setAgentModelOverride
116
- } from "./chunk-W5FTCTGY.js";
116
+ } from "./chunk-5VKT34HE.js";
117
117
  import {
118
118
  getProject,
119
119
  getProjectByWorkdir,
@@ -121,7 +121,7 @@ import {
121
121
  } from "./chunk-WWFH5GAR.js";
122
122
  import {
123
123
  VERSION
124
- } from "./chunk-SQYMFWY7.js";
124
+ } from "./chunk-MLOCSFIW.js";
125
125
  import {
126
126
  clearWorkflowExecution,
127
127
  createSession,
@@ -141,7 +141,7 @@ import {
141
141
  updateSessionRunning,
142
142
  updateSessionWorkdir,
143
143
  updateWorkflowExecutionStatus
144
- } from "./chunk-RZC6DAT2.js";
144
+ } from "./chunk-OUMHR7LR.js";
145
145
  import {
146
146
  agentExists,
147
147
  deleteAgent,
@@ -164,13 +164,13 @@ import {
164
164
  saveAgentToProject,
165
165
  saveItemToDir,
166
166
  setRuntimeConfig
167
- } from "./chunk-FQS7A5M4.js";
167
+ } from "./chunk-6SIX7P6O.js";
168
168
  import {
169
169
  createProviderManager,
170
170
  detectModel,
171
171
  getLlmStatus,
172
172
  parseDefaultModelSelection
173
- } from "./chunk-AI27N57J.js";
173
+ } from "./chunk-2COWPTSJ.js";
174
174
  import {
175
175
  getModelProfile
176
176
  } from "./chunk-V4IE7HJY.js";
@@ -183,12 +183,12 @@ import {
183
183
  import {
184
184
  SessionNotFoundError,
185
185
  WorkspaceInUseError
186
- } from "./chunk-MR7ZEGOF.js";
186
+ } from "./chunk-ERKPMNC7.js";
187
187
  import {
188
188
  deleteSetting,
189
189
  getSetting,
190
190
  setSetting
191
- } from "./chunk-YZSBJUGC.js";
191
+ } from "./chunk-SPA7PQPJ.js";
192
192
  import {
193
193
  initDatabase
194
194
  } from "./chunk-GLF65XDS.js";
@@ -3959,6 +3959,7 @@ var SkillInstallError = class extends Error {
3959
3959
  super(message);
3960
3960
  this.status = status;
3961
3961
  }
3962
+ status;
3962
3963
  };
3963
3964
  function validateRelativePath(path) {
3964
3965
  if (!path || isAbsolute(path) || path.includes("\\") || path.includes("\0") || path.split("/").some((part) => !part || part === "." || part === "..")) {
@@ -5339,7 +5340,10 @@ function createProviderAuthRoutes(config3, providerManager, registry) {
5339
5340
  const context = resolveAuthContext(req.params.providerId, res);
5340
5341
  if (!context) return;
5341
5342
  const { provider, adapter } = context;
5342
- if (provider.credentialRef && adapter) await adapter.logout(provider.credentialRef);
5343
+ if (adapter) {
5344
+ const ref = provider.credentialRef ?? provider.id;
5345
+ await adapter.logout(ref);
5346
+ }
5343
5347
  const { loadGlobalConfig, saveGlobalConfig } = await import("./config-3FKJV3KI.js");
5344
5348
  const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
5345
5349
  const updatedConfig = {
@@ -5363,6 +5367,7 @@ var ProviderRegistry = class {
5363
5367
  constructor(runtime) {
5364
5368
  this.runtime = runtime;
5365
5369
  }
5370
+ runtime;
5366
5371
  authAdapters = /* @__PURE__ */ new Map();
5367
5372
  transportAdapters = /* @__PURE__ */ new Map();
5368
5373
  presets = /* @__PURE__ */ new Map();
@@ -5849,7 +5854,7 @@ async function createServerHandle(config3) {
5849
5854
  toolRegistry = createToolRegistry();
5850
5855
  logger.info("MCP tools registered", { count: mcpTools.length });
5851
5856
  }
5852
- const { signalMcpReady } = await import("./server-QGQGSHW6.js");
5857
+ const { signalMcpReady } = await import("./server-FKM4FQKD.js");
5853
5858
  signalMcpReady();
5854
5859
  });
5855
5860
  const app = express();
@@ -6059,7 +6064,7 @@ async function createServerHandle(config3) {
6059
6064
  }
6060
6065
  try {
6061
6066
  await checkoutBranch(project.workdir, branch);
6062
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-FEIFYGH7.js");
6067
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-ZV2WRC6K.js");
6063
6068
  const allSessions = sessionManager.listSessions();
6064
6069
  for (const s of allSessions) {
6065
6070
  if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
@@ -6095,7 +6100,7 @@ async function createServerHandle(config3) {
6095
6100
  );
6096
6101
  }
6097
6102
  await createBranch(project.workdir, name, sb);
6098
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-FEIFYGH7.js");
6103
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-ZV2WRC6K.js");
6099
6104
  const allSessions = sessionManager.listSessions();
6100
6105
  for (const s of allSessions) {
6101
6106
  if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
@@ -6127,7 +6132,7 @@ async function createServerHandle(config3) {
6127
6132
  if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
6128
6133
  const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
6129
6134
  const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-2NDXTCVR.js");
6130
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-FEIFYGH7.js");
6135
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-ZV2WRC6K.js");
6131
6136
  try {
6132
6137
  await validateRef2(effectiveWorkdir, branch);
6133
6138
  await checkoutBranch(effectiveWorkdir, branch);
@@ -6170,7 +6175,7 @@ All file and git operations should use this branch.
6170
6175
  if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
6171
6176
  const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
6172
6177
  const { validateRef: validateRef2 } = await import("./workspace-2NDXTCVR.js");
6173
- const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-FEIFYGH7.js");
6178
+ const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-ZV2WRC6K.js");
6174
6179
  try {
6175
6180
  await validateRef2(effectiveWorkdir, name);
6176
6181
  if (sourceBranch) {
@@ -6225,8 +6230,8 @@ All file and git operations should use this branch.
6225
6230
  res.json({ workspaces: workspacesList });
6226
6231
  });
6227
6232
  app.get("/api/sessions", async (req, res) => {
6228
- const { getRecentUserPromptsForSession } = await import("./events-RCC32JOA.js");
6229
- const { getPendingConfirmationsBySession } = await import("./path-security-SUFEIBTC.js");
6233
+ const { getRecentUserPromptsForSession } = await import("./events-BGVLDGLK.js");
6234
+ const { getPendingConfirmationsBySession } = await import("./path-security-JCDBLFIE.js");
6230
6235
  const projectId = req.query["projectId"];
6231
6236
  const limit = Math.min(parseInt(req.query["limit"]) || 20, 100);
6232
6237
  const offset = parseInt(req.query["offset"]) || 0;
@@ -6272,7 +6277,7 @@ All file and git operations should use this branch.
6272
6277
  disabledServers = mcpManager.getAllServers().filter((s) => s.config.disabled).map((s) => s.name);
6273
6278
  }
6274
6279
  if (disabledServers.length > 0) {
6275
- const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-MBGBX6TM.js");
6280
+ const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-HA5IQYLI.js");
6276
6281
  setSessionDisabledServers2(session.id, disabledServers);
6277
6282
  }
6278
6283
  } catch {
@@ -6345,12 +6350,12 @@ All file and git operations should use this branch.
6345
6350
  }
6346
6351
  });
6347
6352
  app.get("/api/sessions/:id", async (req, res) => {
6348
- const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-RCC32JOA.js");
6349
- const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-ZNUXPQUD.js");
6350
- const { getPendingQuestionsForSession } = await import("./tools-M5DKWCJJ.js");
6351
- const { getMaxVisibleItems } = await import("./settings-FT7HF7ZB.js");
6352
- const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-DQDT5Y7R.js");
6353
- const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-FEIFYGH7.js");
6353
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-BGVLDGLK.js");
6354
+ const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-AJMZBHNR.js");
6355
+ const { getPendingQuestionsForSession } = await import("./tools-KKALZLKX.js");
6356
+ const { getMaxVisibleItems } = await import("./settings-TGCITCVA.js");
6357
+ const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-BLEFI7FQ.js");
6358
+ const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-ZV2WRC6K.js");
6354
6359
  let session = sessionManager.getSession(req.params.id);
6355
6360
  if (!session) {
6356
6361
  return res.status(404).json({ error: "Session not found" });
@@ -6389,8 +6394,8 @@ All file and git operations should use this branch.
6389
6394
  if (!session) {
6390
6395
  return res.status(404).json({ error: "Session not found" });
6391
6396
  }
6392
- const { stopSessionExecution } = await import("./chat-handler-IBFSBSGV.js");
6393
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-M5DKWCJJ.js");
6397
+ const { stopSessionExecution } = await import("./chat-handler-G2ZJNAVB.js");
6398
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-KKALZLKX.js");
6394
6399
  sessionManager.clearMessageQueue(sessionId);
6395
6400
  stopSessionExecution(sessionId, sessionManager);
6396
6401
  abortSession(sessionId);
@@ -6419,9 +6424,9 @@ All file and git operations should use this branch.
6419
6424
  res.json({ success: true });
6420
6425
  });
6421
6426
  app.post("/api/sessions/:id/provider", async (req, res) => {
6422
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-RCC32JOA.js");
6423
- const { buildMessagesFromStoredEvents } = await import("./folding-ZNUXPQUD.js");
6424
- const { getMaxVisibleItems } = await import("./settings-FT7HF7ZB.js");
6427
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-BGVLDGLK.js");
6428
+ const { buildMessagesFromStoredEvents } = await import("./folding-AJMZBHNR.js");
6429
+ const { getMaxVisibleItems } = await import("./settings-TGCITCVA.js");
6425
6430
  const sessionId = req.params.id;
6426
6431
  const session = sessionManager.getSession(sessionId);
6427
6432
  if (!session) {
@@ -6534,11 +6539,11 @@ All file and git operations should use this branch.
6534
6539
  res.json({ success: true });
6535
6540
  });
6536
6541
  app.put("/api/sessions/:id/mode", async (req, res) => {
6537
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-RCC32JOA.js");
6538
- const { buildMessagesFromStoredEvents } = await import("./folding-ZNUXPQUD.js");
6539
- const { getMaxVisibleItems } = await import("./settings-FT7HF7ZB.js");
6540
- const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-DQDT5Y7R.js");
6541
- const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-FEIFYGH7.js");
6542
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-BGVLDGLK.js");
6543
+ const { buildMessagesFromStoredEvents } = await import("./folding-AJMZBHNR.js");
6544
+ const { getMaxVisibleItems } = await import("./settings-TGCITCVA.js");
6545
+ const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-BLEFI7FQ.js");
6546
+ const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-ZV2WRC6K.js");
6542
6547
  const sessionId = req.params.id;
6543
6548
  const session = sessionManager.getSession(sessionId);
6544
6549
  if (!session) {
@@ -6640,7 +6645,7 @@ All file and git operations should use this branch.
6640
6645
  if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
6641
6646
  return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
6642
6647
  }
6643
- const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-M5DKWCJJ.js");
6648
+ const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-KKALZLKX.js");
6644
6649
  const pendingSessionId = getConfirmationSessionId(callId);
6645
6650
  if (!pendingSessionId) {
6646
6651
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -6652,11 +6657,11 @@ All file and git operations should use this branch.
6652
6657
  if (!result.found) {
6653
6658
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
6654
6659
  }
6655
- const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-RCC32JOA.js");
6656
- const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-ZNUXPQUD.js");
6660
+ const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-BGVLDGLK.js");
6661
+ const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-AJMZBHNR.js");
6657
6662
  const { createSessionStateMessage } = await import("./protocol-YDNGGADL.js");
6658
- const { getPendingQuestionsForSession } = await import("./tools-M5DKWCJJ.js");
6659
- const { getMaxVisibleItems } = await import("./settings-FT7HF7ZB.js");
6663
+ const { getPendingQuestionsForSession } = await import("./tools-KKALZLKX.js");
6664
+ const { getMaxVisibleItems } = await import("./settings-TGCITCVA.js");
6660
6665
  const eventStore = getEventStore2();
6661
6666
  const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
6662
6667
  const events = combineEvents(sessionId, snapshot, eventsSinceSnapshot);
@@ -6692,7 +6697,7 @@ All file and git operations should use this branch.
6692
6697
  if (!skip && typeof answer !== "string") {
6693
6698
  return res.status(400).json({ error: "answer is required when not skipping" });
6694
6699
  }
6695
- const { provideAnswer } = await import("./tools-M5DKWCJJ.js");
6700
+ const { provideAnswer } = await import("./tools-KKALZLKX.js");
6696
6701
  const found = provideAnswer(callId, answer ?? "", skip ?? false);
6697
6702
  if (!found) {
6698
6703
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -6725,7 +6730,7 @@ All file and git operations should use this branch.
6725
6730
  if (!session) {
6726
6731
  return res.status(404).json({ error: "Session not found" });
6727
6732
  }
6728
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-FT7HF7ZB.js");
6733
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-TGCITCVA.js");
6729
6734
  if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
6730
6735
  return res.json({ success: false, reason: "disabled" });
6731
6736
  }
@@ -6757,7 +6762,7 @@ All file and git operations should use this branch.
6757
6762
  backend: activeProvider?.backend ?? llmClient.getBackend(),
6758
6763
  model: llmClient.getModel()
6759
6764
  };
6760
- const { runAgentTurn, TurnMetrics } = await import("./orchestrator-QDXKDLOW.js");
6765
+ const { runAgentTurn, TurnMetrics } = await import("./orchestrator-SYAYO6NS.js");
6761
6766
  runAgentTurn(
6762
6767
  {
6763
6768
  sessionManager,
@@ -6795,15 +6800,15 @@ All file and git operations should use this branch.
6795
6800
  if (!session) {
6796
6801
  return res.status(404).json({ error: "Session not found" });
6797
6802
  }
6798
- const { stopSessionExecution } = await import("./chat-handler-IBFSBSGV.js");
6799
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-M5DKWCJJ.js");
6803
+ const { stopSessionExecution } = await import("./chat-handler-G2ZJNAVB.js");
6804
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-KKALZLKX.js");
6800
6805
  const queuedMessages = sessionManager.getQueueState(sessionId);
6801
6806
  sessionManager.clearMessageQueue(sessionId);
6802
6807
  stopSessionExecution(sessionId, sessionManager);
6803
6808
  abortSession(sessionId);
6804
6809
  cancelQuestionsForSession(sessionId, "Session stopped by user");
6805
6810
  cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
6806
- const eventStore = (await import("./events-RCC32JOA.js")).getEventStore();
6811
+ const eventStore = (await import("./events-BGVLDGLK.js")).getEventStore();
6807
6812
  eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
6808
6813
  res.json({ success: true, queuedMessages });
6809
6814
  });
@@ -6817,7 +6822,7 @@ All file and git operations should use this branch.
6817
6822
  if (typeof messageIndex !== "number" || messageIndex < 0) {
6818
6823
  return res.status(400).json({ error: "messageIndex must be a non-negative number" });
6819
6824
  }
6820
- const { truncateSessionMessages } = await import("./events-RCC32JOA.js");
6825
+ const { truncateSessionMessages } = await import("./events-BGVLDGLK.js");
6821
6826
  truncateSessionMessages(sessionId, messageIndex);
6822
6827
  res.json({ success: true });
6823
6828
  });
@@ -6834,8 +6839,8 @@ All file and git operations should use this branch.
6834
6839
  if (content !== void 0 && (typeof content !== "string" || !content.trim())) {
6835
6840
  return res.status(400).json({ error: "content must be a non-empty string if provided" });
6836
6841
  }
6837
- const { getEventStore: getEventStore2 } = await import("./events-RCC32JOA.js");
6838
- const { buildMessagesFromStoredEvents } = await import("./folding-ZNUXPQUD.js");
6842
+ const { getEventStore: getEventStore2 } = await import("./events-BGVLDGLK.js");
6843
+ const { buildMessagesFromStoredEvents } = await import("./folding-AJMZBHNR.js");
6839
6844
  const eventStore = getEventStore2();
6840
6845
  const events = eventStore.getEvents(sessionId);
6841
6846
  const { messages } = buildMessagesFromStoredEvents(events);
@@ -6847,7 +6852,7 @@ All file and git operations should use this branch.
6847
6852
  if (msg.role !== "user" || msg.isSystemGenerated) {
6848
6853
  return res.status(400).json({ error: "Can only replay user messages" });
6849
6854
  }
6850
- const { truncateSessionMessages } = await import("./events-RCC32JOA.js");
6855
+ const { truncateSessionMessages } = await import("./events-BGVLDGLK.js");
6851
6856
  truncateSessionMessages(sessionId, msgIndex - 1);
6852
6857
  sessionManager.queueMessage(sessionId, "asap", content ?? msg.content, msg.attachments, msg.messageKind);
6853
6858
  res.json({ success: true });
@@ -6903,7 +6908,7 @@ All file and git operations should use this branch.
6903
6908
  res.json({ accepted: true });
6904
6909
  });
6905
6910
  app.get("/api/settings", async (req, res) => {
6906
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-FT7HF7ZB.js");
6911
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TGCITCVA.js");
6907
6912
  const keysParam = req.query["keys"];
6908
6913
  if (!keysParam) {
6909
6914
  return res.status(400).json({ error: "keys query parameter is required" });
@@ -6916,19 +6921,19 @@ All file and git operations should use this branch.
6916
6921
  res.json(result);
6917
6922
  });
6918
6923
  app.get("/api/settings/:key", async (req, res) => {
6919
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-FT7HF7ZB.js");
6924
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TGCITCVA.js");
6920
6925
  const key = req.params.key;
6921
6926
  const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
6922
6927
  res.json({ key, value });
6923
6928
  });
6924
6929
  app.get("/api/settings/:key", async (req, res) => {
6925
- const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-FT7HF7ZB.js");
6930
+ const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TGCITCVA.js");
6926
6931
  const key = req.params.key;
6927
6932
  const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
6928
6933
  res.json({ key, value });
6929
6934
  });
6930
6935
  app.put("/api/settings/:key", async (req, res) => {
6931
- const { setSetting: setSetting2 } = await import("./settings-FT7HF7ZB.js");
6936
+ const { setSetting: setSetting2 } = await import("./settings-TGCITCVA.js");
6932
6937
  const key = req.params.key;
6933
6938
  const { value } = req.body;
6934
6939
  if (value === void 0) {
@@ -6955,7 +6960,7 @@ All file and git operations should use this branch.
6955
6960
  }
6956
6961
  });
6957
6962
  app.get("/api/tools/shells", async (_req, res) => {
6958
- const { listAvailableShells } = await import("./platform-2RLL7RAE.js");
6963
+ const { listAvailableShells } = await import("./platform-GZ2WIDS5.js");
6959
6964
  res.json({ shells: listAvailableShells() });
6960
6965
  });
6961
6966
  app.get("/api/config", async (_req, res) => {
@@ -7045,7 +7050,7 @@ All file and git operations should use this branch.
7045
7050
  }));
7046
7051
  }
7047
7052
  app.post("/api/proxy/test", async (_req, res) => {
7048
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-FT7HF7ZB.js");
7053
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-TGCITCVA.js");
7049
7054
  const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
7050
7055
  if (!proxyUrl) {
7051
7056
  return res.status(400).json({ success: false, error: "No proxy URL configured" });
@@ -7137,7 +7142,7 @@ All file and git operations should use this branch.
7137
7142
  }
7138
7143
  });
7139
7144
  app.post("/api/proxy/test", async (_req, res) => {
7140
- const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-FT7HF7ZB.js");
7145
+ const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-TGCITCVA.js");
7141
7146
  const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
7142
7147
  if (!proxyUrl) {
7143
7148
  return res.status(400).json({ success: false, error: "No proxy URL configured" });
@@ -7164,7 +7169,7 @@ All file and git operations should use this branch.
7164
7169
  const backend = req.query["backend"];
7165
7170
  if (!url) return res.status(400).json({ error: "url is required" });
7166
7171
  try {
7167
- const { fetchModelsWithContext } = await import("./provider-manager-GLG6BA32.js");
7172
+ const { fetchModelsWithContext } = await import("./provider-manager-AUYP3QAM.js");
7168
7173
  const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
7169
7174
  const models = await fetchModelsWithContext(
7170
7175
  url,
@@ -7235,7 +7240,7 @@ All file and git operations should use this branch.
7235
7240
  const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
7236
7241
  const { getBackendCapabilities } = await import("./backend-P3GHHLHJ.js");
7237
7242
  const { buildNonStreamingCreateParams } = await import("./client-pure-ONSVWEG5.js");
7238
- const { OpenAIHttpClient } = await import("./http-client-WGNBG7PC.js");
7243
+ const { OpenAIHttpClient } = await import("./http-client-A7A4XWNK.js");
7239
7244
  const { ensureVersionPrefix } = await import("./url-utils-SAJP7AEX.js");
7240
7245
  const profile = getModelProfile2(model);
7241
7246
  const capabilities = getBackendCapabilities(backend || "unknown");
@@ -7585,7 +7590,7 @@ All file and git operations should use this branch.
7585
7590
  });
7586
7591
  async function rebuildMcpTools() {
7587
7592
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-FEAHWU5C.js");
7588
- const { setMcpTools: setMcpTools2 } = await import("./tools-M5DKWCJJ.js");
7593
+ const { setMcpTools: setMcpTools2 } = await import("./tools-KKALZLKX.js");
7589
7594
  const mcpTools = createMcpTools2(mcpManager);
7590
7595
  setMcpTools2(mcpTools);
7591
7596
  toolRegistry = createToolRegistry();
@@ -7846,13 +7851,13 @@ All file and git operations should use this branch.
7846
7851
  })
7847
7852
  );
7848
7853
  app.get("/api/sessions/:id/background-processes", async (req, res) => {
7849
- const { getSessionProcesses } = await import("./manager-HFGJLW7Q.js");
7854
+ const { getSessionProcesses } = await import("./manager-GGIIENDX.js");
7850
7855
  const sessionId = req.params.id;
7851
7856
  const processes = getSessionProcesses(sessionId);
7852
7857
  res.json({ processes });
7853
7858
  });
7854
7859
  app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
7855
- const { stopProcess } = await import("./manager-HFGJLW7Q.js");
7860
+ const { stopProcess } = await import("./manager-GGIIENDX.js");
7856
7861
  const sessionId = req.params.id;
7857
7862
  const processId = req.params.processId;
7858
7863
  const session = sessionManager.getSession(sessionId);
@@ -7997,7 +8002,7 @@ All file and git operations should use this branch.
7997
8002
  const state = sessionManager.getContextState(sessionId);
7998
8003
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
7999
8004
  });
8000
- const { QueueProcessor } = await import("./processor-YWNLWAZW.js");
8005
+ const { QueueProcessor } = await import("./processor-CBGV2K4E.js");
8001
8006
  const queueProcessor = new QueueProcessor({
8002
8007
  sessionManager,
8003
8008
  providerManager,
@@ -8081,4 +8086,4 @@ export {
8081
8086
  createServerHandle,
8082
8087
  createServer
8083
8088
  };
8084
- //# sourceMappingURL=chunk-REQIAJTV.js.map
8089
+ //# sourceMappingURL=chunk-XWW7LOU4.js.map
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-5ZJYEINJ.js";
4
4
  import {
5
5
  COMPACTION_PROMPT
6
- } from "./chunk-4Z2ARCY3.js";
6
+ } from "./chunk-J27BLIPY.js";
7
7
  import {
8
8
  getCurrentWindowMessageOptions
9
- } from "./chunk-WPCYFH6X.js";
9
+ } from "./chunk-DMI2BXHA.js";
10
10
 
11
11
  // src/server/context/compactor.ts
12
12
  function appendCompactionPrompt(sessionId, append) {
@@ -36,4 +36,4 @@ export {
36
36
  COMPACTION_MAX_RATIO,
37
37
  shouldCompact
38
38
  };
39
- //# sourceMappingURL=chunk-73EV6QYX.js.map
39
+ //# sourceMappingURL=chunk-YXIDKMBJ.js.map
package/dist/cli/dev.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-JL657X72.js";
5
- import "../chunk-XY3LESVZ.js";
4
+ } from "../chunk-EFIC3TUX.js";
5
+ import "../chunk-4H427UBV.js";
6
6
  import {
7
7
  logger
8
8
  } from "../chunk-K44MW7JJ.js";
package/dist/cli/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-JL657X72.js";
5
- import "../chunk-XY3LESVZ.js";
4
+ } from "../chunk-EFIC3TUX.js";
5
+ import "../chunk-4H427UBV.js";
6
6
  import {
7
7
  logger
8
8
  } from "../chunk-K44MW7JJ.js";