openfox 2.0.104 → 2.0.106

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 (86) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/CHANGELOG.md +41 -0
  3. package/dist/agent-defaults/planner.agent.md +2 -1
  4. package/dist/{chat-handler-G2ZJNAVB.js → chat-handler-A22X22VZ.js} +24 -24
  5. package/dist/{chunk-YXIDKMBJ.js → chunk-26DEYDYV.js} +4 -4
  6. package/dist/{chunk-6SIX7P6O.js → chunk-2GM6SUIQ.js} +2 -2
  7. package/dist/{chunk-ZASSAZ73.js → chunk-33Q7LCVD.js} +2 -2
  8. package/dist/{chunk-S5HDT5RQ.js → chunk-3C73IUUL.js} +2 -2
  9. package/dist/{chunk-F766OIDT.js → chunk-46KNPXY6.js} +3 -3
  10. package/dist/{chunk-5ZJYEINJ.js → chunk-5M45NHQ2.js} +2 -2
  11. package/dist/{chunk-WWFH5GAR.js → chunk-6FPGJR7O.js} +2 -2
  12. package/dist/{chunk-PKLWSTDB.js → chunk-6M44ZHQA.js} +32 -32
  13. package/dist/{chunk-TFQSCHVU.js → chunk-6VNB4L4V.js} +3 -3
  14. package/dist/{chunk-3NVISPE7.js → chunk-AYUUGKZU.js} +14 -16
  15. package/dist/chunk-C5YV3EA4.js +7 -0
  16. package/dist/{chunk-B56G5OEF.js → chunk-D6ODGTSZ.js} +5 -3
  17. package/dist/{chunk-XWW7LOU4.js → chunk-G2VLGZ3Y.js} +256 -164
  18. package/dist/{chunk-DMI2BXHA.js → chunk-GXW4CRR5.js} +7 -6
  19. package/dist/{chunk-W2KZ7H55.js → chunk-HU22EVEM.js} +7 -7
  20. package/dist/{chunk-OUMHR7LR.js → chunk-IA4Y3CKA.js} +7 -6
  21. package/dist/{chunk-SPA7PQPJ.js → chunk-KIAKWUZ3.js} +2 -2
  22. package/dist/{chunk-GLF65XDS.js → chunk-LCQ5AN6Y.js} +8 -1
  23. package/dist/{chunk-B76OP3OE.js → chunk-LOHVZGCM.js} +4 -4
  24. package/dist/{chunk-UADZ2LZJ.js → chunk-OEPRHAIO.js} +3 -3
  25. package/dist/{chunk-HZXWVD5A.js → chunk-P4APMCTX.js} +85 -25
  26. package/dist/{chunk-EFIC3TUX.js → chunk-QBKAW5H4.js} +7 -7
  27. package/dist/{chunk-D3SXT3BL.js → chunk-RRTKVJMF.js} +5 -10
  28. package/dist/{chunk-J27BLIPY.js → chunk-SGJ3LSVA.js} +3 -2
  29. package/dist/{chunk-WHJ67MO2.js → chunk-SUTJJWUK.js} +7 -7
  30. package/dist/{chunk-ERKPMNC7.js → chunk-TB7TTPYQ.js} +2 -2
  31. package/dist/{chunk-2COWPTSJ.js → chunk-UCIZV76E.js} +4 -8
  32. package/dist/{chunk-EF7KGWF6.js → chunk-UXQN7FGB.js} +2 -2
  33. package/dist/{chunk-5VKT34HE.js → chunk-V6Y6OLB4.js} +2 -2
  34. package/dist/{chunk-KCED2X4H.js → chunk-WDJOSRIB.js} +12 -5
  35. package/dist/{chunk-62QCBNPE.js → chunk-WLJJRX22.js} +10 -3
  36. package/dist/{chunk-ERTTKKCE.js → chunk-X3USQHHK.js} +2 -2
  37. package/dist/cli/dev.js +1 -1
  38. package/dist/cli/index.js +1 -1
  39. package/dist/{client-2EAJAGPC.js → client-MP3FSNN7.js} +6 -6
  40. package/dist/{client-pure-ONSVWEG5.js → client-pure-USVHN4WG.js} +2 -2
  41. package/dist/{compactor-IEYTUHYX.js → compactor-KK2BVJK5.js} +12 -12
  42. package/dist/{config-3FKJV3KI.js → config-HX7FDKGJ.js} +2 -2
  43. package/dist/{dynamic-context-Z5BU2RVP.js → dynamic-context-ZUXI5UTW.js} +9 -9
  44. package/dist/{events-BGVLDGLK.js → events-OJ2R6OEM.js} +7 -7
  45. package/dist/{folding-AJMZBHNR.js → folding-DUZSKCZF.js} +5 -5
  46. package/dist/http-client-KJXFSK7A.js +11 -0
  47. package/dist/{inspect-proxy-GF6OI7MR.js → inspect-proxy-N42Z5TOG.js} +4 -4
  48. package/dist/{manager-GGIIENDX.js → manager-N27WNW5B.js} +5 -5
  49. package/dist/{model-overrides-BLEFI7FQ.js → model-overrides-36SQR3JR.js} +4 -4
  50. package/dist/{openFolder-Z27FEM5M.js → openFolder-HX7X356L.js} +2 -2
  51. package/dist/{orchestrator-SYAYO6NS.js → orchestrator-VZORJ7KF.js} +23 -23
  52. package/dist/package.json +4 -2
  53. package/dist/{path-security-JCDBLFIE.js → path-security-QCIA6YFV.js} +8 -8
  54. package/dist/{permissions-CGEK3DGZ.js → permissions-K6YEA2ZZ.js} +12 -1
  55. package/dist/{platform-GZ2WIDS5.js → platform-Q6T3AUHA.js} +4 -4
  56. package/dist/{processor-CBGV2K4E.js → processor-QYVHKRIV.js} +23 -23
  57. package/dist/{project-creator-SMWFMIU5.js → project-creator-BVA55HY6.js} +4 -4
  58. package/dist/{projects-M5XKC7O6.js → projects-PQXME5S4.js} +3 -3
  59. package/dist/{protocol-rfiBDoXm.d.ts → protocol-zRSsysOe.d.ts} +1 -1
  60. package/dist/provider/index.d.ts +4 -4
  61. package/dist/{provider-XCVHKXPS.js → provider-RQQ5JN34.js} +9 -9
  62. package/dist/{provider-manager-AUYP3QAM.js → provider-manager-RUC5QQ75.js} +7 -7
  63. package/dist/{registry-M2QVGRNK.js → registry-BDSTPV65.js} +4 -4
  64. package/dist/{serve-NPS4GJWH.js → serve-2O7G2WZF.js} +32 -32
  65. package/dist/server/index.d.ts +33 -4
  66. package/dist/server/index.js +31 -31
  67. package/dist/server-CYE6XY7J.js +47 -0
  68. package/dist/{session-overrides-HA5IQYLI.js → session-overrides-SFWPS5CT.js} +6 -6
  69. package/dist/{sessions-ZV2WRC6K.js → sessions-TZNUQJ2I.js} +5 -5
  70. package/dist/{settings-TGCITCVA.js → settings-5LG7IB3K.js} +3 -3
  71. package/dist/shared/index.d.ts +3 -3
  72. package/dist/skill-defaults/browser/SKILL.md +36 -22
  73. package/dist/{tools-KKALZLKX.js → tools-Y4F4HJPO.js} +21 -21
  74. package/dist/{types-o0v5xVxu.d.ts → types-CTl70hba.d.ts} +12 -1
  75. package/dist/{types-o-YQ3Bfq.d.ts → types-_uF_PRaD.d.ts} +1 -1
  76. package/dist/{update-7BEZMI4R.js → update-QEZIUJHR.js} +2 -2
  77. package/dist/web/assets/index-BxI3Y9C7.js +323 -0
  78. package/dist/web/index.html +1 -1
  79. package/dist/web/sw.js +1 -1
  80. package/dist/workflow-defaults/default.workflow.json +3 -3
  81. package/dist/{workspace-2NDXTCVR.js → workspace-2OG5VQG6.js} +4 -4
  82. package/package.json +4 -2
  83. package/dist/chunk-MLOCSFIW.js +0 -7
  84. package/dist/http-client-A7A4XWNK.js +0 -11
  85. package/dist/server-FKM4FQKD.js +0 -47
  86. package/dist/web/assets/index-BoWCT9PC.js +0 -323
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SETTINGS_KEYS,
3
3
  getSetting
