openfox 1.6.90 → 1.6.92

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 (40) hide show
  1. package/dist/{auto-compaction-6A34RHDV.js → auto-compaction-7AGIGW6F.js} +7 -7
  2. package/dist/{chat-handler-6ATTKNZT.js → chat-handler-UPAEF6HR.js} +10 -10
  3. package/dist/{chunk-ZORPFD4C.js → chunk-2BS6LMIU.js} +507 -474
  4. package/dist/{chunk-N7W42N5Y.js → chunk-2TKN2X2A.js} +3 -3
  5. package/dist/{chunk-7WHJUQ4Y.js → chunk-7KO2BQFQ.js} +9 -8
  6. package/dist/{chunk-6GGYIEBM.js → chunk-7QG6LY5Q.js} +3 -3
  7. package/dist/{chunk-UEZDAB5X.js → chunk-ARJIHQ3S.js} +240 -143
  8. package/dist/{chunk-TLOL4I7K.js → chunk-BHZL3N2F.js} +3 -3
  9. package/dist/{chunk-WSRF5L3S.js → chunk-CHICEUV6.js} +3 -3
  10. package/dist/{chunk-RCECKE5L.js → chunk-PQCFNTFJ.js} +15 -9
  11. package/dist/{chunk-YNIAFX24.js → chunk-RJIPM7CO.js} +4 -4
  12. package/dist/{chunk-B5AP3RSV.js → chunk-RW25DL5R.js} +3 -3
  13. package/dist/{chunk-JDDNBK6T.js → chunk-WBQNIWAQ.js} +5 -5
  14. package/dist/{chunk-DF5BZBP6.js → chunk-XGJ7HDQ7.js} +2 -2
  15. package/dist/{chunk-6P5WQP6Y.js → chunk-YTPPQK55.js} +2 -2
  16. package/dist/cli/dev.js +1 -1
  17. package/dist/cli/index.js +1 -1
  18. package/dist/{config-HMMPXQ46.js → config-7XJQNOKX.js} +5 -5
  19. package/dist/{events-AQKDXJFK.js → events-K6AYMXFT.js} +3 -3
  20. package/dist/{orchestrator-YUAFANFC.js → orchestrator-M4WINFF3.js} +8 -8
  21. package/dist/package.json +1 -1
  22. package/dist/{processor-4SOP4Q6S.js → processor-D4XQ5QMB.js} +5 -5
  23. package/dist/{protocol--8PKNwb_.d.ts → protocol-XRiJzlOK.d.ts} +1 -1
  24. package/dist/{provider-LDZFYLK6.js → provider-UO5PAZQQ.js} +7 -7
  25. package/dist/{runtime-config-CBJJJGBD.js → runtime-config-CYHDAC7W.js} +2 -2
  26. package/dist/{serve-YO7HQKUD.js → serve-Z5FNJUDT.js} +12 -12
  27. package/dist/server/index.d.ts +2 -1
  28. package/dist/server/index.js +10 -10
  29. package/dist/{service-TU4XSXYJ.js → service-3CLVG2HV.js} +20 -2
  30. package/dist/{settings-VTVOBDYG.js → settings-AYSWDZUI.js} +2 -2
  31. package/dist/shared/index.d.ts +2 -2
  32. package/dist/{tools-7MGUWXDP.js → tools-NFFQWH6M.js} +7 -7
  33. package/dist/{vision-fallback-WT66NURB.js → vision-fallback-GZZWU7CR.js} +2 -2
  34. package/dist/web/assets/{index-7tHnjaI4.css → index-CM0cLwa6.css} +2 -2
  35. package/dist/web/assets/index-SkaCnTiV.js +176 -0
  36. package/dist/web/index.html +2 -2
  37. package/dist/web/sw.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/web/assets/index-CdF408Qk.js +0 -158
  40. /package/dist/web/{workbox-8c29f6e4.js → workbox-7fc22fbe.js} +0 -0
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  detectModel
3
- } from "./chunk-JDDNBK6T.js";
3
+ } from "./chunk-WBQNIWAQ.js";
4
4
  import {
5
5
  detectBackend
6
- } from "./chunk-YNIAFX24.js";
6
+ } from "./chunk-RJIPM7CO.js";
7
7
  import {
8
8
  getGlobalConfigPath
9
9
  } from "./chunk-CQGTEGKL.js";
@@ -435,4 +435,4 @@ export {
435
435
  activateProvider,
436
436
  mergeConfigs
437
437
  };
