openfox 1.6.59 → 1.6.61

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.
@@ -5058,7 +5058,7 @@ function createTerminalRoutes() {
5058
5058
  }
5059
5059
 
5060
5060
  // src/constants.ts
5061
- var VERSION = "1.6.59";
5061
+ var VERSION = "1.6.61";
5062
5062
 
5063
5063
  // src/server/index.ts
5064
5064
  var __dirname2 = dirname5(fileURLToPath4(import.meta.url));
@@ -5955,4 +5955,4 @@ export {
5955
5955
  createServerHandle,
5956
5956
  createServer
5957
5957
  };
5958
- //# sourceMappingURL=chunk-MQYKNCH3.js.map
5958
+ //# sourceMappingURL=chunk-NUXLDPXN.js.map
@@ -179,7 +179,7 @@ async function runCli(options) {
179
179
  if (!configExists) {
180
180
  await runNetworkSetup(mode);
181
181
  }
182
- const { runServe } = await import("./serve-WHFXIC3X.js");
182
+ const { runServe } = await import("./serve-L3JF62Z3.js");
183
183
  await runServe({
184
184
  mode,
185
185
  port: values.port ? parseInt(values.port) : void 0,
@@ -192,4 +192,4 @@ async function runCli(options) {
192
192
  export {
193
193
  runCli
194
194
  };
195
- //# sourceMappingURL=chunk-4F6HDVMT.js.map
195
+ //# sourceMappingURL=chunk-RSBISZON.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-4F6HDVMT.js";
4
+ } from "../chunk-RSBISZON.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-PNBH3RAX.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-4F6HDVMT.js";
4
+ } from "../chunk-RSBISZON.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-PNBH3RAX.js";
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "1.6.59",
3
+ "version": "1.6.61",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  VERSION,
8
8
  createServer
9
- } from "./chunk-MQYKNCH3.js";
9
+ } from "./chunk-NUXLDPXN.js";
10
10
  import "./chunk-GDE25PUA.js";
11
11
  import "./chunk-K5THP6KN.js";
12
12
  import "./chunk-NBU6KIOD.js";
@@ -187,4 +187,4 @@ async function runServe(options) {
187
187
  export {
188
188
  runServe
189
189
  };
190
- //# sourceMappingURL=serve-WHFXIC3X.js.map
190
+ //# sourceMappingURL=serve-L3JF62Z3.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-MQYKNCH3.js";
4
+ } from "../chunk-NUXLDPXN.js";
5
5
  import "../chunk-GDE25PUA.js";
6
6
  import "../chunk-K5THP6KN.js";
7
7
  import "../chunk-NBU6KIOD.js";
@@ -3,8 +3,10 @@
3
3
 
4
4
  window.__foxInspectMode = false;
5
5
  window.__foxSessionId = null;
6
+ window.__foxSessionTitle = null;
6
7
  window.__foxInspectEnabled = true;
7
8
  window.__foxSentPending = false;
9
+ window.__foxPopupOpen = false;
8
10
 
9
11
  var overlayStyle = document.createElement('style');
10
12
  overlayStyle.textContent = [
@@ -26,7 +28,8 @@
26
28
  '#__fox-popup button.__fox-send{background:#3b82f6;color:#fff;border:none;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:12px;font-family:inherit}',
27
29
  '#__fox-popup button.__fox-send:hover{background:#2563eb}',
28
30
  '#__fox-popup button.__fox-cancel{background:transparent;color:#888;border:1px solid #444;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:12px;font-family:inherit}',
29
- '#__fox-popup button.__fox-cancel:hover{color:#aaa;border-color:#666}'
31
+ '#__fox-popup button.__fox-cancel:hover{color:#aaa;border-color:#666}',
32
+ '#__fox-popup .__fox-hint{font-size:11px;color:#666;margin-top:6px;line-height:1.4}'
30
33
  ].join('\n');
31
34
 
32
35
  var overlay = document.createElement('div');
@@ -46,6 +49,13 @@
46
49
  }
47
50
  }
48
51
 