4
- } from "./chunk-SPA7PQPJ.js";
4
+ } from "./chunk-KIAKWUZ3.js";
5
5
 
6
6
  // src/server/utils/platform.ts
7
7
  import os from "os";
@@ -63,4 +63,4 @@ export {
63
63
  isWindowsPath,
64
64
  isAbsolutePath
65
65
  };
66
- //# sourceMappingURL=chunk-EF7KGWF6.js.map
66
+ //# sourceMappingURL=chunk-UXQN7FGB.js.map
@@ -2,7 +2,7 @@ import {
2
2
  SETTINGS_KEYS,
3
3
  getSetting,
4
4
  setSetting
5
- } from "./chunk-SPA7PQPJ.js";
5
+ } from "./chunk-KIAKWUZ3.js";
6
6
 
7
7
  // src/server/agents/model-overrides.ts
8
8
  import { z } from "zod";
@@ -69,4 +69,4 @@ export {
69
69
  setAgentModelOverride,
70
70
  resolveLLMClientForAgent
71
71
  };
72
- //# sourceMappingURL=chunk-5VKT34HE.js.map
72
+ //# sourceMappingURL=chunk-V6Y6OLB4.js.map
@@ -336,6 +336,15 @@ function decodeDataUrl(data) {
336
336
  }
