openfox 2.0.135 → 2.0.137

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 (87) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/CHANGELOG.md +33 -0
  3. package/dist/agent-defaults/builder.agent.md +1 -0
  4. package/dist/agent-defaults/planner.agent.md +1 -0
  5. package/dist/{ask-UBIRH3SO.js → ask-46J5WYRL.js} +2 -2
  6. package/dist/{auto-config-5VSNLVNI.js → auto-config-2A7Y2WOK.js} +25 -6
  7. package/dist/{backend-NDBY3DAQ.js → backend-24FTDSHF.js} +4 -2
  8. package/dist/{chat-handler-WGDFMOOD.js → chat-handler-ZCPFNHTE.js} +30 -26
  9. package/dist/{chunk-QZOV4OVN.js → chunk-2OO46UAW.js} +5 -5
  10. package/dist/{chunk-7QMWYNVF.js → chunk-4LLGI372.js} +2 -2
  11. package/dist/chunk-4SBVW4UH.js +24 -0
  12. package/dist/{chunk-ZMK4VX7V.js → chunk-64YDOCQR.js} +53 -21
  13. package/dist/{chunk-VHLD6PCZ.js → chunk-6TQNTFJW.js} +17 -11
  14. package/dist/{chunk-UV6IH6HK.js → chunk-AKWJMMEJ.js} +15 -1
  15. package/dist/{chunk-ORCQ3EXQ.js → chunk-BHVR2YS5.js} +2 -2
  16. package/dist/{chunk-S67WIWUG.js → chunk-DG2YSWMC.js} +40 -6
  17. package/dist/chunk-FG4G4EWB.js +7 -0
  18. package/dist/{chunk-NFEZATSN.js → chunk-FIQPKLDY.js} +8 -8
  19. package/dist/chunk-FSSUPWYO.js +336 -0
  20. package/dist/{chunk-5UQ4CKOA.js → chunk-G5GUQKLS.js} +27 -6
  21. package/dist/{chunk-7ET46SNE.js → chunk-HEYU7FAY.js} +3 -3
  22. package/dist/{chunk-4R5GV7RW.js → chunk-JIS6C6PA.js} +21 -21
  23. package/dist/{chunk-5H5NRWHA.js → chunk-LQPAM55V.js} +12 -10
  24. package/dist/{chunk-MEEUXRFL.js → chunk-MMGHIPBU.js} +72 -54
  25. package/dist/{chunk-O3RCSKUH.js → chunk-MOYWDP73.js} +2 -2
  26. package/dist/{chunk-J3NMNYGM.js → chunk-N5JKVNLH.js} +2 -2
  27. package/dist/{chunk-DWA4IE65.js → chunk-Q33DL67W.js} +2 -2
  28. package/dist/{chunk-OZWHRBDY.js → chunk-QBWJCO5K.js} +12 -29
  29. package/dist/{chunk-EUOWCVU6.js → chunk-QMU3ZY2C.js} +37 -341
  30. package/dist/{chunk-CTWZPN7G.js → chunk-QUAEH3MP.js} +29 -1
  31. package/dist/{chunk-BIZFY3QP.js → chunk-RS7I4W5A.js} +212 -148
  32. package/dist/{chunk-5UMXFLET.js → chunk-SAGDTQXD.js} +3 -3
  33. package/dist/{chunk-UKIUQAQZ.js → chunk-U7XCK7WL.js} +4 -4
  34. package/dist/{chunk-JURM3RPZ.js → chunk-V5AC2TV7.js} +8 -13
  35. package/dist/{chunk-JE7LW7Y6.js → chunk-VIJVLLPT.js} +12 -3
  36. package/dist/{chunk-2AI7VYPN.js → chunk-VKMPR25F.js} +9 -3
  37. package/dist/{chunk-IAT2LBIX.js → chunk-WOIQO7ZC.js} +4 -4
  38. package/dist/chunk-WQUCCHOY.js +1155 -0
  39. package/dist/{chunk-F2MOHHXB.js → chunk-X4PVR6AW.js} +2 -2
  40. package/dist/chunk-XG3AUMPI.js +72 -0
  41. package/dist/{chunk-I5ODJKYM.js → chunk-XWWRZSK7.js} +162 -6
  42. package/dist/{chunk-GP3CLMPQ.js → chunk-ZJ2IHOVN.js} +23 -23
  43. package/dist/{chunk-ESZQTFQP.js → chunk-ZQENKB7X.js} +86 -1010
  44. package/dist/cli/dev.js +1 -1
  45. package/dist/cli/index.js +1 -1
  46. package/dist/client-MVI3J7SN.js +18 -0
  47. package/dist/{client-pure-FLKP6PTI.js → client-pure-YZ4IGCU4.js} +4 -2
  48. package/dist/{compactor-454UEIEX.js → compactor-KDTY4ERE.js} +14 -12
  49. package/dist/describe-image-EFHMWGWI.js +30 -0
  50. package/dist/{dynamic-context-LKC6JYLQ.js → dynamic-context-HL4RGNHK.js} +12 -10
  51. package/dist/{events-335XAKFK.js → events-ADE2KEHI.js} +7 -9
  52. package/dist/{export-import-3WMRLO4A.js → export-import-6OUEANYH.js} +7 -7
  53. package/dist/{folding-H7JTX6KI.js → folding-CM63AVSB.js} +6 -6
  54. package/dist/{http-client-A445WYZU.js → http-client-C6UYWVWZ.js} +3 -3
  55. package/dist/launch-L5NSPAAX.js +58 -0
  56. package/dist/{manager-ZACEUL5P.js → manager-FSPRJCYT.js} +4 -4
  57. package/dist/{model-catalog-2PCKTYGW.js → model-catalog-Y5MA5OZP.js} +2 -2
  58. package/dist/{orchestrator-JGJWTRO5.js → orchestrator-FMWKMD54.js} +29 -25
  59. package/dist/package.json +1 -1
  60. package/dist/{path-security-4LROI7F4.js → path-security-DND2R3RP.js} +8 -8
  61. package/dist/{platform-XPMZKAUB.js → platform-KPKYBU54.js} +3 -3
  62. package/dist/{processor-MSQP63ML.js → processor-SB5X44PX.js} +29 -25
  63. package/dist/{provider-JWUNG2TD.js → provider-SOC6Z25R.js} +10 -8
  64. package/dist/{provider-manager-2KKZ37XJ.js → provider-manager-Y53SVVQ3.js} +10 -8
  65. package/dist/{registry-BEIR7Y5G.js → registry-FMDMGIUB.js} +3 -3
  66. package/dist/{serve-CW5C3CBZ.js → serve-VONTGJCK.js} +41 -32
  67. package/dist/server/index.d.ts +1 -0
  68. package/dist/server/index.js +34 -30
  69. package/dist/server-MI2LZK3W.js +61 -0
  70. package/dist/{service-XIUNS5XV.js → service-NKLQH647.js} +12 -9
  71. package/dist/{session-overrides-LYW5PJ3R.js → session-overrides-ANQBKV74.js} +11 -7
  72. package/dist/{sessions-AOK3AGHY.js → sessions-GLYACE5R.js} +4 -4
  73. package/dist/{settings-ZJPM6PQV.js → settings-WH6BVQCP.js} +4 -2
  74. package/dist/{tasks-3JJWJJ3X.js → tasks-GPM3JAE6.js} +14 -10
  75. package/dist/tool-adapter-ZY4FC4C4.js +9 -0
  76. package/dist/{tools-E63MOJBO.js → tools-WLJJ3ILO.js} +27 -23
  77. package/dist/{update-XVXNSSDK.js → update-6ZSQJQJB.js} +2 -2
  78. package/dist/web/assets/{index-wTFCxQAw.js → index-CfFwerN2.js} +84 -84
  79. package/dist/web/assets/{index-Bg_Z8i3F.css → index-ChJjYovg.css} +1 -1
  80. package/dist/web/index.html +2 -2
  81. package/dist/web/sw.js +1 -1
  82. package/package.json +1 -1
  83. package/dist/chunk-WY3PWHWY.js +0 -7
  84. package/dist/client-VVYOWXRR.js +0 -16
  85. package/dist/launch-GJ7EHQRI.js +0 -54
  86. package/dist/server-ZHEB7XS2.js +0 -57
  87. package/dist/tool-adapter-FJAFLDZA.js +0 -8
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveDefaultAgentId
3
- } from "./chunk-ORCQ3EXQ.js";
3
+ } from "./chunk-BHVR2YS5.js";
4
4
  import {
5
5
  getDatabase
6
6
  } from "./chunk-JU757HVI.js";
