openfox 2.0.123 → 2.0.124

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 (39) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/CHANGELOG.md +16 -0
  3. package/dist/{auto-config-4BFGLPCP.js → auto-config-454YE6KC.js} +6 -66
  4. package/dist/{chat-handler-UWZYFGRY.js → chat-handler-N43TBYLV.js} +8 -8
  5. package/dist/{chunk-YGOF4QDW.js → chunk-57UCBFBD.js} +6 -6
  6. package/dist/{chunk-4L7UMEHD.js → chunk-5CCM655F.js} +85 -12
  7. package/dist/{chunk-H4JRR5KV.js → chunk-A6EZBX62.js} +2 -2
  8. package/dist/{chunk-PZUKG3OZ.js → chunk-FAL4WO4V.js} +3 -3
  9. package/dist/{chunk-TPDBUOPN.js → chunk-ISE55FOR.js} +11 -4
  10. package/dist/{chunk-INOO465O.js → chunk-KD4W3I6C.js} +108 -29
  11. package/dist/{chunk-ZKMZI4ZG.js → chunk-KGFERMCV.js} +4 -4
  12. package/dist/{chunk-V2UJP5CX.js → chunk-QJNBQCAF.js} +4 -4
  13. package/dist/{chunk-YU5QPXSU.js → chunk-RXLAFEZB.js} +4 -4
  14. package/dist/chunk-SBADOWVC.js +7 -0
  15. package/dist/{chunk-SS6KV6DI.js → chunk-UGEFD67O.js} +2 -2
  16. package/dist/{chunk-FFEZJBQO.js → chunk-VUBFPRKT.js} +29 -29
  17. package/dist/cli/dev.js +1 -1
  18. package/dist/cli/index.js +1 -1
  19. package/dist/{dynamic-context-5TPG2AJL.js → dynamic-context-KTQCAPTK.js} +2 -2
  20. package/dist/{launch-5PJLLVXV.js → launch-Z5D5YFRJ.js} +9 -9
  21. package/dist/{model-catalog-T2GQFJI4.js → model-catalog-ZLOWTQA7.js} +2 -2
  22. package/dist/{orchestrator-2Q3R5KKR.js → orchestrator-BQBBO4US.js} +8 -8
  23. package/dist/package.json +1 -1
  24. package/dist/{path-security-NRO37OAP.js → path-security-YTPZ35SL.js} +6 -4
  25. package/dist/{processor-N2XW2KJV.js → processor-WTRVYXAO.js} +7 -7
  26. package/dist/{provider-EBL6Z7TV.js → provider-LICG53GG.js} +3 -3
  27. package/dist/{provider-manager-MKF27CTA.js → provider-manager-3QC2MSSR.js} +3 -3
  28. package/dist/{serve-TARX23JF.js → serve-75G5Z7UQ.js} +12 -12
  29. package/dist/server/index.js +11 -11
  30. package/dist/{server-FKVRW7RV.js → server-N3VATHIA.js} +10 -10
  31. package/dist/{service-SY6Y4BIM.js → service-OURGS2SI.js} +4 -4
  32. package/dist/{tasks-IDIKTBOR.js → tasks-4SOLTX6A.js} +4 -4
  33. package/dist/{tools-YPVZ5QM2.js → tools-G44LBKD4.js} +6 -6
  34. package/dist/{update-VSSOHC47.js → update-R2TEHD7V.js} +2 -2
  35. package/dist/web/assets/{index-C10YdCOU.js → index-GZTGHRRr.js} +65 -65
  36. package/dist/web/index.html +1 -1
  37. package/dist/web/sw.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/chunk-LXCDR3H5.js +0 -7
@@ -268,30 +268,90 @@ function extractUnquotedTildePaths(command, home) {
268
268
  return paths;
269
269
  }
270
270
  var TRAVERSAL_SEGMENT_RE = /(?:^|\/)\.\.(?:\/|$)/;