337
337
 
338
338
  // src/server/llm/resolve-attachments.ts
339
+ function formatVisionFallbackDescription(filename, description) {
340
+ return [
341
+ `[Image: ${filename || "image"}]`,
342
+ `You cannot see this image directly \u2014 a separate vision model produced the description below:`,
343
+ `<image_description>`,
344
+ description,
345
+ `</image_description>`
346
+ ].join("\n");
347
+ }
339
348
  var pdfBlockCache = /* @__PURE__ */ new Map();
340
349
  async function extractPdfFromDataUrl(data, filename) {
341
350
  const base64Match = data.match(/^data:.*?;base64,(.+)$/);
@@ -401,7 +410,7 @@ ${text}`;
401
410
  return `[File: ${attachment.filename || "file"} (unsupported type: ${mimeType})]`;
402
411
  }
403
412
  if (attachment.description) {
404
- return `[Image: ${attachment.filename || "image"} - description: ${attachment.description}]`;
413
+ return formatVisionFallbackDescription(attachment.filename, attachment.description);
405
414
  }
406
415
  return `[Image: ${attachment.filename || "image"}] (vision not supported, cannot describe)`;
407
416
  }
@@ -522,9 +531,7 @@ ${attachment.data}` }];
522
531
  return [{ type: "image_url", image_url: { url: attachment.data } }];
523
532
  }
524
533
  if (attachment.description) {
525
- return [
526
- { type: "text", text: `[Image: ${attachment.filename || "image"} - description: ${attachment.description}]` }
527
- ];
534
+ return [{ type: "text", text: formatVisionFallbackDescription(attachment.filename, attachment.description) }];
528
535
  }
529
536
  return [{ type: "text", text: `[Image: ${attachment.filename || "image"}] (vision not supported, cannot describe)` }];
530
537
  }
@@ -687,4 +694,4 @@ export {
687
694
  buildStreamingCreateParams,
688
695
  mapFinishReason
689
696
  };
690
- //# sourceMappingURL=chunk-KCED2X4H.js.map
697
+ //# sourceMappingURL=chunk-WDJOSRIB.js.map
@@ -1,15 +1,22 @@
1
1
  // src/server/utils/openFolder.ts
2
2
  import { platform } from "os";
3
+ import { mkdir } from "fs/promises";
3
4
  import { execFile } from "child_process";
4
5
  import { promisify } from "util";
5
6
  var execFileP = promisify(execFile);
6
7
  async function openFolder(dir) {
7
- await execFileP("mkdir", ["-p", dir], { timeout: 5e3 });
8
+ await mkdir(dir, { recursive: true });
8
9
  const cmd = platform() === "darwin" ? "open" : platform() === "win32" ? "explorer" : "xdg-open";
9
- await execFileP(cmd, [dir], { timeout: 5e3 });
10
+ try {
11
+ await execFileP(cmd, [dir], { timeout: 5e3 });
12
+ } catch (err) {
13
+ if (platform() !== "win32" || err.code !== 1) {
14
+ throw err;
15
+ }
16
+ }
10
17
  }
11
18
 
12
19
  export {
13
20
  openFolder
14
21
  };
15
- //# sourceMappingURL=chunk-62QCBNPE.js.map
22
+ //# sourceMappingURL=chunk-WLJJRX22.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getEventStore
3
- } from "./chunk-DMI2BXHA.js";
3
+ } from "./chunk-GXW4CRR5.js";
4
4
  import {
5
5
  createChatPathConfirmationMessage
6
6
  } from "./chunk-27SDWNKL.js";
@@ -498,4 +498,4 @@ export {
498
498
  getConfirmationSessionId,
499
499
  getPendingConfirmationsBySession
500
500
  };