@@ -484,4 +484,4 @@ export {
484
484
  getLatestWorkflowExecution,
485
485
  clearWorkflowExecution
486
486
  };
487
- //# sourceMappingURL=chunk-F2MOHHXB.js.map
487
+ //# sourceMappingURL=chunk-X4PVR6AW.js.map
@@ -0,0 +1,72 @@
1
+ // src/server/llm/schema-sanitizer.ts
2
+ function sanitizeToolSchema(schema) {
3
+ if (!schema || typeof schema !== "object" || Array.isArray(schema)) {
4
+ return { type: "object", properties: {} };
5
+ }
6
+ return cleanSchemaNode(schema);
7
+ }
8
+ function cleanSchemaNode(node) {
9
+ const result = {};
10
+ for (const [key, val] of Object.entries(node)) {
11
+ if (val === null || val === void 0) {
12
+ continue;
13
+ }
14
+ if (key === "$schema" || key === "$id" || key === "$vocabulary" || key === "$anchor" || key === "dependentRequired" || key === "dependentSchemas" || key === "unevaluatedProperties" || key === "unevaluatedItems" || key === "patternProperties" || key === "additionalProperties") {
15
+ continue;
16
+ }
17
+ if (key === "required" && Array.isArray(val)) {
18
+ result["required"] = val.map((item) => item === "properties" ? "props" : item);
19
+ continue;
20
+ }
21
+ if (key === "const") {
22
+ result["enum"] = [val];
23
+ continue;
24
+ }
25
+ if (key === "properties" && val && typeof val === "object" && !Array.isArray(val)) {
26
+ const sanitizedProps = {};
27
+ for (const [propKey, propVal] of Object.entries(val)) {
28
+ const targetKey = propKey === "properties" ? "props" : propKey;
29
+ if (typeof propVal === "string") {
30
+ sanitizedProps[targetKey] = propVal === "object" ? { type: "object", properties: {} } : { type: propVal };
31
+ } else if (propVal && typeof propVal === "object" && !Array.isArray(propVal)) {
32
+ sanitizedProps[targetKey] = cleanSchemaNode(propVal);
33
+ } else {
34
+ sanitizedProps[targetKey] = propVal;
35
+ }
36
+ }
37
+ result["properties"] = sanitizedProps;
38
+ continue;
39
+ }
40
+ if (key === "items") {
41
+ if (!val || typeof val !== "object" || Object.keys(val).length === 0) {
42
+ result["items"] = { type: "string" };
43
+ } else if (Array.isArray(val)) {
44
+ result["items"] = val.map(
45
+ (item) => item && typeof item === "object" ? cleanSchemaNode(item) : item
46
+ );
47
+ } else {
48
+ result["items"] = cleanSchemaNode(val);
49
+ }
50
+ continue;
51
+ }
52
+ if ((key === "anyOf" || key === "oneOf" || key === "allOf") && Array.isArray(val)) {
53
+ result[key] = val.map(
54
+ (item) => item && typeof item === "object" ? cleanSchemaNode(item) : item
55
+ );
56
+ continue;
57
+ }
58
+ result[key] = val;
59
+ }
60
+ if (result["type"] === "object" && !result["properties"]) {
61
+ result["properties"] = {};
62
+ }
63
+ if (result["type"] === "array" && (!result["items"] || typeof result["items"] === "object" && Object.keys(result["items"]).length === 0)) {
64
+ result["items"] = { type: "string" };
65
+ }
66
+ return result;
67
+ }
68
+
69
+ export {
70
+ sanitizeToolSchema
71
+ };
72
+ //# sourceMappingURL=chunk-XG3AUMPI.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  getEventStore
3
- } from "./chunk-QZOV4OVN.js";
3
+ } from "./chunk-2OO46UAW.js";
4
4
  import {
5
5
  createChatPathConfirmationMessage
6
6
  } from "./chunk-AATMPL7S.js";