438
- //# sourceMappingURL=chunk-TLOL4I7K.js.map
438
+ //# sourceMappingURL=chunk-BHZL3N2F.js.map
@@ -29,8 +29,8 @@ function isVisionFallbackEnabled() {
29
29
  async function ensureVisionFallbackConfigLoaded() {
30
30
  if (configLoaded) return;
31
31
  try {
32
- const { loadGlobalConfig, getVisionFallback } = await import("./config-HMMPXQ46.js");
33
- const { getRuntimeConfig } = await import("./runtime-config-CBJJJGBD.js");
32
+ const { loadGlobalConfig, getVisionFallback } = await import("./config-7XJQNOKX.js");
33
+ const { getRuntimeConfig } = await import("./runtime-config-CYHDAC7W.js");
34
34
  const runtimeConfig = getRuntimeConfig();
35
35
  const mode = runtimeConfig.mode ?? "production";
36
36
  const globalConfig = await loadGlobalConfig(mode);
@@ -137,4 +137,4 @@ export {
137
137
  describeImage,
138
138
  describeImageFromDataUrl
139
139
  };
140
- //# sourceMappingURL=chunk-WSRF5L3S.js.map
140
+ //# sourceMappingURL=chunk-CHICEUV6.js.map
@@ -11,7 +11,8 @@ var SETTINGS_KEYS = {
11
11
  DISPLAY_SHOW_AGENT_DEFINITIONS: "display.showAgentDefinitions",
12
12
  DISPLAY_SHOW_WORKFLOW_BARS: "display.showWorkflowBars",
13
13
  DISPLAY_THEME: "display.theme",
14
- DISPLAY_USER_PRESETS: "display.userPresets"
14
+ DISPLAY_USER_PRESETS: "display.userPresets",
15
+ LLM_DISABLE_XML_PROTECTION: "llm.disableXmlProtection"
15
16
  };
16
17
  var SETTINGS_DEFAULTS = {
17
18
  [SETTINGS_KEYS.DISPLAY_SHOW_THINKING]: "true",
@@ -19,16 +20,21 @@ var SETTINGS_DEFAULTS = {
19
20
  [SETTINGS_KEYS.DISPLAY_SHOW_STATS]: "true",
20
21
  [SETTINGS_KEYS.DISPLAY_SHOW_AGENT_DEFINITIONS]: "true",
21
22
  [SETTINGS_KEYS.DISPLAY_SHOW_WORKFLOW_BARS]: "true",
22
- [SETTINGS_KEYS.DISPLAY_THEME]: JSON.stringify({ preset: "dark" })
23
+ [SETTINGS_KEYS.DISPLAY_THEME]: JSON.stringify({ preset: "dark" }),
24
+ [SETTINGS_KEYS.LLM_DISABLE_XML_PROTECTION]: "false"
23
25
  };
24
26
  function getSetting(key) {
25
- const db = getDatabase();
26
- const row = db.prepare(
27
+ try {
28
+ const db = getDatabase();
29
+ const row = db.prepare(
30
+ `
31
+ SELECT value FROM settings WHERE key = ?
27
32
  `
28
- SELECT value FROM settings WHERE key = ?
29
- `
30
- ).get(key);
31
- return row?.value ?? null;
33
+ ).get(key);
34
+ return row?.value ?? null;
35
+ } catch {
36
+ return null;
37
+ }
32
38
  }
33
39
  function setSetting(key, value) {
34
40
  const db = getDatabase();
@@ -63,4 +69,4 @@ export {
63
69
  deleteSetting,
64
70
  getAllSettings
65
71
  };
66
- //# sourceMappingURL=chunk-RCECKE5L.js.map
72
+ //# sourceMappingURL=chunk-PQCFNTFJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  describeImageFromDataUrl
3
- } from "./chunk-WSRF5L3S.js";
3
+ } from "./chunk-CHICEUV6.js";
4
4
  import {
5
5
  logger
6
6
  } from "./chunk-K44MW7JJ.js";
@@ -714,7 +714,7 @@ async function* streamWithSegments(client, request) {
714
714
  flushThinking();
715
715
  content += event.content;
716
716
  currentTextSegment += event.content;
717
- if (hasXmlToolPattern(content)) {
717
+ if (!request.disableXmlProtection && hasXmlToolPattern(content)) {
718
718
  xmlAbortController.abort();
719
719
  yield { type: "xml_tool_abort" };
720
720
  return null;
@@ -728,7 +728,7 @@ async function* streamWithSegments(client, request) {
728
728
  flushText();
729
729
  thinkingContent += event.content;
730
730
  currentThinkingSegment += event.content;
731
- if (hasXmlToolPattern(thinkingContent)) {
731
+ if (!request.disableXmlProtection && hasXmlToolPattern(thinkingContent)) {
732
732
  xmlAbortController.abort();
733
733
  yield { type: "xml_tool_abort" };
734
734
  return null;
@@ -801,4 +801,4 @@ export {
801
801
  extractThinking,
802
802
  streamWithSegments
803
803
  };
804
- //# sourceMappingURL=chunk-YNIAFX24.js.map
804
+ //# sourceMappingURL=chunk-RJIPM7CO.js.map
@@ -9,7 +9,7 @@ var envSchema = z.object({
9
9
  OPENFOX_MODEL_NAME: z.string().default("qwen3.5-122b-int4-autoround"),
10
10
  OPENFOX_MAX_CONTEXT: z.coerce.number().default(2e5),
11
11
  OPENFOX_PORT: z.coerce.number().default(10369),
12
- OPENFOX_HOST: z.string().default("0.0.0.0"),
12
+ OPENFOX_HOST: z.string().optional(),
13
13
  OPENFOX_WORKDIR: z.string().optional(),
14
14
  OPENFOX_DB_PATH: z.string().default("./openfox.db"),
15
15
  OPENFOX_LOG_LEVEL: z.enum(["debug", "info", "warn", "error"]).default("info"),
@@ -43,7 +43,7 @@ function loadConfig() {
43
43
  },
44
44
  server: {
45
45
  port: env.OPENFOX_PORT,
46
- host: env.OPENFOX_HOST
46
+ ...env.OPENFOX_HOST !== void 0 ? { host: env.OPENFOX_HOST } : {}
47
47
  },
48
48
  database: {
49
49
  path: env.OPENFOX_DB_PATH
@@ -67,4 +67,4 @@ export {
67
67
  setRuntimeConfig,
68
68
  getRuntimeConfig
69
69
  };
70
- //# sourceMappingURL=chunk-B5AP3RSV.js.map
70
+ //# sourceMappingURL=chunk-RW25DL5R.js.map
@@ -5,10 +5,10 @@ import {
5
5
  getBackendCapabilities,
6
6
  getModelProfile,
7
7
  mapFinishReason
8
- } from "./chunk-YNIAFX24.js";
8
+ } from "./chunk-RJIPM7CO.js";
9
9
  import {
10
10
  ensureVisionFallbackConfigLoaded
11
- } from "./chunk-WSRF5L3S.js";
11
+ } from "./chunk-CHICEUV6.js";
12
12
  import {
13
13
  logger
14
14
  } from "./chunk-K44MW7JJ.js";
@@ -188,7 +188,7 @@ function createLLMClient(config, initialBackend = "unknown") {
188
188
  try {
189
189
  const shouldDisableThinking = disableThinking || request.disableThinking === true;
190
190
  await ensureVisionFallbackConfigLoaded();
191
- const { isVisionFallbackEnabled } = await import("./vision-fallback-WT66NURB.js");
191
+ const { isVisionFallbackEnabled } = await import("./vision-fallback-GZZWU7CR.js");
192
192
  const paramsOptions = {
193
193
  model,
194
194
  request,
@@ -265,7 +265,7 @@ function createLLMClient(config, initialBackend = "unknown") {
265
265
  });
266
266
  try {
267
267
  await ensureVisionFallbackConfigLoaded();
268
- const { isVisionFallbackEnabled } = await import("./vision-fallback-WT66NURB.js");
268
+ const { isVisionFallbackEnabled } = await import("./vision-fallback-GZZWU7CR.js");
269
269
  const shouldDisableThinking = disableThinking || request.disableThinking === true;
270
270
  const createParams = await buildStreamingCreateParams({
271
271
  model,
@@ -478,4 +478,4 @@ export {
478
478
  getLlmStatus,
479
479
  clearModelCache
480
480
  };
481
- //# sourceMappingURL=chunk-JDDNBK6T.js.map
481
+ //# sourceMappingURL=chunk-WBQNIWAQ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getEventStore,
3
3
  updateSessionMetadata
4
- } from "./chunk-6P5WQP6Y.js";
4
+ } from "./chunk-YTPPQK55.js";
5
5
  import {
6
6
  buildMessagesFromStoredEvents,
7
7
  foldPendingConfirmations
@@ -143,4 +143,4 @@ export {
143
143
  needsNameGenerationCheck,
144
144
  applyGeneratedSessionName
145
145
  };
146
- //# sourceMappingURL=chunk-DF5BZBP6.js.map
146
+ //# sourceMappingURL=chunk-XGJ7HDQ7.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-XVWVAWSG.js";
13
13
  import {
14
14
  getRuntimeConfig
15
- } from "./chunk-B5AP3RSV.js";
15
+ } from "./chunk-RW25DL5R.js";
16
16
  import {
17
17
  logger
18
18
  } from "./chunk-K44MW7JJ.js";
@@ -1283,4 +1283,4 @@ export {
1283
1283
  compactContext,
1284
1284
  getRecentUserPromptsForSession
1285
1285
  };
1286
- //# sourceMappingURL=chunk-6P5WQP6Y.js.map
1286
+ //# sourceMappingURL=chunk-YTPPQK55.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-7WHJUQ4Y.js";
4
+ } from "../chunk-7KO2BQFQ.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
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-7WHJUQ4Y.js";
4
+ } from "../chunk-7KO2BQFQ.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
@@ -13,11 +13,11 @@ import {
13
13
  saveGlobalConfig,
14
14
  setDefaultModelSelection,
15
15
  trySmartDefaults
16
- } from "./chunk-TLOL4I7K.js";
17
- import "./chunk-JDDNBK6T.js";
18
- import "./chunk-YNIAFX24.js";
16
+ } from "./chunk-BHZL3N2F.js";
17
+ import "./chunk-WBQNIWAQ.js";
18
+ import "./chunk-RJIPM7CO.js";
19
19
  import "./chunk-CQGTEGKL.js";
20
- import "./chunk-WSRF5L3S.js";
20
+ import "./chunk-CHICEUV6.js";
21
21
  import "./chunk-K44MW7JJ.js";
22
22
  export {
23
23
  activateProvider,
@@ -35,4 +35,4 @@ export {
35
35
  setDefaultModelSelection,
36
36
  trySmartDefaults
37
37
  };
38
- //# sourceMappingURL=config-HMMPXQ46.js.map
38
+ //# sourceMappingURL=config-7XJQNOKX.js.map
@@ -37,7 +37,7 @@ import {
37
37
  isStoredEvent,
38
38
  isTurnEvent,
39
39
  truncateSessionMessages
40
- } from "./chunk-6P5WQP6Y.js";
40
+ } from "./chunk-YTPPQK55.js";
41
41
  import "./chunk-5GVCNVKV.js";
42
42
  import {
43
43
  buildContextMessagesFromEventHistory,
@@ -56,7 +56,7 @@ import {
56
56
  foldTurnEventsToSnapshotMessages,
57
57
  getMessagesForWindow
58
58
  } from "./chunk-XVWVAWSG.js";
59
- import "./chunk-B5AP3RSV.js";
59
+ import "./chunk-RW25DL5R.js";
60
60
  import "./chunk-K44MW7JJ.js";
61
61
  export {
62
62
  EventStore,
@@ -113,4 +113,4 @@ export {
113
113
  isTurnEvent,
114
114
  truncateSessionMessages
115
115
  };
116
- //# sourceMappingURL=events-AQKDXJFK.js.map
116
+ //# sourceMappingURL=events-K6AYMXFT.js.map
@@ -3,7 +3,7 @@ import {
3
3
  runBuilderTurn,
4
4
  runChatTurn,
5
5
  runVerifierTurn
6
- } from "./chunk-N7W42N5Y.js";
6
+ } from "./chunk-2TKN2X2A.js";
7
7
  import {
8
8
  TurnMetrics,
9
9
  createChatDoneEvent,
@@ -11,22 +11,22 @@ import {
11
11
  createMessageStartEvent,
12
12
  createToolCallEvent,
13
13
  createToolResultEvent
14
- } from "./chunk-UEZDAB5X.js";
15
- import "./chunk-RCECKE5L.js";
14
+ } from "./chunk-ARJIHQ3S.js";
15
+ import "./chunk-PQCFNTFJ.js";
16
16
  import "./chunk-ZHBL5G5X.js";
17
17
  import "./chunk-DL6ZILAF.js";
18
18
  import "./chunk-PBGOZMVY.js";
19
19
  import "./chunk-VRGRAQDG.js";
20
- import "./chunk-YNIAFX24.js";
21
- import "./chunk-6P5WQP6Y.js";
20
+ import "./chunk-RJIPM7CO.js";
21
+ import "./chunk-YTPPQK55.js";
22
22
  import "./chunk-5GVCNVKV.js";
23
23
  import "./chunk-XVWVAWSG.js";
24
24
  import "./chunk-PAAUYFYS.js";
25
25
  import "./chunk-BJYPTN5S.js";
26
26
  import "./chunk-ERFRUQQR.js";
27
27
  import "./chunk-CQGTEGKL.js";
28
- import "./chunk-B5AP3RSV.js";
29
- import "./chunk-WSRF5L3S.js";
28
+ import "./chunk-RW25DL5R.js";
29
+ import "./chunk-CHICEUV6.js";
30
30
  import "./chunk-K44MW7JJ.js";
31
31
  export {
32
32
  TurnMetrics,
@@ -40,4 +40,4 @@ export {
40
40
  runChatTurn,
41
41
  runVerifierTurn
42
42
  };
43
- //# sourceMappingURL=orchestrator-YUAFANFC.js.map
43
+ //# sourceMappingURL=orchestrator-M4WINFF3.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "1.6.90",
3
+ "version": "1.6.92",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -5,10 +5,10 @@ import {
5
5
  generateSessionName,
6
6
  getSessionMessageCount,
7
7
  needsNameGenerationCheck
8
- } from "./chunk-DF5BZBP6.js";
8
+ } from "./chunk-XGJ7HDQ7.js";
9
9
  import {
10
10
  getEventStore
11
- } from "./chunk-6P5WQP6Y.js";
11
+ } from "./chunk-YTPPQK55.js";
12
12
  import "./chunk-5GVCNVKV.js";
13
13
  import "./chunk-XVWVAWSG.js";
14
14
  import {
@@ -16,7 +16,7 @@ import {
16
16
  createSessionRunningMessage
17
17
  } from "./chunk-PAAUYFYS.js";
18
18
  import "./chunk-ERFRUQQR.js";
19
- import "./chunk-B5AP3RSV.js";
19
+ import "./chunk-RW25DL5R.js";
20
20
  import {
21
21
  logger
22
22
  } from "./chunk-K44MW7JJ.js";
@@ -177,7 +177,7 @@ var QueueProcessor = class {
177
177
  backend: provider?.backend ?? llmClient.getBackend(),
178
178
  model: llmClient.getModel()
179
179
  };
180
- const { runChatTurn } = await import("./orchestrator-YUAFANFC.js");
180
+ const { runChatTurn } = await import("./orchestrator-M4WINFF3.js");
181
181
  const runChatTurnParams = buildRunChatTurnParams({
182
182
  sessionManager,
183
183
  sessionId,
@@ -221,4 +221,4 @@ var QueueProcessor = class {
221
221
  export {
222
222
  QueueProcessor
223
223
  };
224
- //# sourceMappingURL=processor-4SOP4Q6S.js.map
224
+ //# sourceMappingURL=processor-D4XQ5QMB.js.map
@@ -468,7 +468,7 @@ interface Config {
468
468
  };
469
469
  server: {
470
470
  port: number;
471
- host: string;
471
+ host?: string;
472
472
  openBrowser?: boolean;
473
473
  };
474
474
  database: {
@@ -5,18 +5,18 @@ import {
5
5
  loadGlobalConfig,
6
6
  removeProvider,
7
7
  saveGlobalConfig
8
- } from "./chunk-TLOL4I7K.js";
8
+ } from "./chunk-BHZL3N2F.js";
9
9
  import {
10
10
  fetchAvailableModelsFromBackend
11
- } from "./chunk-6GGYIEBM.js";
11
+ } from "./chunk-7QG6LY5Q.js";
12
12
  import {
13
13
  detectModel
14
- } from "./chunk-JDDNBK6T.js";
14
+ } from "./chunk-WBQNIWAQ.js";
15
15
  import {
16
16
  detectBackend
17
- } from "./chunk-YNIAFX24.js";
17
+ } from "./chunk-RJIPM7CO.js";
18
18
  import "./chunk-CQGTEGKL.js";
19
- import "./chunk-WSRF5L3S.js";
19
+ import "./chunk-CHICEUV6.js";
20
20
  import "./chunk-K44MW7JJ.js";
21
21
 
22
22
  // src/cli/provider.ts
@@ -248,7 +248,7 @@ async function runProviderAdd(mode) {
248
248
  isActive: makeActive
249
249
  });
250
250
  if (makeActive) {
251
- const { setDefaultModelSelection } = await import("./config-HMMPXQ46.js");
251
+ const { setDefaultModelSelection } = await import("./config-7XJQNOKX.js");
252
252
  newConfig = setDefaultModelSelection(
253
253
  newConfig,
254
254
  newConfig.providers[newConfig.providers.length - 1].id,
@@ -376,4 +376,4 @@ export {
376
376
  runProviderRemove,
377
377
  runProviderUse
378
378
  };
379
- //# sourceMappingURL=provider-LDZFYLK6.js.map
379
+ //# sourceMappingURL=provider-UO5PAZQQ.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getRuntimeConfig,
3
3
  setRuntimeConfig
4
- } from "./chunk-B5AP3RSV.js";
4
+ } from "./chunk-RW25DL5R.js";
5
5
  export {
6
6
  getRuntimeConfig,
7
7
  setRuntimeConfig
8
8
  };
9
- //# sourceMappingURL=runtime-config-CBJJJGBD.js.map
9
+ //# sourceMappingURL=runtime-config-CYHDAC7W.js.map
@@ -2,22 +2,22 @@ import {
2
2
  getActiveProvider,
3
3
  getDefaultModel,
4
4
  loadGlobalConfig
5
- } from "./chunk-TLOL4I7K.js";
5
+ } from "./chunk-BHZL3N2F.js";
6
6
  import {
7
7
  VERSION,
8
8
  createServer
9
- } from "./chunk-ZORPFD4C.js";
10
- import "./chunk-N7W42N5Y.js";
11
- import "./chunk-UEZDAB5X.js";
12
- import "./chunk-RCECKE5L.js";
9
+ } from "./chunk-2BS6LMIU.js";
10
+ import "./chunk-2TKN2X2A.js";
11
+ import "./chunk-ARJIHQ3S.js";
12
+ import "./chunk-PQCFNTFJ.js";
13
13
  import "./chunk-ZHBL5G5X.js";
14
14
  import "./chunk-DL6ZILAF.js";
15
15
  import "./chunk-PBGOZMVY.js";
16
16
  import "./chunk-VRGRAQDG.js";
17
- import "./chunk-6GGYIEBM.js";
18
- import "./chunk-JDDNBK6T.js";
19
- import "./chunk-YNIAFX24.js";
20
- import "./chunk-6P5WQP6Y.js";
17
+ import "./chunk-7QG6LY5Q.js";
18
+ import "./chunk-WBQNIWAQ.js";
19
+ import "./chunk-RJIPM7CO.js";
20
+ import "./chunk-YTPPQK55.js";
21
21
  import "./chunk-5GVCNVKV.js";
22
22
  import "./chunk-XVWVAWSG.js";
23
23
  import "./chunk-PAAUYFYS.js";
@@ -31,8 +31,8 @@ import {
31
31
  } from "./chunk-CQGTEGKL.js";
32
32
  import {
33
33
  loadConfig
34
- } from "./chunk-B5AP3RSV.js";
35
- import "./chunk-WSRF5L3S.js";
34
+ } from "./chunk-RW25DL5R.js";
35
+ import "./chunk-CHICEUV6.js";
36
36
  import {
37
37
  logger
38
38
  } from "./chunk-K44MW7JJ.js";
@@ -190,4 +190,4 @@ async function runServe(options) {
190
190
  export {
191
191
  runServe
192
192
  };
193
- //# sourceMappingURL=serve-YO7HQKUD.js.map
193
+ //# sourceMappingURL=serve-Z5FNJUDT.js.map
@@ -1,4 +1,4 @@
1
- import { aQ as ToolCall, c as Attachment, T as Diagnostic, ap as Provider, aa as ModelConfig, aC as Session, aL as SessionSummary, ah as Project, aG as SessionMode, aI as SessionPhase, M as Message, K as Criterion, N as CriterionStatus, ay as QueuedMessage, G as ContextState, P as DangerLevel$1, aA as ServerMessage, aN as StatsIdentity, aT as ToolResult, E as Config } from '../protocol--8PKNwb_.js';
1
+ import { aQ as ToolCall, c as Attachment, T as Diagnostic, ap as Provider, aa as ModelConfig, aC as Session, aL as SessionSummary, ah as Project, aG as SessionMode, aI as SessionPhase, M as Message, K as Criterion, N as CriterionStatus, ay as QueuedMessage, G as ContextState, P as DangerLevel$1, aA as ServerMessage, aN as StatsIdentity, aT as ToolResult, E as Config } from '../protocol-XRiJzlOK.js';
2
2
  import { Server } from 'node:http';
3
3
 
4
4
  interface LLMMessage {
@@ -39,6 +39,7 @@ interface LLMCompletionRequest {
39
39
  maxTokens?: number;
40
40
  supportsVision?: boolean;
41
41
  };
42
+ disableXmlProtection?: boolean;
42
43
  onVisionFallbackStart?: (attachmentId: string, filename?: string) => void;
43
44
  onVisionFallbackDone?: (attachmentId: string, description: string) => void;
44
45
  }
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-ZORPFD4C.js";
5
- import "../chunk-N7W42N5Y.js";
6
- import "../chunk-UEZDAB5X.js";
7
- import "../chunk-RCECKE5L.js";
4
+ } from "../chunk-2BS6LMIU.js";
5
+ import "../chunk-2TKN2X2A.js";
6
+ import "../chunk-ARJIHQ3S.js";
7
+ import "../chunk-PQCFNTFJ.js";
8
8
  import "../chunk-ZHBL5G5X.js";
9
9
  import "../chunk-DL6ZILAF.js";
10
10
  import "../chunk-PBGOZMVY.js";
11
11
  import "../chunk-VRGRAQDG.js";
12
- import "../chunk-6GGYIEBM.js";
13
- import "../chunk-JDDNBK6T.js";
14
- import "../chunk-YNIAFX24.js";
15
- import "../chunk-6P5WQP6Y.js";
12
+ import "../chunk-7QG6LY5Q.js";
13
+ import "../chunk-WBQNIWAQ.js";
14
+ import "../chunk-RJIPM7CO.js";
15
+ import "../chunk-YTPPQK55.js";
16
16
  import "../chunk-5GVCNVKV.js";
17
17
  import "../chunk-XVWVAWSG.js";
18
18
  import "../chunk-PAAUYFYS.js";
@@ -20,8 +20,8 @@ import "../chunk-BJYPTN5S.js";
20
20
  import "../chunk-RGRBWDZP.js";
21
21
  import "../chunk-ERFRUQQR.js";
22
22
  import "../chunk-CQGTEGKL.js";
23
- import "../chunk-B5AP3RSV.js";
24
- import "../chunk-WSRF5L3S.js";
23
+ import "../chunk-RW25DL5R.js";
24
+ import "../chunk-CHICEUV6.js";
25
25
  import "../chunk-K44MW7JJ.js";
26
26
  export {
27
27
  createServer,
@@ -75,7 +75,25 @@ if [ -z "$DISPLAY" ] || [ -z "$WAYLAND_DISPLAY" ]; then
75
75
  done
76
76
  fi
77
77
 
78
- exec openfox
78
+ # Find openfox - respect user's PATH, fallback to nvm search for non-interactive cases
79
+ if ! openfox_bin=$(which openfox 2>/dev/null); then
80
+ openfox_bindir=""
81
+ for NVMVER in "$HOME"'/versions/node/'*'/bin/'; do
82
+ [ -f "$NVMVER"'openfox' ] && openfox_bindir="$NVMVER" && break
83
+ [ -L "$NVMVER"'openfox' ] && openfox_bindir="$NVMVER" && break
84
+ done
85
+ if [ -n "$openfox_bindir" ]; then
86
+ export PATH="$openfox_bindir:$PATH"
87
+ openfox_bin=$(readlink -f "$openfox_bindir"'openfox')
88
+ fi
89
+ fi
90
+
91
+ if [ -z "$openfox_bin" ]; then
92
+ echo "openfox not found in PATH and no nvm install detected" >&2
93
+ exit 1
94
+ fi
95
+
96
+ exec "$openfox_bin" "$@"
79
97
  `;
80
98
  await writeFile(scriptPath, scriptContent, { encoding: "utf-8" });
81
99
  await exec("chmod", ["+x", scriptPath]);
@@ -257,4 +275,4 @@ async function serviceUninstall() {
257
275
  export {
258
276
  runServiceCommand
259
277
  };
260
- //# sourceMappingURL=service-TU4XSXYJ.js.map
278
+ //# sourceMappingURL=service-3CLVG2HV.js.map
@@ -5,7 +5,7 @@ import {
5
5
  getAllSettings,
6
6
  getSetting,
7
7
  setSetting
8
- } from "./chunk-RCECKE5L.js";
8
+ } from "./chunk-PQCFNTFJ.js";
9
9
  import "./chunk-5GVCNVKV.js";
10
10
  import "./chunk-K44MW7JJ.js";
11
11
  export {
@@ -16,4 +16,4 @@ export {
16
16
  getSetting,
17
17
  setSetting
18
18
  };
19
- //# sourceMappingURL=settings-VTVOBDYG.js.map
19
+ //# sourceMappingURL=settings-AYSWDZUI.js.map
@@ -1,5 +1,5 @@
1
- import { M as Message, S as SessionStats } from '../protocol--8PKNwb_.js';
2
- export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, c as Attachment, B as BackgroundProcess, d as BackgroundProcessExitedPayload, e as BackgroundProcessOutputPayload, f as BackgroundProcessRemovedPayload, g as BackgroundProcessStartedPayload, h as BackgroundProcessStatus, C as CallStatsDataPoint, i as ChatAskUserPayload, j as ChatDeltaPayload, k as ChatDonePayload, l as ChatErrorPayload, m as ChatFormatRetryPayload, n as ChatMessagePayload, o as ChatMessageUpdatedPayload, p as ChatPathConfirmationPayload, q as ChatProgressPayload, r as ChatSummaryPayload, s as ChatThinkingPayload, t as ChatTodoPayload, u as ChatToolCallPayload, v as ChatToolOutputPayload, w as ChatToolPreparingPayload, x as ChatToolResultPayload, y as ChatVisionFallbackPayload, z as ClientMessage, D as ClientMessageType, E as Config, F as ContextCompactionEvent, G as ContextState, H as ContextStatePayload, I as ContextWindow, J as CriteriaUpdatedPayload, K as Criterion, L as CriterionAttempt, N as CriterionStatus, O as CriterionValidation, P as DangerLevel, Q as DevServerOutputPayload, R as DevServerStatePayload, T as Diagnostic, U as EditContextEdit, V as EditContextLine, W as EditContextRegion, X as ElementData, Y as ErrorPayload, Z as ExecutionState, _ as FileReadEntry, $ as GitDiffFile, a0 as GitStatusPayload, a1 as InjectedFile, a2 as LLMCallStats, a3 as LlmBackend, a4 as LogLine, a5 as LspDiagnosticsPayload, a6 as MessageRole, a7 as MessageSegment, a8 as MessageStats, a9 as ModeChangedPayload, aa as ModelConfig, ab as ModelSessionStats, ac as PathConfirmPayload, ad as PathConfirmationReason, ae as PendingPathConfirmationPayload, af as PhaseChangedPayload, ag as PreparingToolCall, ah as Project, ai as ProjectDeletedPayload, aj as ProjectListPayload, ak as ProjectStatePayload, al as PromptContext, am as PromptContextMessage, an as PromptContextTool, ao as PromptRequestOptions, ap as Provider, aq as ProviderBackend, ar as ProviderChangedPayload, as as QueueAddedEvent, at as QueueCancelledEvent, au as QueueDrainedEvent, av as QueueEvent, aw as QueueEventType, ax as QueueStatePayload, ay as QueuedMessage, az as RecentUserPrompt, aA as ServerMessage, aB as ServerMessageType, aC as Session, aD as SessionListPayload, aE as SessionLoadPayload, aF as SessionMetadata, aG as SessionMode, aH as SessionNameGeneratedPayload, aI as SessionPhase, aJ as SessionRunningPayload, aK as SessionStatePayload, aL as SessionSummary, aM as StatsDataPoint, aN as StatsIdentity, aO as TaskCompletedPayload, aP as Todo, aQ as ToolCall, aR as ToolMode, aS as ToolName, aT as ToolResult, aU as ValidationResult, aV as createClientMessage, aW as createServerMessage, aX as isClientMessage, aY as isServerMessage } from '../protocol--8PKNwb_.js';
1
+ import { M as Message, S as SessionStats } from '../protocol-XRiJzlOK.js';
2
+ export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, c as Attachment, B as BackgroundProcess, d as BackgroundProcessExitedPayload, e as BackgroundProcessOutputPayload, f as BackgroundProcessRemovedPayload, g as BackgroundProcessStartedPayload, h as BackgroundProcessStatus, C as CallStatsDataPoint, i as ChatAskUserPayload, j as ChatDeltaPayload, k as ChatDonePayload, l as ChatErrorPayload, m as ChatFormatRetryPayload, n as ChatMessagePayload, o as ChatMessageUpdatedPayload, p as ChatPathConfirmationPayload, q as ChatProgressPayload, r as ChatSummaryPayload, s as ChatThinkingPayload, t as ChatTodoPayload, u as ChatToolCallPayload, v as ChatToolOutputPayload, w as ChatToolPreparingPayload, x as ChatToolResultPayload, y as ChatVisionFallbackPayload, z as ClientMessage, D as ClientMessageType, E as Config, F as ContextCompactionEvent, G as ContextState, H as ContextStatePayload, I as ContextWindow, J as CriteriaUpdatedPayload, K as Criterion, L as CriterionAttempt, N as CriterionStatus, O as CriterionValidation, P as DangerLevel, Q as DevServerOutputPayload, R as DevServerStatePayload, T as Diagnostic, U as EditContextEdit, V as EditContextLine, W as EditContextRegion, X as ElementData, Y as ErrorPayload, Z as ExecutionState, _ as FileReadEntry, $ as GitDiffFile, a0 as GitStatusPayload, a1 as InjectedFile, a2 as LLMCallStats, a3 as LlmBackend, a4 as LogLine, a5 as LspDiagnosticsPayload, a6 as MessageRole, a7 as MessageSegment, a8 as MessageStats, a9 as ModeChangedPayload, aa as ModelConfig, ab as ModelSessionStats, ac as PathConfirmPayload, ad as PathConfirmationReason, ae as PendingPathConfirmationPayload, af as PhaseChangedPayload, ag as PreparingToolCall, ah as Project, ai as ProjectDeletedPayload, aj as ProjectListPayload, ak as ProjectStatePayload, al as PromptContext, am as PromptContextMessage, an as PromptContextTool, ao as PromptRequestOptions, ap as Provider, aq as ProviderBackend, ar as ProviderChangedPayload, as as QueueAddedEvent, at as QueueCancelledEvent, au as QueueDrainedEvent, av as QueueEvent, aw as QueueEventType, ax as QueueStatePayload, ay as QueuedMessage, az as RecentUserPrompt, aA as ServerMessage, aB as ServerMessageType, aC as Session, aD as SessionListPayload, aE as SessionLoadPayload, aF as SessionMetadata, aG as SessionMode, aH as SessionNameGeneratedPayload, aI as SessionPhase, aJ as SessionRunningPayload, aK as SessionStatePayload, aL as SessionSummary, aM as StatsDataPoint, aN as StatsIdentity, aO as TaskCompletedPayload, aP as Todo, aQ as ToolCall, aR as ToolMode, aS as ToolName, aT as ToolResult, aU as ValidationResult, aV as createClientMessage, aW as createServerMessage, aX as isClientMessage, aY as isServerMessage } from '../protocol-XRiJzlOK.js';
3
3
 
4
4
  /**
5
5
  * Session stats computation - aggregates response-level MessageStats from
@@ -11,14 +11,14 @@ import {
11
11
  requestPathAccess,
12
12
  stepDoneTool,
13
13
  validateToolAction
14
- } from "./chunk-UEZDAB5X.js";
15
- import "./chunk-RCECKE5L.js";
14
+ } from "./chunk-ARJIHQ3S.js";
15
+ import "./chunk-PQCFNTFJ.js";
16
16
  import "./chunk-ZHBL5G5X.js";
17
17
  import "./chunk-DL6ZILAF.js";
18
18
  import "./chunk-PBGOZMVY.js";
19
19
  import "./chunk-VRGRAQDG.js";
20
- import "./chunk-YNIAFX24.js";
21
- import "./chunk-6P5WQP6Y.js";
20
+ import "./chunk-RJIPM7CO.js";
21
+ import "./chunk-YTPPQK55.js";
22
22
  import "./chunk-5GVCNVKV.js";
23
23
  import "./chunk-XVWVAWSG.js";
24
24
  import "./chunk-PAAUYFYS.js";
@@ -29,8 +29,8 @@ import {
29
29
  } from "./chunk-BJYPTN5S.js";
30
30
  import "./chunk-ERFRUQQR.js";
31
31
  import "./chunk-CQGTEGKL.js";
32
- import "./chunk-B5AP3RSV.js";
33
- import "./chunk-WSRF5L3S.js";
32
+ import "./chunk-RW25DL5R.js";
33
+ import "./chunk-CHICEUV6.js";
34
34
  import "./chunk-K44MW7JJ.js";
35
35
  export {
36
36
  AskUserInterrupt,
@@ -49,4 +49,4 @@ export {
49
49
  stepDoneTool,
50
50
  validateToolAction
51
51
  };
52
- //# sourceMappingURL=tools-7MGUWXDP.js.map
52
+ //# sourceMappingURL=tools-NFFQWH6M.js.map
@@ -7,7 +7,7 @@ import {
7
7
  getVisionFallbackConfig,
8
8
  isVisionFallbackEnabled,
9
9
  setVisionFallbackConfig
10
- } from "./chunk-WSRF5L3S.js";
10
+ } from "./chunk-CHICEUV6.js";
11
11
  import "./chunk-K44MW7JJ.js";
12
12
  export {
13
13
  clearDescriptionCache,
@@ -19,4 +19,4 @@ export {
19
19
  isVisionFallbackEnabled,
20
20
  setVisionFallbackConfig
21
21
  };
22
- //# sourceMappingURL=vision-fallback-WT66NURB.js.map
22
+ //# sourceMappingURL=vision-fallback-GZZWU7CR.js.map