501
- //# sourceMappingURL=chunk-ERTTKKCE.js.map
501
+ //# sourceMappingURL=chunk-X3USQHHK.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-EFIC3TUX.js";
4
+ } from "../chunk-QBKAW5H4.js";
5
5
  import "../chunk-4H427UBV.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-EFIC3TUX.js";
4
+ } from "../chunk-QBKAW5H4.js";
5
5
  import "../chunk-4H427UBV.js";
6
6
  import {
7
7
  logger
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createLLMClient
3
- } from "./chunk-F766OIDT.js";
3
+ } from "./chunk-46KNPXY6.js";
4
4
  import "./chunk-V4IE7HJY.js";
5
5
  import "./chunk-YHEQTVFV.js";
6
6
  import "./chunk-HNCM3D7Y.js";
7
- import "./chunk-KCED2X4H.js";
8
- import "./chunk-ERKPMNC7.js";
9
- import "./chunk-SPA7PQPJ.js";
10
- import "./chunk-GLF65XDS.js";
7
+ import "./chunk-WDJOSRIB.js";
8
+ import "./chunk-TB7TTPYQ.js";
9
+ import "./chunk-KIAKWUZ3.js";
10
+ import "./chunk-LCQ5AN6Y.js";
11
11
  import "./chunk-K44MW7JJ.js";
12
12
  import "./chunk-5WRI5ZAA.js";
13
13
  export {
14
14
  createLLMClient
15
15
  };
16
- //# sourceMappingURL=client-2EAJAGPC.js.map
16
+ //# sourceMappingURL=client-MP3FSNN7.js.map
@@ -8,7 +8,7 @@ import {
8
8
  mapFinishReason,
9
9
  parseToolArguments,
10
10
  resolveAttachmentsInMessages
11
- } from "./chunk-KCED2X4H.js";
11
+ } from "./chunk-WDJOSRIB.js";
12
12
  import "./chunk-5WRI5ZAA.js";
13
13
  export {
14
14
  buildModelParams,
@@ -21,4 +21,4 @@ export {
21
21
  parseToolArguments,
22
22
  resolveAttachmentsInMessages
23
23
  };
24
- //# sourceMappingURL=client-pure-ONSVWEG5.js.map
24
+ //# sourceMappingURL=client-pure-USVHN4WG.js.map
@@ -3,20 +3,20 @@ import {
3
3
  COMPACTION_MAX_RATIO,
4
4
  appendCompactionPrompt,
5
5
  shouldCompact
6
- } from "./chunk-YXIDKMBJ.js";
7
- import "./chunk-5ZJYEINJ.js";
8
- import "./chunk-J27BLIPY.js";
9
- import "./chunk-DMI2BXHA.js";
10
- import "./chunk-EF7KGWF6.js";
11
- import "./chunk-S5HDT5RQ.js";
12
- import "./chunk-OUMHR7LR.js";
13
- import "./chunk-6SIX7P6O.js";
6
+ } from "./chunk-26DEYDYV.js";
7
+ import "./chunk-5M45NHQ2.js";
8
+ import "./chunk-SGJ3LSVA.js";
9
+ import "./chunk-GXW4CRR5.js";
10
+ import "./chunk-UXQN7FGB.js";
11
+ import "./chunk-3C73IUUL.js";
12
+ import "./chunk-IA4Y3CKA.js";
13
+ import "./chunk-2GM6SUIQ.js";
14
14
  import "./chunk-J2GP3J3X.js";
15
15
  import "./chunk-V4IE7HJY.js";
16
16
  import "./chunk-YHEQTVFV.js";
17
- import "./chunk-KCED2X4H.js";
18
- import "./chunk-SPA7PQPJ.js";
19
- import "./chunk-GLF65XDS.js";
17
+ import "./chunk-WDJOSRIB.js";
18
+ import "./chunk-KIAKWUZ3.js";
19
+ import "./chunk-LCQ5AN6Y.js";
20
20
  import "./chunk-K44MW7JJ.js";
21
21
  import "./chunk-CQGTEGKL.js";
22
22
  import "./chunk-5WRI5ZAA.js";
@@ -26,4 +26,4 @@ export {
26
26
  appendCompactionPrompt,
27
27
  shouldCompact
28
28
  };
29
- //# sourceMappingURL=compactor-IEYTUHYX.js.map
29
+ //# sourceMappingURL=compactor-KK2BVJK5.js.map
@@ -12,7 +12,7 @@ import {
12
12
  saveGlobalConfig,
13
13
  setDefaultModelSelection,
14
14
  updateProvider
15
- } from "./chunk-B56G5OEF.js";
15
+ } from "./chunk-D6ODGTSZ.js";
16
16
  import "./chunk-CQGTEGKL.js";