7
7
  import {
8
8
  getPlatformShell
9
- } from "./chunk-O3RCSKUH.js";
9
+ } from "./chunk-MOYWDP73.js";
10
10
 
11
11
  // src/server/tools/path-security.ts
12
12
  import { realpath } from "fs/promises";
@@ -138,7 +138,7 @@ function normalizeExtracted(path) {
138
138
  return posix.normalize(path);
139
139
  }
140
140
  function isPlaceholderToken(str) {
141
- return str.includes("__URL__") || str.includes("__FILEURL__") || str.includes("__SED__") || str.includes("__COMMIT_MSG__");
141
+ return str.includes("__URL__") || str.includes("__FILEURL__") || str.includes("__SED__") || str.includes("__COMMIT_MSG__") || str.includes("__PATTERN__");
142
142
  }
143
143
  var REGEX_TOOL_RE = /\b(?:sed|awk|gawk|mawk|perl|ruby|raku)\b/;
144
144
  var SHELL_TOKEN_END_RE = /[\s'"`|&;,<>()]/;
@@ -157,6 +157,159 @@ function isRegexAddress(command, start, end, hasRegexTool, quote) {
157
157
  }
158
158
  return hasRegexTool && quote !== null && !/\s/.test(content);
159
159
  }
160
+ var SEARCH_TOOL_RE = /^(?:grep|egrep|fgrep|rg|ag|ack)$/;
161
+ var SEARCH_OPTS_WITH_VALUE = /* @__PURE__ */ new Set([
162
+ "-e",
163
+ "--regexp",
164
+ "-f",
165
+ "--file",
166
+ "-m",
167
+ "--max-count",
168
+ "-A",
169
+ "--after-context",
170
+ "-B",
171
+ "--before-context",
172
+ "-C",
173
+ "--context",
174
+ "-d",
175
+ "--directories",
176
+ "-D",
177
+ "--devices",
178
+ "--include",
179
+ "--exclude",
180
+ "--exclude-dir",
181
+ "--binary-files",
182
+ "--color",
183
+ "--colour",
184
+ "--label",
185
+ "-g",
186
+ "--glob",
187
+ "-t",
188
+ "--type"
189
+ ]);
190
+ var PATTERN_VALUE_OPTS = /* @__PURE__ */ new Set(["-e", "--regexp"]);
191
+ var PATTERN_FILE_OPTS = /* @__PURE__ */ new Set(["-f", "--file"]);
192
+ function tokenizeShell(command) {
193
+ const out = [];
194
+ const n = command.length;
195
+ let i = 0;
196
+ while (i < n) {
197
+ const ch = command[i];
198
+ if (/\s/.test(ch)) {
199
+ i += 1;
200
+ continue;
201
+ }
202
+ if (/[|&;()<>]/.test(ch)) {
203
+ let j = i + 1;
204
+ if (ch === "|" && command[j] === "|" || ch === "&" && command[j] === "&") j += 1;
205
+ out.push({ text: command.slice(i, j), start: i, end: j, isOperator: true });
206
+ i = j;
207
+ continue;
208
+ }
209
+ const start = i;
210
+ let quote = null;
211
+ while (i < n) {
212
+ const c = command[i];
213
+ if (quote !== null) {
214
+ if (c === "\\" && quote !== "'") {
215
+ i += 2;
216
+ continue;
217
+ }
218
+ if (c === quote) {
219
+ quote = null;
220
+ i += 1;
221
+ continue;
222
+ }
223
+ i += 1;
224
+ continue;
225
+ }
226
+ if (c === "'" || c === '"' || c === "`") {
227
+ quote = c;
228
+ i += 1;
229
+ continue;
230
+ }
231
+ if (/[\s|&;()<>]/.test(c)) break;
232
+ if (c === "\\") {
233
+ i += 2;
234
+ continue;
235
+ }
236
+ i += 1;
237
+ }
238
+ out.push({ text: command.slice(start, i), start, end: i, isOperator: false });
239
+ }
240
+ return out;
241
+ }
242
+ function commandBasename(token) {
243
+ const bare = token.replace(/^["'`]|["'`]$/g, "");
244
+ const slash = bare.lastIndexOf("/");
245
+ return slash >= 0 ? bare.slice(slash + 1) : bare;
246
+ }
247
+ function maskSearchToolPatterns(command) {
248
+ if (!command.includes("/")) return command;
249
+ const tokens = tokenizeShell(command);
250
+ const spans = [];
251
+ let atCommandStart = true;
252
+ let i = 0;
253
+ while (i < tokens.length) {
254
+ const tok = tokens[i];
255
+ if (tok.isOperator) {
256
+ atCommandStart = true;
257
+ i += 1;
258
+ continue;
259
+ }
260
+ if (!atCommandStart || !SEARCH_TOOL_RE.test(commandBasename(tok.text))) {
261
+ atCommandStart = atCommandStart && /^[A-Za-z_][A-Za-z0-9_]*=/.test(tok.text);
262
+ i += 1;
263
+ continue;
264
+ }
265
+ let patternSupplied = false;
266
+ let patternSpan = null;
267
+ let j = i + 1;
268
+ while (j < tokens.length && !tokens[j].isOperator) {
269
+ const arg = tokens[j];
270
+ if (arg.text.startsWith("-") && arg.text !== "-" && arg.text !== "--") {
271
+ const eq = arg.text.indexOf("=");
272
+ if (eq > 0) {
273
+ const name = arg.text.slice(0, eq);
274
+ if (PATTERN_VALUE_OPTS.has(name)) {
275
+ patternSupplied = true;
276
+ spans.push([arg.start + eq + 1, arg.end]);
277
+ } else if (PATTERN_FILE_OPTS.has(name)) {
278
+ patternSupplied = true;
279
+ }
280
+ j += 1;
281
+ continue;
282
+ }
283
+ if (SEARCH_OPTS_WITH_VALUE.has(arg.text)) {
284
+ const value = tokens[j + 1];
285
+ if (value && !value.isOperator) {
286
+ if (PATTERN_VALUE_OPTS.has(arg.text)) {
287
+ patternSupplied = true;
288
+ spans.push([value.start, value.end]);
289
+ } else if (PATTERN_FILE_OPTS.has(arg.text)) {
290
+ patternSupplied = true;
291
+ }
292
+ j += 2;
293
+ continue;
294
+ }
295
+ }
296
+ j += 1;
297
+ continue;
298
+ }
299
+ if (!patternSupplied) patternSpan = [arg.start, arg.end];
300
+ break;
301
+ }
302
+ if (patternSpan) spans.push(patternSpan);
303
+ atCommandStart = false;
304
+ i = j;
305
+ }
306
+ if (spans.length === 0) return command;
307
+ let out = command;
308
+ for (const [start, end] of spans.sort((a, b) => b[0] - a[0])) {
309
+ out = `${out.slice(0, start)} __PATTERN__ ${out.slice(end)}`;
310
+ }
311
+ return out;
312
+ }
160
313
  function maskRegexAddresses(command) {
161
314
  const work = command.replace(/(?:=|!)~\s+/g, " __SED__ ");
162
315
  if (!work.includes("/")) return work;
@@ -387,6 +540,7 @@ function maskCommandForPathScan(command) {
387
540
  sanitized = sanitized.replace(/(?<!\w)s\/[^/]*\/[^/]*\/[gip]*/g, " __SED__ ");
388
541
  sanitized = sanitized.replace(/(?<!\w)s\|[^|]*\|[^|]*\|[gip]*/g, " __SED__ ");
389
542
  sanitized = sanitized.replace(/(?<!\w)s:[^:]*:[^:]*:[gip]*/g, " __SED__ ");
543
+ sanitized = maskSearchToolPatterns(sanitized);
390
544
  sanitized = maskRegexAddresses(sanitized);
391
545
  sanitized = sanitized.replace(
392
546
  /git\s+commit\b.*?(?:-(?:[a-zA-Z]*m)(?=\s)|--message)\s+(["'])(?:(?!\1).)*\1/g,
@@ -445,7 +599,7 @@ function extractAbsolutePathsFromCommand(command) {
445
599
  }
446
600
  }
447
601
  if (posixShell) {
448
- const absolutePattern = /(?:^|[\s=(])(\/[^\s"'|&;<>`()]+)/g;
602
+ const absolutePattern = /(?:^|([\s=('"]))(\/[^\s"'|&;<>`()]+)/g;
449
603
  const rootPattern = /(?:^|[\s=(])\/(?=$|[\s'"`|&;,<()])/g;
450
604
  let isRoot = false;
451
605
  for (const match2 of scanCommand.matchAll(rootPattern)) {
@@ -460,7 +614,9 @@ function extractAbsolutePathsFromCommand(command) {
460
614
  paths.push("/");
461
615
  }
462
616
  while ((match = absolutePattern.exec(scanCommand)) !== null) {
463
- const candidate = match[1];
617
+ const opener = match[1] ?? "";
618
+ const candidate = match[2];
619
+ if ((opener === "'" || opener === '"') && candidate.endsWith("/")) continue;
464
620
  if (isPlaceholderToken(candidate)) continue;
465
621
  if (looksLikeRegex(candidate)) continue;
466
622
  const resolved = normalizeExtracted(candidate);
@@ -782,4 +938,4 @@ export {
782
938
  getConfirmationSessionId,
783
939
  getPendingConfirmationsBySession
784
940
  };
785
- //# sourceMappingURL=chunk-I5ODJKYM.js.map
941
+ //# sourceMappingURL=chunk-XWWRZSK7.js.map
@@ -2,55 +2,55 @@ import {
2
2
  generateSessionNameForSession,
3
3
  getSessionMessageCount,
4
4
  needsNameGeneration
5
- } from "./chunk-NFEZATSN.js";
5
+ } from "./chunk-FIQPKLDY.js";
6
6
  import {
7
7
  launchWorkflowRun
8
- } from "./chunk-5H5NRWHA.js";
8
+ } from "./chunk-LQPAM55V.js";
9
9
  import {
10
10
  runChatTurn
11
- } from "./chunk-4R5GV7RW.js";
11
+ } from "./chunk-JIS6C6PA.js";
12
+ import {
13
+ applyDynamicContext,
14
+ computeSessionHash,
15
+ computeUnifiedDiff
16
+ } from "./chunk-6TQNTFJW.js";
12
17
  import {
13
18
  devServerManager
14
- } from "./chunk-ESZQTFQP.js";
19
+ } from "./chunk-ZQENKB7X.js";
15
20
  import {
16
21
  gitSpawnEnv
17
22
  } from "./chunk-J7GAZGZT.js";
18
23
  import {
19
24
  serverT
20
- } from "./chunk-OZWHRBDY.js";
25
+ } from "./chunk-4SBVW4UH.js";
21
26
  import {
22
27
  appendCompactionPrompt
23
- } from "./chunk-UKIUQAQZ.js";
28
+ } from "./chunk-U7XCK7WL.js";
24
29
  import {
25
30
  hasRecentLLMFailure,
26
31
  interruptLLMRetryWait
27
- } from "./chunk-7ET46SNE.js";
32
+ } from "./chunk-HEYU7FAY.js";
28
33
  import {
29
34
  onProcessEvent
30
- } from "./chunk-5UMXFLET.js";
35
+ } from "./chunk-SAGDTQXD.js";
31
36
  import {
32
37
  killProcessTree
33
38
  } from "./chunk-I72ACQ6R.js";
34
- import {
35
- applyDynamicContext,
36
- computeSessionHash,
37
- computeUnifiedDiff
38
- } from "./chunk-VHLD6PCZ.js";
39
39
  import {
40
40
  getPendingQuestionsForSession,
41
41
  provideAnswer
42
- } from "./chunk-JURM3RPZ.js";
42
+ } from "./chunk-V5AC2TV7.js";
43
43
  import {
44
44
  combineEventsWithSnapshot,
45
45
  getEventStore
46
- } from "./chunk-QZOV4OVN.js";
46
+ } from "./chunk-2OO46UAW.js";
47
47
  import {
48
48
  buildMessagesFromStoredEvents,
49
49
  foldPendingConfirmations
50
- } from "./chunk-MEEUXRFL.js";
50
+ } from "./chunk-MMGHIPBU.js";
51
51
  import {
52
52
  getRuntimeConfig
53
- } from "./chunk-ORCQ3EXQ.js";
53
+ } from "./chunk-BHVR2YS5.js";
54
54
  import {
55
55
  createChatErrorMessage,
56
56
  createChatMessageMessage,
@@ -68,10 +68,10 @@ import {
68
68
  } from "./chunk-AATMPL7S.js";
69
69
  import {
70
70
  getPlatformShell
71
- } from "./chunk-O3RCSKUH.js";
71
+ } from "./chunk-MOYWDP73.js";
72
72
  import {
73
73
  getMaxVisibleItems
74
- } from "./chunk-CTWZPN7G.js";
74
+ } from "./chunk-QUAEH3MP.js";
75
75
  import {
76
76
  logger
77
77
  } from "./chunk-K44MW7JJ.js";
@@ -1344,8 +1344,8 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
1344
1344
  }