271
- function extractRelativeTraversals(command) {
271
+ var CD_NON_TARGET_KEYWORDS = /* @__PURE__ */ new Set([
272
+ "cd",
273
+ "pushd",
274
+ "popd",
275
+ "echo",
276
+ "exit",
277
+ "export",
278
+ "source",
279
+ "set",
280
+ "true",
281
+ "false"
282
+ ]);
283
+ var DYNAMIC_CD_TARGET_RE = /[$`{}]/;
284
+ function applyCdTarget(cwd, target) {
285
+ if (target === "~") return normalize(homedir());
286
+ if (target.startsWith("~/")) return normalize(resolve(homedir(), target.slice(2)));
287
+ if (target.startsWith("/")) return normalize(target);
288
+ if (target.startsWith("-")) return cwd;
289
+ if (DYNAMIC_CD_TARGET_RE.test(target)) return cwd;
290
+ return normalize(resolve(cwd, target));
291
+ }
292
+ function resolveRelativeTraversals(command, workdir) {
293
+ const masked = maskCommandForPathScan(command);
272
294
  const out = [];
273
- const isTraversal = (token) => TRAVERSAL_SEGMENT_RE.test(token);
274
- const quotedPattern = /["']([^"']+)["']/g;
275
- let m;
276
- while ((m = quotedPattern.exec(command)) !== null) {
277
- const content = m[1];
278
- if (!content || content.startsWith("/") || content.startsWith("~") || isWindowsAbsolutePath(content)) continue;
279
- if (isTraversal(content)) out.push(content);
280
- }
281
- const bare = command.replace(/["'][^"']*["']/g, " ").split(/[\s|&;<>()]+/);
282
- for (const token of bare) {
283
- if (!token || token.startsWith("/") || token.startsWith("~")) continue;
284
- if (isTraversal(token)) out.push(token);
295
+ let cwd = normalize(resolve(workdir));
296
+ let quote = null;
297
+ let word = "";
298
+ let quoted = false;
299
+ let expectCdTarget = false;
300
+ const n = masked.length;
301
+ const flush = () => {
302
+ if (word) {
303
+ const isTraversal = !word.startsWith("/") && !word.startsWith("~") && TRAVERSAL_SEGMENT_RE.test(word);
304
+ if (expectCdTarget) {
305
+ expectCdTarget = false;
306
+ if (!quoted && CD_NON_TARGET_KEYWORDS.has(word)) {
307
+ } else {
308
+ if (isTraversal) out.push(normalize(resolve(cwd, word)));
309
+ cwd = applyCdTarget(cwd, word);
310
+ }
311
+ } else if (!quoted && (word === "cd" || word === "pushd")) {
312
+ expectCdTarget = true;
313
+ } else if (isTraversal) {
314
+ out.push(normalize(resolve(cwd, word)));
315
+ }
316
+ }
317
+ word = "";
318
+ quoted = false;
319
+ };
320
+ for (let i = 0; i < n; i++) {
321
+ const ch = masked[i];
322
+ if (quote !== null) {
323
+ if (ch === "\\" && quote !== "'") {
324
+ word += masked[i + 1] ?? "";
325
+ i += 1;
326
+ continue;
327
+ }
328
+ if (ch === quote) {
329
+ quote = null;
330
+ quoted = true;
331
+ continue;
332
+ }
333
+ word += ch;
334
+ continue;
335
+ }
336
+ if (ch === "'" || ch === '"' || ch === "`") {
337
+ quote = ch;
338
+ continue;
339
+ }
340
+ if (ch === "\\") {
341
+ word += masked[i + 1] ?? "";
342
+ i += 1;
343
+ continue;
344
+ }
345
+ if (/[\s&|;<>()]/.test(ch)) {
346
+ flush();
347
+ continue;
348
+ }
349
+ word += ch;
285
350
  }
351
+ flush();
286
352
  return [...new Set(out)];
287
353
  }