17
17
  import "./chunk-5WRI5ZAA.js";
18
18
  export {
@@ -30,4 +30,4 @@ export {
30
30
  setDefaultModelSelection,
31
31
  updateProvider
32
32
  };
33
- //# sourceMappingURL=config-3FKJV3KI.js.map
33
+ //# sourceMappingURL=config-HX7FDKGJ.js.map
@@ -5,14 +5,14 @@ import {
5
5
  computeSessionHash,
6
6
  computeUnifiedDiff,
7
7
  getToolFingerprint
8
- } from "./chunk-W2KZ7H55.js";
9
- import "./chunk-B76OP3OE.js";
10
- import "./chunk-J27BLIPY.js";
11
- import "./chunk-EF7KGWF6.js";
12
- import "./chunk-WWFH5GAR.js";
13
- import "./chunk-6SIX7P6O.js";
14
- import "./chunk-SPA7PQPJ.js";
15
- import "./chunk-GLF65XDS.js";
8
+ } from "./chunk-HU22EVEM.js";
9
+ import "./chunk-LOHVZGCM.js";
10
+ import "./chunk-SGJ3LSVA.js";
11
+ import "./chunk-UXQN7FGB.js";
12
+ import "./chunk-6FPGJR7O.js";
13
+ import "./chunk-2GM6SUIQ.js";
14
+ import "./chunk-KIAKWUZ3.js";
15
+ import "./chunk-LCQ5AN6Y.js";
16
16
  import "./chunk-K44MW7JJ.js";
17
17
  import "./chunk-CQGTEGKL.js";
18
18
  import "./chunk-5WRI5ZAA.js";
@@ -24,4 +24,4 @@ export {
24
24
  computeUnifiedDiff,
25
25
  getToolFingerprint
26
26
  };
27
- //# sourceMappingURL=dynamic-context-Z5BU2RVP.js.map
27
+ //# sourceMappingURL=dynamic-context-ZUXI5UTW.js.map
@@ -40,7 +40,7 @@ import {
40
40
  isStoredEvent,
41
41
  isTurnEvent,
42
42
  truncateSessionMessages
43
- } from "./chunk-DMI2BXHA.js";
43
+ } from "./chunk-GXW4CRR5.js";
44
44
  import {
45
45
  buildContextMessagesFromEventHistory,
46
46
  buildContextMessagesFromMessages,
@@ -57,11 +57,11 @@ import {
57
57
  foldTodos,
58
58
  foldTurnEventsToSnapshotMessages,
59
59
  getMessagesForWindow
60
- } from "./chunk-S5HDT5RQ.js";
61
- import "./chunk-OUMHR7LR.js";
62
- import "./chunk-6SIX7P6O.js";
63
- import "./chunk-SPA7PQPJ.js";
64
- import "./chunk-GLF65XDS.js";
60
+ } from "./chunk-3C73IUUL.js";
61
+ import "./chunk-IA4Y3CKA.js";
62
+ import "./chunk-2GM6SUIQ.js";
63
+ import "./chunk-KIAKWUZ3.js";
64
+ import "./chunk-LCQ5AN6Y.js";
65
65
  import "./chunk-K44MW7JJ.js";
66
66
  import "./chunk-CQGTEGKL.js";
67
67
  import "./chunk-5WRI5ZAA.js";
@@ -123,4 +123,4 @@ export {
123
123
  isTurnEvent,
124
124
  truncateSessionMessages
125
125
  };
126
- //# sourceMappingURL=events-BGVLDGLK.js.map
126
+ //# sourceMappingURL=events-OJ2R6OEM.js.map
@@ -25,10 +25,10 @@ import {
25
25
  reorderToolMessages,
26
26
  spreadOptionalMessageFields,
27
27
  stripOrphanedToolCalls
28
- } from "./chunk-S5HDT5RQ.js";
29
- import "./chunk-6SIX7P6O.js";
30
- import "./chunk-SPA7PQPJ.js";
31
- import "./chunk-GLF65XDS.js";
28
+ } from "./chunk-3C73IUUL.js";
29
+ import "./chunk-2GM6SUIQ.js";
30
+ import "./chunk-KIAKWUZ3.js";
31
+ import "./chunk-LCQ5AN6Y.js";
32
32
  import "./chunk-K44MW7JJ.js";