1345
1345
  const session = sessionManager.requireSession(sessionId);
1346
1346
  try {
1347
- const { buildCachedPrompt, computePreviewToolDiff } = await import("./dynamic-context-LKC6JYLQ.js");
1348
- const allAgents = await import("./registry-BEIR7Y5G.js");
1347
+ const { buildCachedPrompt, computePreviewToolDiff } = await import("./dynamic-context-HL4RGNHK.js");
1348
+ const allAgents = await import("./registry-FMDMGIUB.js");
1349
1349
  const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
1350
1350
  const modelName = session.providerModel ?? _providerManager?.getCurrentModel();
1351
1351
  const {
@@ -1356,7 +1356,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
1356
1356
  const oldCached = sessionManager.getCachedPrompt(sessionId);
1357
1357
  const oldPrompt = oldCached?.systemPrompt;
1358
1358
  const diff = oldPrompt ? computeUnifiedDiff(oldPrompt, newPrompt) : [];
1359
- const { getToolRegistryForAgent } = await import("./tools-E63MOJBO.js");
1359
+ const { getToolRegistryForAgent } = await import("./tools-WLJJ3ILO.js");
1360
1360
  const unfilteredTools = getToolRegistryForAgent(agentDef).definitions;
1361
1361
  const toolDiff = computePreviewToolDiff(oldCached?.tools, unfilteredTools, newTools);
1362
1362
  send({
@@ -1729,4 +1729,4 @@ export {
1729
1729
  signalMcpReady,
1730
1730
  createWebSocketServer
1731
1731
  };
1732
- //# sourceMappingURL=chunk-GP3CLMPQ.js.map
1732
+ //# sourceMappingURL=chunk-ZJ2IHOVN.js.map