52
+ function clearHighlights() {
53
+ var highlighted = document.querySelectorAll('.__fox-highlight');
54
+ for (var i = 0; i < highlighted.length; i++) {
55
+ highlighted[i].classList.remove('__fox-highlight');
56
+ }
57
+ }
58
+
49
59
  function generateXPath(el) {
50
60
  if (!el || el.nodeType !== Node.ELEMENT_NODE) return '';
51
61
  var parts = [];
@@ -97,6 +107,7 @@
97
107
  var existing = document.getElementById('__fox-popup');
98
108
  if (existing) existing.remove();
99
109
 
110
+ window.__foxPopupOpen = true;
100
111
  var data = buildElementData(el);
101
112
  var viewportWidth = window.innerWidth;
102
113
  var viewportHeight = window.innerHeight;
@@ -119,6 +130,7 @@
119
130
  '<div class="__fox-tag">Element: <span>' + tagDisplay + '</span></div>' +
120
131
  '<div class="__fox-selector">' + data.xpath + '</div>' +
121
132
  '<textarea placeholder="What\'s wrong with this element?"></textarea>' +
133
+ '<div class="__fox-hint">Sending to: ' + (window.__foxSessionTitle || window.__foxSessionId || 'none') + '. To target a different session, close this, navigate to that session in OpenFox, and reopen the inspect window.</div>' +
122
134
  '<div class="__fox-actions">' +
123
135
  '<button class="__fox-cancel">Cancel</button>' +
124
136
  '<button class="__fox-send">Send to Agent</button>' +
@@ -138,6 +150,7 @@
138
150
 
139
151
  popup.querySelector('.__fox-cancel').addEventListener('click', function(e) {
140
152
  e.stopPropagation();
153
+ window.__foxPopupOpen = false;
141
154
  popup.remove();
142
155
  });
143
156
 
@@ -147,7 +160,9 @@
147
160
  window.__foxSentPending = true;
148
161
  setTimeout(function() { window.__foxSentPending = false; }, 3000);
149
162
  var annotation = textarea.value.trim();
163
+ window.__foxPopupOpen = false;
150
164
  popup.remove();
165
+ clearHighlights();
151
166
  setInspectMode(false);
152
167
 
153
168
  fetch('/__openfox_feedback', {
@@ -168,21 +183,24 @@
168
183
 
169
184
  document.addEventListener('keydown', function escHandler(e) {
170
185
  if (e.key === 'Escape') {
186
+ window.__foxPopupOpen = false;
171
187
  popup.remove();
188
+ clearHighlights();
189
+ setInspectMode(false);
172
190
  document.removeEventListener('keydown', escHandler);
173
191
  }
174
192
  });
175
193
  }
176
194
 
177
195
  document.addEventListener('mouseover', function(e) {
178
- if (!window.__foxInspectMode) return;
196
+ if (!window.__foxInspectMode || window.__foxPopupOpen) return;
179
197
  if (e.target === document.documentElement || e.target === document.body) return;
180
198
  if (overlay.contains(e.target)) return;
181
199
  e.target.classList.add('__fox-highlight');
182
200
  }, true);
183
201
 
184
202
  document.addEventListener('mouseout', function(e) {
185
- if (!window.__foxInspectMode) return;
203
+ if (!window.__foxInspectMode || window.__foxPopupOpen) return;
186
204
  if (e.target === document.documentElement || e.target === document.body) return;
187
205
  if (overlay.contains(e.target)) return;
188
206
  e.target.classList.remove('__fox-highlight');
@@ -208,6 +226,9 @@
208
226
  if (e.data && e.data.type === 'setFoxSessionId') {
209
227
  window.__foxSessionId = e.data.sessionId;
210
228
  }
229
+ if (e.data && e.data.type === 'setFoxSessionTitle') {
230
+ window.__foxSessionTitle = e.data.sessionTitle;
231
+ }
211
232
  if (e.data && e.data.type === 'setFoxInspectEnabled') {
212
233
  window.__foxInspectEnabled = e.data.enabled;
213
234
  overlay.style.display = e.data.enabled ? '' : 'none';