33
33
  import "./chunk-CQGTEGKL.js";
34
34
  import "./chunk-5WRI5ZAA.js";
@@ -60,4 +60,4 @@ export {
60
60
  spreadOptionalMessageFields,
61
61
  stripOrphanedToolCalls
62
62
  };
63
- //# sourceMappingURL=folding-AJMZBHNR.js.map
63
+ //# sourceMappingURL=folding-DUZSKCZF.js.map
@@ -0,0 +1,11 @@
1
+ import {
2
+ OpenAIHttpClient
3
+ } from "./chunk-TB7TTPYQ.js";
4
+ import "./chunk-KIAKWUZ3.js";
5
+ import "./chunk-LCQ5AN6Y.js";
6
+ import "./chunk-K44MW7JJ.js";
7
+ import "./chunk-5WRI5ZAA.js";
8
+ export {
9
+ OpenAIHttpClient
10
+ };
11
+ //# sourceMappingURL=http-client-KJXFSK7A.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  startInspectProxy,
3
3
  stopAllInspectProxies
4
- } from "./chunk-ZASSAZ73.js";
5
- import "./chunk-WWFH5GAR.js";
6
- import "./chunk-GLF65XDS.js";
4
+ } from "./chunk-33Q7LCVD.js";
5
+ import "./chunk-6FPGJR7O.js";
6
+ import "./chunk-LCQ5AN6Y.js";
7
7
  import "./chunk-K44MW7JJ.js";
8
8
  import "./chunk-5WRI5ZAA.js";
9
9
  export {
10
10
  startInspectProxy,
11
11
  stopAllInspectProxies
12
12
  };
13
- //# sourceMappingURL=inspect-proxy-GF6OI7MR.js.map
13
+ //# sourceMappingURL=inspect-proxy-N42Z5TOG.js.map
@@ -6,11 +6,11 @@ import {
6
6
  onProcessEvent,
7
7
  startProcessCommand,
8
8
  stopProcess
9
- } from "./chunk-TFQSCHVU.js";
9
+ } from "./chunk-6VNB4L4V.js";
10
10
  import "./chunk-I72ACQ6R.js";
11
- import "./chunk-EF7KGWF6.js";
12
- import "./chunk-SPA7PQPJ.js";
13
- import "./chunk-GLF65XDS.js";
11
+ import "./chunk-UXQN7FGB.js";
12
+ import "./chunk-KIAKWUZ3.js";
13
+ import "./chunk-LCQ5AN6Y.js";
14
14
  import "./chunk-K44MW7JJ.js";
15
15
  import "./chunk-5WRI5ZAA.js";
16
16
  export {
@@ -22,4 +22,4 @@ export {
22
22
  startProcessCommand,
23
23
  stopProcess
24
24
  };
25
- //# sourceMappingURL=manager-GGIIENDX.js.map
25
+ //# sourceMappingURL=manager-N27WNW5B.js.map
@@ -5,9 +5,9 @@ import {
5
5
  parseAgentModelOverrides,
6
6
  resolveLLMClientForAgent,
7
7
  setAgentModelOverride
8
- } from "./chunk-5VKT34HE.js";
9
- import "./chunk-SPA7PQPJ.js";
10
- import "./chunk-GLF65XDS.js";
8
+ } from "./chunk-V6Y6OLB4.js";
9
+ import "./chunk-KIAKWUZ3.js";
10
+ import "./chunk-LCQ5AN6Y.js";
11
11
  import "./chunk-K44MW7JJ.js";
12
12
  import "./chunk-5WRI5ZAA.js";
13
13
  export {
@@ -18,4 +18,4 @@ export {
18
18
  resolveLLMClientForAgent,
19
19
  setAgentModelOverride
20
20
  };
21
- //# sourceMappingURL=model-overrides-BLEFI7FQ.js.map
21
+ //# sourceMappingURL=model-overrides-36SQR3JR.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  openFolder
3
- } from "./chunk-62QCBNPE.js";
3
+ } from "./chunk-WLJJRX22.js";
4
4
  import "./chunk-5WRI5ZAA.js";
5
5
  export {
6
6
  openFolder
7
7
  };
8
- //# sourceMappingURL=openFolder-Z27FEM5M.js.map
8
+ //# sourceMappingURL=openFolder-HX7X356L.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  runAgentTurn,
3
3
  runChatTurn