288
- function extractAbsolutePathsFromCommand(command) {
289
- if (!command.trim()) {
290
- return [];
291
- }
292
- const paths = [];
293
- const home = homedir();
294
- const posixShell = usesPosixPaths();
354
+ function maskCommandForPathScan(command) {
295
355
  let sanitized = command.replace(/https?:\/\/[^\s'"]+/g, " __URL__ ").replace(/ftp:\/\/[^\s'"]+/g, " __URL__ ");
296
356
  sanitized = sanitized.replace(/(?<!\w)s\/[^/]*\/[^/]*\/[gip]*/g, " __SED__ ");
297
357
  sanitized = sanitized.replace(/(?<!\w)s\|[^|]*\|[^|]*\|[gip]*/g, " __SED__ ");
@@ -299,8 +359,18 @@ function extractAbsolutePathsFromCommand(command) {
299
359
  sanitized = maskRegexAddresses(sanitized);
300
360
  sanitized = sanitized.replace(
301
361
  /git\s+commit\b.*?(?:-(?:[a-zA-Z]*m)(?=\s)|--message)\s+(["'])(?:(?!\1).)*\1/g,
302
- (match2) => match2.replace(/\/[^\s"'|&;<>`()]+/g, " __COMMIT_MSG__ ")
362
+ (match) => match.replace(/\/[^\s"'|&;<>`()]+/g, " __COMMIT_MSG__ ")
303
363
  );
364
+ return sanitized;
365
+ }
366
+ function extractAbsolutePathsFromCommand(command) {
367
+ if (!command.trim()) {
368
+ return [];
369
+ }
370
+ const paths = [];
371
+ const home = homedir();
372
+ const posixShell = usesPosixPaths();
373
+ const sanitized = maskCommandForPathScan(command);
304
374
  const fileUrlMatches = command.matchAll(/file:\/\/([^\s'"]+)/g);
305
375
  for (const match2 of fileUrlMatches) {
306
376
  const filePath = match2[1];
@@ -308,11 +378,11 @@ function extractAbsolutePathsFromCommand(command) {
308
378
  paths.push(normalizeExtracted(filePath));
309
379
  }
310
380
  }
311
- sanitized = sanitized.replace(/file:\/\/[^\s'"]+/g, " __FILEURL__ ");
312
- paths.push(...extractUnquotedTildePaths(sanitized, home));
381
+ const scanCommand = sanitized.replace(/file:\/\/[^\s'"]+/g, " __FILEURL__ ");
382
+ paths.push(...extractUnquotedTildePaths(scanCommand, home));
313
383
  const quotedPattern = /["']([^"']+)["']/g;
314
384
  let match;
315
- while ((match = quotedPattern.exec(sanitized)) !== null) {
385
+ while ((match = quotedPattern.exec(scanCommand)) !== null) {
316
386
  const content = match[1];
317
387
  if (content.startsWith("/") && content.endsWith("/")) {
318
388
  continue;
@@ -334,7 +404,7 @@ function extractAbsolutePathsFromCommand(command) {
334
404
  }
335
405
  if (isWindows()) {
336
406
  const winAbsolutePattern = /(?:^|[\s=(])([A-Za-z]:[\\/][^\s"'|&;<>`()]+)/g;
337
- while ((match = winAbsolutePattern.exec(sanitized)) !== null) {
407
+ while ((match = winAbsolutePattern.exec(scanCommand)) !== null) {
338
408
  const candidate = match[1];
339
409
  if (isPlaceholderToken(candidate)) continue;
340
410
  const resolved = normalizeExtracted(candidate);
@@ -346,10 +416,19 @@ function extractAbsolutePathsFromCommand(command) {
346
416
  if (posixShell) {
347
417
  const absolutePattern = /(?:^|[\s=(])(\/[^\s"'|&;<>`()]+)/g;
348
418
  const rootPattern = /(?:^|[\s=(])\/(?=$|[\s'"`|&;,<()])/g;
349
- if (rootPattern.test(sanitized)) {
419
+ let isRoot = false;
420
+ for (const match2 of scanCommand.matchAll(rootPattern)) {
421
+ const rest = scanCommand.slice(match2.index + match2[0].length);
422
+ if (/^\s+[0-9]/.test(rest) && !/^\s+[0-9]+[>]/.test(rest)) {
423
+ continue;
424
+ }
425
+ isRoot = true;
426
+ break;
427
+ }
428
+ if (isRoot) {
350
429
  paths.push("/");
351
430
  }
352
- while ((match = absolutePattern.exec(sanitized)) !== null) {
431
+ while ((match = absolutePattern.exec(scanCommand)) !== null) {
353
432
  const candidate = match[1];
354
433
  if (isPlaceholderToken(candidate)) continue;
355
434
  if (looksLikeRegex(candidate)) continue;
@@ -360,7 +439,6 @@ function extractAbsolutePathsFromCommand(command) {
360
439
  }
361
440
  }
362
441
  }
363
- paths.push(...extractRelativeTraversals(sanitized));
364
442
  return [...new Set(paths)];
365
443
  }
366
444
  function extractSensitivePathsFromCommand(command) {
@@ -656,6 +734,7 @@ export {
656
734
  isPathAllowed,
657
735
  clearAllowedPaths,
658
736
  isPathWithinSandbox,
737
+ resolveRelativeTraversals,
659
738
  extractAbsolutePathsFromCommand,
660
739
  extractSensitivePathsFromCommand,
661
740
  checkPathsAccess,
@@ -671,4 +750,4 @@ export {
671
750
  getConfirmationSessionId,
672
751
  getPendingConfirmationsBySession
673
752
  };
674
- //# sourceMappingURL=chunk-INOO465O.js.map
753
+ //# sourceMappingURL=chunk-KD4W3I6C.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  runAgentTurn
3
- } from "./chunk-V2UJP5CX.js";
3
+ } from "./chunk-QJNBQCAF.js";
4
4
  import {
5
5
  executeSubAgent,
6
6
  getToolRegistryForAgent
7
- } from "./chunk-4L7UMEHD.js";
7
+ } from "./chunk-5CCM655F.js";
8
8
  import {
9
9
  TurnMetrics,
10
10
  createMessageStartEvent
@@ -27,7 +27,7 @@ import {
27
27
  loadProjectWorkflows,
28
28
  loadUserWorkflows,
29
29
  normalizeWorkflowScope
30
- } from "./chunk-SS6KV6DI.js";
30
+ } from "./chunk-UGEFD67O.js";
31
31
  import {
32
32
  getCurrentContextWindowId,
33
33
  getEventStore
@@ -1002,4 +1002,4 @@ export {
1002
1002
  abortRunnerRun,
1003
1003
  launchWorkflowRun
1004
1004
  };
1005
- //# sourceMappingURL=chunk-ZKMZI4ZG.js.map
1005
+ //# sourceMappingURL=chunk-KGFERMCV.js.map
@@ -4,12 +4,12 @@ import {
4
4
  getToolRegistryForAgent,
5
5
  processEventsForConversation,
6
6
  runTopLevelAgentLoop
7
- } from "./chunk-4L7UMEHD.js";
7
+ } from "./chunk-5CCM655F.js";
8
8
  import {
9
9
  buildCachedPrompt,
10
10
  computeDynamicContextHash,
11
11
  getToolFingerprint
12
- } from "./chunk-PZUKG3OZ.js";
12
+ } from "./chunk-FAL4WO4V.js";
13
13
  import {
14
14
  getAllInstructions,
15
15
  getEnabledSkillMetadata
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk-GIJUWPRQ.js";
26
26
  import {
27
27
  PathAccessDeniedError
28
- } from "./chunk-INOO465O.js";
28
+ } from "./chunk-KD4W3I6C.js";
29
29
  import {
30
30
  getCurrentContextWindowId,
31
31
  getCurrentWindowMessageOptions,
@@ -329,4 +329,4 @@ export {
329
329
  runChatTurn,
330
330
  runAgentTurn
331
331
  };
332
- //# sourceMappingURL=chunk-V2UJP5CX.js.map
332
+ //# sourceMappingURL=chunk-QJNBQCAF.js.map
@@ -163,7 +163,7 @@ async function runCli(options) {
163
163
  break;
164
164
  }
165
165
  case "provider": {
166
- const { runProviderCommand } = await import("./provider-EBL6Z7TV.js");
166
+ const { runProviderCommand } = await import("./provider-LICG53GG.js");
167
167
  const [, subcommand] = positionals;
168
168
  await runProviderCommand(mode, subcommand);
169
169
  break;
@@ -200,7 +200,7 @@ async function runCli(options) {
200
200
  break;
201
201
  }
202
202
  case "update": {
203
- const { runUpdate } = await import("./update-VSSOHC47.js");
203
+ const { runUpdate } = await import("./update-R2TEHD7V.js");
204
204
  const code = await runUpdate();
205
205
  if (code !== 0) {
206
206
  process.exit(code);
@@ -213,7 +213,7 @@ async function runCli(options) {
213
213
  if (!configExists) {
214
214
  await runNetworkSetup(mode);
215
215
  }
216
- const { runServe } = await import("./serve-TARX23JF.js");
216
+ const { runServe } = await import("./serve-75G5Z7UQ.js");
217
217
  const serveOptions = { mode };
218
218
  if (values.port) serveOptions.port = parseInt(values.port);
219
219
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -225,4 +225,4 @@ async function runCli(options) {
225
225
  export {
226
226
  runCli
227
227
  };
228
- //# sourceMappingURL=chunk-YU5QPXSU.js.map
228
+ //# sourceMappingURL=chunk-RXLAFEZB.js.map
@@ -0,0 +1,7 @@
1
+ // src/constants.ts
2
+ var VERSION = "2.0.124";
3
+
4
+ export {
5
+ VERSION
6
+ };
7
+ //# sourceMappingURL=chunk-SBADOWVC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseDefaultModelSelection
3
- } from "./chunk-H4JRR5KV.js";
3
+ } from "./chunk-A6EZBX62.js";
4
4
  import {
5
5
  deleteItemFromDir,
6
6
  getDefaultIds,
@@ -1099,4 +1099,4 @@ export {
1099
1099
  isTaskGateError,
1100
1100
  createTasksService
1101
1101
  };
1102
- //# sourceMappingURL=chunk-SS6KV6DI.js.map
1102
+ //# sourceMappingURL=chunk-UGEFD67O.js.map
@@ -16,10 +16,10 @@ import {
16
16
  terminalManager,
17
17
  tokenFromPassword,
18
18
  verifyPassword
19
- } from "./chunk-YGOF4QDW.js";
19
+ } from "./chunk-57UCBFBD.js";
20
20
  import {
21
21
  TEMPLATE_VARIABLES
22
- } from "./chunk-ZKMZI4ZG.js";
22
+ } from "./chunk-KGFERMCV.js";
23
23
  import {
24
24
  createToolRegistry,
25
25
  devServerManager,
@@ -33,7 +33,7 @@ import {
33
33
  setMcpManagerForTools,
34
34
  setMcpTools,
35
35
  setNotifyMcpServersChanged
36
- } from "./chunk-4L7UMEHD.js";
36
+ } from "./chunk-5CCM655F.js";
37
37
  import {
38
38
  deleteOwnedSkill,
39
39
  deleteProjectSkill,
@@ -106,7 +106,7 @@ import {
106
106
  saveWorkflow,
107
107
  saveWorkflowToProject,
108
108
  workflowExists
109
- } from "./chunk-SS6KV6DI.js";
109
+ } from "./chunk-UGEFD67O.js";
110
110
  import {
111
111
  getSessionDisabledServers,
112
112
  setSessionDisabledServers
@@ -170,10 +170,10 @@ import {
170
170
  detectModel,
171
171
  getLlmStatus,
172
172
  parseDefaultModelSelection
173
- } from "./chunk-H4JRR5KV.js";
173
+ } from "./chunk-A6EZBX62.js";
174
174
  import {
175
175
  VERSION
176
- } from "./chunk-LXCDR3H5.js";
176
+ } from "./chunk-SBADOWVC.js";
177
177
  import {
178
178
  agentExists,
179
179
  deleteAgent,
@@ -223,7 +223,7 @@ import {
223
223
  } from "./chunk-OYBUJIC3.js";
224
224
  import {
225
225
  isReasoningEffortValue
226
- } from "./chunk-TPDBUOPN.js";
226
+ } from "./chunk-ISE55FOR.js";
227
227
  import {
228
228
  logger,
229
229
  setLogLevel
@@ -6058,7 +6058,7 @@ async function createServerHandle(config3) {
6058
6058
  toolRegistry = createToolRegistry();
6059
6059
  logger.info("MCP tools registered", { count: mcpTools.length });
6060
6060
  }
6061
- const { signalMcpReady } = await import("./server-FKVRW7RV.js");
6061
+ const { signalMcpReady } = await import("./server-N3VATHIA.js");
6062
6062
  signalMcpReady();
6063
6063
  });
6064
6064
  const app = express();
@@ -6254,9 +6254,9 @@ async function createServerHandle(config3) {
6254
6254
  const sessionFavoriteRouter = express.Router();
6255
6255
  registerSessionFavoriteRoute(sessionFavoriteRouter, sessionManager);
6256
6256
  app.use("/api", sessionFavoriteRouter);
6257
- const { createTasksService } = await import("./service-SY6Y4BIM.js");
6258
- const { registerTaskRoutes } = await import("./tasks-IDIKTBOR.js");
6259
- const { setTasksService } = await import("./tools-YPVZ5QM2.js");
6257
+ const { createTasksService } = await import("./service-OURGS2SI.js");
6258
+ const { registerTaskRoutes } = await import("./tasks-4SOLTX6A.js");
6259
+ const { setTasksService } = await import("./tools-G44LBKD4.js");
6260
6260
  const tasksService = createTasksService({
6261
6261
  sessionManager,
6262
6262
  config: config3,
@@ -6455,7 +6455,7 @@ All file and git operations should use this branch.
6455
6455
  });
6456
6456
  app.get("/api/sessions", async (req, res) => {
6457
6457
  const { getRecentUserPromptsForSession } = await import("./events-GMHRX4LF.js");
6458
- const { getPendingConfirmationsBySession } = await import("./path-security-NRO37OAP.js");
6458
+ const { getPendingConfirmationsBySession } = await import("./path-security-YTPZ35SL.js");
6459
6459
  const projectId = req.query["projectId"];
6460
6460
  const rawLimit = req.query["limit"];
6461
6461
  const offset = parseInt(req.query["offset"]) || 0;
@@ -6585,7 +6585,7 @@ All file and git operations should use this branch.
6585
6585
  app.get("/api/sessions/:id", async (req, res) => {
6586
6586
  const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-GMHRX4LF.js");
6587
6587
  const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-7K2GRPF4.js");
6588
- const { getPendingQuestionsForSession } = await import("./tools-YPVZ5QM2.js");
6588
+ const { getPendingQuestionsForSession } = await import("./tools-G44LBKD4.js");
6589
6589
  const { getMaxVisibleItems } = await import("./settings-VOWWO4VG.js");
6590
6590
  const session = sessionManager.getSession(req.params.id);
6591
6591
  if (!session) {
@@ -6614,7 +6614,7 @@ All file and git operations should use this branch.
6614
6614
  });
6615
6615
  app.get("/api/sessions/:id/status", async (req, res) => {
6616
6616
  const { projectSessionStatus } = await import("./session-status-6Q5B5PEN.js");
6617
- const { getPendingQuestionsForSession } = await import("./tools-YPVZ5QM2.js");
6617
+ const { getPendingQuestionsForSession } = await import("./tools-G44LBKD4.js");
6618
6618
  const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-GMHRX4LF.js");
6619
6619
  const { foldPendingConfirmations } = await import("./folding-7K2GRPF4.js");
6620
6620
  const sessionId = req.params["id"];
@@ -6646,8 +6646,8 @@ All file and git operations should use this branch.
6646
6646
  if (!session) {
6647
6647
  return res.status(404).json({ error: "Session not found" });
6648
6648
  }
6649
- const { stopSessionExecution } = await import("./chat-handler-UWZYFGRY.js");
6650
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-YPVZ5QM2.js");
6649
+ const { stopSessionExecution } = await import("./chat-handler-N43TBYLV.js");
6650
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-G44LBKD4.js");
6651
6651
  sessionManager.clearMessageQueue(sessionId);
6652
6652
  stopSessionExecution(sessionId, sessionManager);
6653
6653
  abortSession(sessionId);
@@ -6924,7 +6924,7 @@ All file and git operations should use this branch.
6924
6924
  if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
6925
6925
  return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
6926
6926
  }
6927
- const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-YPVZ5QM2.js");
6927
+ const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-G44LBKD4.js");
6928
6928
  const pendingSessionId = getConfirmationSessionId(callId);
6929
6929
  if (!pendingSessionId) {
6930
6930
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
@@ -6939,7 +6939,7 @@ All file and git operations should use this branch.
6939
6939
  const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-GMHRX4LF.js");
6940
6940
  const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-7K2GRPF4.js");
6941
6941
  const { createSessionStateMessage } = await import("./protocol-TLODRZSB.js");
6942
- const { getPendingQuestionsForSession } = await import("./tools-YPVZ5QM2.js");
6942
+ const { getPendingQuestionsForSession } = await import("./tools-G44LBKD4.js");
6943
6943
  const { getMaxVisibleItems } = await import("./settings-VOWWO4VG.js");
6944
6944
  const eventStore = getEventStore2();
6945
6945
  const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
@@ -6977,7 +6977,7 @@ All file and git operations should use this branch.
6977
6977
  if (!skip && typeof answer !== "string") {
6978
6978
  return res.status(400).json({ error: "answer is required when not skipping" });
6979
6979
  }
6980
- const { provideAnswer } = await import("./tools-YPVZ5QM2.js");
6980
+ const { provideAnswer } = await import("./tools-G44LBKD4.js");
6981
6981
  const found = provideAnswer(callId, answer ?? "", skip ?? false);
6982
6982
  if (!found) {
6983
6983
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -7043,7 +7043,7 @@ All file and git operations should use this branch.
7043
7043
  backend: activeProvider?.backend ?? llmClient.getBackend(),
7044
7044
  model: llmClient.getModel()
7045
7045
  };
7046
- const { runAgentTurn, TurnMetrics } = await import("./orchestrator-2Q3R5KKR.js");
7046
+ const { runAgentTurn, TurnMetrics } = await import("./orchestrator-BQBBO4US.js");
7047
7047
  runAgentTurn(
7048
7048
  {
7049
7049
  sessionManager,
@@ -7081,8 +7081,8 @@ All file and git operations should use this branch.
7081
7081
  if (!session) {
7082
7082
  return res.status(404).json({ error: "Session not found" });
7083
7083
  }
7084
- const { stopSessionExecution } = await import("./chat-handler-UWZYFGRY.js");
7085
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-YPVZ5QM2.js");
7084
+ const { stopSessionExecution } = await import("./chat-handler-N43TBYLV.js");
7085
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-G44LBKD4.js");
7086
7086
  const queuedMessages = sessionManager.getQueueState(sessionId);
7087
7087
  sessionManager.clearMessageQueue(sessionId);
7088
7088
  stopSessionExecution(sessionId, sessionManager);
@@ -7461,9 +7461,9 @@ All file and git operations should use this branch.
7461
7461
  const backend = req.query["backend"];
7462
7462
  if (!url) return res.status(400).json({ error: "url is required" });
7463
7463
  try {
7464
- const { fetchModelsWithContext } = await import("./provider-manager-MKF27CTA.js");
7464
+ const { fetchModelsWithContext } = await import("./provider-manager-3QC2MSSR.js");
7465
7465
  const { getModelProfile: getModelProfile2 } = await import("./profiles-3YLLEJ2B.js");
7466
- const { getCatalogEntry } = await import("./model-catalog-T2GQFJI4.js");
7466
+ const { getCatalogEntry } = await import("./model-catalog-ZLOWTQA7.js");
7467
7467
  const models = await fetchModelsWithContext(
7468
7468
  url,
7469
7469
  apiKey,
@@ -7500,7 +7500,7 @@ All file and git operations should use this branch.
7500
7500
  if (!url) return res.status(400).json({ error: "url is required" });
7501
7501
  if (!models?.length) return res.status(400).json({ error: "models is required" });
7502
7502
  try {
7503
- const { autoConfig } = await import("./auto-config-4BFGLPCP.js");
7503
+ const { autoConfig } = await import("./auto-config-454YE6KC.js");
7504
7504
  const result = await autoConfig({
7505
7505
  url,
7506
7506
  ...apiKey ? { apiKey } : {},
@@ -7926,7 +7926,7 @@ All file and git operations should use this branch.
7926
7926
  });
7927
7927
  async function rebuildMcpTools() {
7928
7928
  const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-FJAFLDZA.js");
7929
- const { setMcpTools: setMcpTools2 } = await import("./tools-YPVZ5QM2.js");
7929
+ const { setMcpTools: setMcpTools2 } = await import("./tools-G44LBKD4.js");
7930
7930
  const mcpTools = createMcpTools2(mcpManager);
7931
7931
  setMcpTools2(mcpTools);
7932
7932
  toolRegistry = createToolRegistry();
@@ -8480,7 +8480,7 @@ All file and git operations should use this branch.
8480
8480
  );
8481
8481
  const wss = wssExports.wss;
8482
8482
  deferTasksBroadcast = (projectId, payload) => wssExports.broadcastForProject(projectId, "", { type: "tasks.update", payload });
8483
- const { launchWorkflowRun, abortRunnerRun } = await import("./launch-5PJLLVXV.js");
8483
+ const { launchWorkflowRun, abortRunnerRun } = await import("./launch-Z5D5YFRJ.js");
8484
8484
  deferTasksLaunchWorkflow = (sessionId, launch) => {
8485
8485
  const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
8486
8486
  let llmClient = getLLMClient();
@@ -8520,7 +8520,7 @@ All file and git operations should use this branch.
8520
8520
  const state = sessionManager.getContextState(sessionId);
8521
8521
  wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
8522
8522
  });
8523
- const { QueueProcessor } = await import("./processor-N2XW2KJV.js");
8523
+ const { QueueProcessor } = await import("./processor-WTRVYXAO.js");
8524
8524
  const queueProcessor = new QueueProcessor({
8525
8525
  sessionManager,
8526
8526
  providerManager,
@@ -8606,4 +8606,4 @@ export {
8606
8606
  createServerHandle,
8607
8607
  createServer
8608
8608
  };
8609
- //# sourceMappingURL=chunk-FFEZJBQO.js.map
8609
+ //# sourceMappingURL=chunk-VUBFPRKT.js.map
package/dist/cli/dev.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-YU5QPXSU.js";
4
+ } from "../chunk-RXLAFEZB.js";
5
5
  import "../chunk-AGXJ5O63.js";
6
6
  import {
7
7
  logger
package/dist/cli/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-YU5QPXSU.js";
4
+ } from "../chunk-RXLAFEZB.js";
5
5
  import "../chunk-AGXJ5O63.js";
6
6
  import {
7
7
  logger
@@ -5,7 +5,7 @@ import {
5
5
  computeSessionHash,
6
6
  computeUnifiedDiff,
7
7
  getToolFingerprint
8
- } from "./chunk-PZUKG3OZ.js";
8
+ } from "./chunk-FAL4WO4V.js";
9
9
  import "./chunk-ZIL6VKLU.js";
10
10
  import "./chunk-GIJUWPRQ.js";
11
11
  import "./chunk-66MG44TF.js";
@@ -25,4 +25,4 @@ export {
25
25
  computeUnifiedDiff,
26
26
  getToolFingerprint
27
27
  };
28
- //# sourceMappingURL=dynamic-context-5TPG2AJL.js.map
28
+ //# sourceMappingURL=dynamic-context-KTQCAPTK.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  abortRunnerRun,
3
3
  launchWorkflowRun
4
- } from "./chunk-ZKMZI4ZG.js";
5
- import "./chunk-V2UJP5CX.js";
6
- import "./chunk-4L7UMEHD.js";
7
- import "./chunk-PZUKG3OZ.js";
4
+ } from "./chunk-KGFERMCV.js";
5
+ import "./chunk-QJNBQCAF.js";
6
+ import "./chunk-5CCM655F.js";
7
+ import "./chunk-FAL4WO4V.js";
8
8
  import "./chunk-ZIL6VKLU.js";
9
9
  import "./chunk-62GUO2EG.js";
10
10
  import "./chunk-GIJUWPRQ.js";
@@ -15,9 +15,9 @@ import "./chunk-JE7LW7Y6.js";
15
15
  import "./chunk-OAN4BXEW.js";
16
16
  import "./chunk-3NMLSANH.js";
17
17
  import "./chunk-J7GAZGZT.js";
18
- import "./chunk-SS6KV6DI.js";
18
+ import "./chunk-UGEFD67O.js";
19
19
  import "./chunk-7YP4O4XE.js";
20
- import "./chunk-INOO465O.js";
20
+ import "./chunk-KD4W3I6C.js";
21
21
  import "./chunk-YJD5A375.js";
22
22
  import "./chunk-ZIYETXOW.js";
23
23
  import "./chunk-AQBRI7TM.js";
@@ -25,7 +25,7 @@ import "./chunk-XAAEP5XM.js";
25
25
  import "./chunk-66MG44TF.js";
26
26
  import "./chunk-JURM3RPZ.js";
27
27
  import "./chunk-LCLH6ZUL.js";
28
- import "./chunk-H4JRR5KV.js";
28
+ import "./chunk-A6EZBX62.js";
29
29
  import "./chunk-K2QKX4ZJ.js";
30
30
  import "./chunk-J2GP3J3X.js";
31
31
  import "./chunk-KBESUA3W.js";
@@ -39,7 +39,7 @@ import "./chunk-MIPQOHWS.js";
39
39
  import "./chunk-VPRB5FNR.js";
40
40
  import "./chunk-N2Q3KYWM.js";
41
41
  import "./chunk-OYBUJIC3.js";
42
- import "./chunk-TPDBUOPN.js";
42
+ import "./chunk-ISE55FOR.js";
43
43
  import "./chunk-K44MW7JJ.js";
44
44
  import "./chunk-7OHXF5GW.js";
45
45
  import "./chunk-KSDWQ6IZ.js";
@@ -50,4 +50,4 @@ export {
50
50
  abortRunnerRun,
51
51
  launchWorkflowRun
52
52
  };
53
- //# sourceMappingURL=launch-5PJLLVXV.js.map
53
+ //# sourceMappingURL=launch-Z5D5YFRJ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  getCatalogDefaultEffort,
4
4
  getCatalogEntry,
5
5
  isReasoningEffortValue
6
- } from "./chunk-TPDBUOPN.js";
6
+ } from "./chunk-ISE55FOR.js";
7
7
  import "./chunk-YLJ4XMA6.js";
8
8
  export {
9
9
  REASONING_EFFORT_VALUES,
@@ -11,4 +11,4 @@ export {
11
11
  getCatalogEntry,
12
12
  isReasoningEffortValue
13
13
  };
14
- //# sourceMappingURL=model-catalog-T2GQFJI4.js.map
14
+ //# sourceMappingURL=model-catalog-ZLOWTQA7.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  runAgentTurn,
3
3
  runChatTurn
4
- } from "./chunk-V2UJP5CX.js";
5
- import "./chunk-4L7UMEHD.js";
6
- import "./chunk-PZUKG3OZ.js";
4
+ } from "./chunk-QJNBQCAF.js";
5
+ import "./chunk-5CCM655F.js";
6
+ import "./chunk-FAL4WO4V.js";
7
7
  import "./chunk-ZIL6VKLU.js";
8
8
  import {
9
9
  TurnMetrics,
@@ -21,9 +21,9 @@ import "./chunk-JE7LW7Y6.js";
21
21
  import "./chunk-OAN4BXEW.js";
22
22
  import "./chunk-3NMLSANH.js";
23
23
  import "./chunk-J7GAZGZT.js";
24
- import "./chunk-SS6KV6DI.js";
24
+ import "./chunk-UGEFD67O.js";
25
25
  import "./chunk-7YP4O4XE.js";
26
- import "./chunk-INOO465O.js";
26
+ import "./chunk-KD4W3I6C.js";
27
27
  import "./chunk-YJD5A375.js";
28
28
  import "./chunk-ZIYETXOW.js";
29
29
  import "./chunk-AQBRI7TM.js";
@@ -31,7 +31,7 @@ import "./chunk-XAAEP5XM.js";
31
31
  import "./chunk-66MG44TF.js";
32
32
  import "./chunk-JURM3RPZ.js";
33
33
  import "./chunk-LCLH6ZUL.js";
34
- import "./chunk-H4JRR5KV.js";
34
+ import "./chunk-A6EZBX62.js";
35
35
  import "./chunk-K2QKX4ZJ.js";
36
36
  import "./chunk-J2GP3J3X.js";
37
37
  import "./chunk-KBESUA3W.js";
@@ -45,7 +45,7 @@ import "./chunk-MIPQOHWS.js";
45
45
  import "./chunk-VPRB5FNR.js";
46
46
  import "./chunk-N2Q3KYWM.js";
47
47
  import "./chunk-OYBUJIC3.js";
48
- import "./chunk-TPDBUOPN.js";
48
+ import "./chunk-ISE55FOR.js";
49
49
  import "./chunk-K44MW7JJ.js";
50
50
  import "./chunk-KSDWQ6IZ.js";
51
51
  import "./chunk-KSXCOHHW.js";
@@ -61,4 +61,4 @@ export {
61
61
  runAgentTurn,
62
62
  runChatTurn
63
63
  };
64
- //# sourceMappingURL=orchestrator-2Q3R5KKR.js.map
64
+ //# sourceMappingURL=orchestrator-BQBBO4US.js.map