4
- } from "./chunk-3NVISPE7.js";
5
- import "./chunk-W2KZ7H55.js";
6
- import "./chunk-PKLWSTDB.js";
7
- import "./chunk-B76OP3OE.js";
4
+ } from "./chunk-AYUUGKZU.js";
5
+ import "./chunk-HU22EVEM.js";
6
+ import "./chunk-6M44ZHQA.js";
7
+ import "./chunk-LOHVZGCM.js";
8
8
  import {
9
9
  TurnMetrics,
10
10
  createChatDoneEvent,
@@ -12,35 +12,35 @@ import {
12
12
  createMessageStartEvent,
13
13
  createToolCallEvent,
14
14
  createToolResultEvent
15
- } from "./chunk-5ZJYEINJ.js";
16
- import "./chunk-J27BLIPY.js";
17
- import "./chunk-ZASSAZ73.js";
18
- import "./chunk-TFQSCHVU.js";
15
+ } from "./chunk-5M45NHQ2.js";
16
+ import "./chunk-SGJ3LSVA.js";
17
+ import "./chunk-33Q7LCVD.js";
18
+ import "./chunk-6VNB4L4V.js";
19
19
  import "./chunk-I72ACQ6R.js";
20
20
  import "./chunk-JE7LW7Y6.js";
21
21
  import "./chunk-VKWVPQJ5.js";
22
- import "./chunk-D3SXT3BL.js";
22
+ import "./chunk-RRTKVJMF.js";
23
23
  import "./chunk-J7GAZGZT.js";
24
- import "./chunk-UADZ2LZJ.js";
25
- import "./chunk-ERTTKKCE.js";
26
- import "./chunk-DMI2BXHA.js";
24
+ import "./chunk-OEPRHAIO.js";
25
+ import "./chunk-X3USQHHK.js";
26
+ import "./chunk-GXW4CRR5.js";
27
27
  import "./chunk-27SDWNKL.js";
28
28
  import "./chunk-JAX5OEMM.js";
29
- import "./chunk-EF7KGWF6.js";
30
- import "./chunk-5VKT34HE.js";
31
- import "./chunk-WWFH5GAR.js";
32
- import "./chunk-S5HDT5RQ.js";
33
- import "./chunk-OUMHR7LR.js";
34
- import "./chunk-6SIX7P6O.js";
29
+ import "./chunk-UXQN7FGB.js";
30
+ import "./chunk-V6Y6OLB4.js";
31
+ import "./chunk-6FPGJR7O.js";
32
+ import "./chunk-3C73IUUL.js";
33
+ import "./chunk-IA4Y3CKA.js";
34
+ import "./chunk-2GM6SUIQ.js";
35
35
  import "./chunk-J2GP3J3X.js";
36
36
  import "./chunk-V4IE7HJY.js";
37
37
  import "./chunk-YHEQTVFV.js";
38
- import "./chunk-KCED2X4H.js";
39
- import "./chunk-SPA7PQPJ.js";
40
- import "./chunk-GLF65XDS.js";
38
+ import "./chunk-WDJOSRIB.js";
39
+ import "./chunk-KIAKWUZ3.js";
40
+ import "./chunk-LCQ5AN6Y.js";
41
41
  import "./chunk-K44MW7JJ.js";
42
42
  import "./chunk-4R7G5JB6.js";
43
- import "./chunk-B56G5OEF.js";
43
+ import "./chunk-D6ODGTSZ.js";
44
44
  import "./chunk-CQGTEGKL.js";
45
45
  import "./chunk-5WRI5ZAA.js";
46
46
  export {
@@ -53,4 +53,4 @@ export {
53
53
  runAgentTurn,
54
54
  runChatTurn
55
55
  };
56
- //# sourceMappingURL=orchestrator-SYAYO6NS.js.map
56
+ //# sourceMappingURL=orchestrator-VZORJ7KF.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.104",
3
+ "version": "2.0.106",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -46,9 +46,10 @@
46
46
  "test:cov": "vitest run --reporter=dot --silent=passed-only --coverage && vitest run --reporter=dot --silent=passed-only --config e2e/vitest.config.ts --coverage",
47
47
  "test:cov:unit": "vitest run --reporter=dot --silent=passed-only --coverage",
48
48
  "test:cov:e2e": "vitest run --reporter=dot --silent=passed-only --config e2e/vitest.config.ts --coverage",
49
- "typecheck": "npm run typecheck:server && npm run typecheck:web",
49
+ "typecheck": "npm run typecheck:server && npm run typecheck:web && npm run typecheck:e2e",
50
50
  "typecheck:server": "tsc --noEmit",
51
51
  "typecheck:web": "cd web && tsc --noEmit",
52
+ "typecheck:e2e": "tsc --noEmit -p e2e/tsconfig.json",
52
53
  "lint": "eslint src/ web/src/",
53
54
  "lint:fix": "eslint src/ --fix",
54
55
  "format": "prettier --check 'src/**/*.ts'",
@@ -61,6 +62,7 @@
61
62
  "clean": "rm -rf dist",
62
63
  "prepublishOnly": "npm run build && npm run test:publish:e2e",
63
64
  "prepare": "husky",
65
+ "postinstall": "if [ ! -d web/node_modules ]; then cd web && npm install --prefer-offline; fi",
64
66
  "test:publish:e2e": "tsx scripts/run-publish-e2e.ts"
65
67
  },
66
68
  "dependencies": {
@@ -19,14 +19,14 @@ import {
19
19
  providePathConfirmation,
20
20
  registerPathConfirmation,
21
21
  requestPathAccess
22
- } from "./chunk-ERTTKKCE.js";
23
- import "./chunk-DMI2BXHA.js";
22
+ } from "./chunk-X3USQHHK.js";
23
+ import "./chunk-GXW4CRR5.js";
24
24
  import "./chunk-27SDWNKL.js";
25
- import "./chunk-S5HDT5RQ.js";
26
- import "./chunk-OUMHR7LR.js";
27
- import "./chunk-6SIX7P6O.js";
28
- import "./chunk-SPA7PQPJ.js";
29
- import "./chunk-GLF65XDS.js";
25
+ import "./chunk-3C73IUUL.js";
26
+ import "./chunk-IA4Y3CKA.js";
27
+ import "./chunk-2GM6SUIQ.js";
28
+ import "./chunk-KIAKWUZ3.js";
29
+ import "./chunk-LCQ5AN6Y.js";
30
30
  import "./chunk-K44MW7JJ.js";
31
31
  import "./chunk-4R7G5JB6.js";
32
32
  import "./chunk-CQGTEGKL.js";
@@ -53,4 +53,4 @@ export {
53
53
  registerPathConfirmation,
54
54
  requestPathAccess
55
55
  };
56
- //# sourceMappingURL=path-security-JCDBLFIE.js.map
56
+ //# sourceMappingURL=path-security-QCIA6YFV.js.map
@@ -48,6 +48,9 @@ async function getDirInfo(targetPath) {
48
48
  return { resolvedPath, groupGid, groupName, userGroups, userInGroup, groupHasWrite, sudoAvailable };
49
49
  }
50
50
  async function checkPermissions(targetPath) {
51
+ if (process.platform === "win32") {
52
+ return { success: false, error: "Automatic permission management is not supported on Windows", status: 501 };
53
+ }
51
54
  try {
52
55
  const info = await getDirInfo(targetPath);
53
56
  return {
@@ -66,6 +69,14 @@ async function checkPermissions(targetPath) {
66
69
  }
67
70
  }
68
71
  async function fixPermissions(targetPath, action) {
72
+ if (process.platform === "win32") {
73
+ return {
74
+ success: false,
75
+ sudoAvailable: false,
76
+ error: "Automatic permission fixes are not supported on Windows",
77
+ status: 501
78
+ };
79
+ }
69
80
  try {
70
81
  const info = await getDirInfo(targetPath);
71
82
  if (action === "group") {
@@ -112,4 +123,4 @@ export {
112
123
  checkPermissions,
113
124
  fixPermissions
114
125
  };
115
- //# sourceMappingURL=permissions-CGEK3DGZ.js.map
126
+ //# sourceMappingURL=permissions-K6YEA2ZZ.js.map
@@ -5,9 +5,9 @@ import {
5
5
  isAbsolutePath,
6
6
  isWindowsPath,
7
7
  listAvailableShells
8
- } from "./chunk-EF7KGWF6.js";
9
- import "./chunk-SPA7PQPJ.js";
10
- import "./chunk-GLF65XDS.js";
8
+ } from "./chunk-UXQN7FGB.js";
9
+ import "./chunk-KIAKWUZ3.js";
10
+ import "./chunk-LCQ5AN6Y.js";
11
11
  import "./chunk-K44MW7JJ.js";
12
12
  import "./chunk-5WRI5ZAA.js";
13
13
  export {
@@ -18,4 +18,4 @@ export {
18
18
  isWindowsPath,
19
19
  listAvailableShells
20
20
  };
21
- //# sourceMappingURL=platform-GZ2WIDS5.js.map
21
+ //# sourceMappingURL=platform-Q6T3AUHA.js.map