openfox 2.0.102 → 2.0.103
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.
- package/CHANGELOG.md +7 -0
- package/dist/CHANGELOG.md +7 -0
- package/dist/{chunk-QGWS2EBU.js → chunk-JL657X72.js} +3 -3
- package/dist/{chunk-6ZV3NYEE.js → chunk-REQIAJTV.js} +46 -10
- package/dist/chunk-SQYMFWY7.js +7 -0
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/package.json +1 -1
- package/dist/{serve-RKHLNGEV.js → serve-FE4UAXGE.js} +3 -3
- package/dist/server/index.js +2 -2
- package/dist/{update-N4GD5IUX.js → update-KMPQUPQT.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-SV3I2YNO.js +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.103 - 2026-07-30
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
- **LSP server crashes no longer freeze write_file/edit_file** — rapid process deaths during startup (e.g., rust-analyzer missing on macOS) are now caught early, letting the tool complete normally.
|
|
8
|
+
- **Hung LSP servers time out after 5 seconds** — the initialize handshake now has a timeout, preventing a non-responsive server from blocking the agent loop.
|
|
9
|
+
|
|
3
10
|
## 2.0.102 - 2026-07-29
|
|
4
11
|
|
|
5
12
|
### Features
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.103 - 2026-07-30
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
- **LSP server crashes no longer freeze write_file/edit_file** — rapid process deaths during startup (e.g., rust-analyzer missing on macOS) are now caught early, letting the tool complete normally.
|
|
8
|
+
- **Hung LSP servers time out after 5 seconds** — the initialize handshake now has a timeout, preventing a non-responsive server from blocking the agent loop.
|
|
9
|
+
|
|
3
10
|
## 2.0.102 - 2026-07-29
|
|
4
11
|
|
|
5
12
|
### Features
|
|
@@ -200,7 +200,7 @@ async function runCli(options) {
|
|
|
200
200
|
break;
|
|
201
201
|
}
|
|
202
202
|
case "update": {
|
|
203
|
-
const { runUpdate } = await import("./update-
|
|
203
|
+
const { runUpdate } = await import("./update-KMPQUPQT.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-
|
|
216
|
+
const { runServe } = await import("./serve-FE4UAXGE.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-
|
|
228
|
+
//# sourceMappingURL=chunk-JL657X72.js.map
|
|
@@ -121,7 +121,7 @@ import {
|
|
|
121
121
|
} from "./chunk-WWFH5GAR.js";
|
|
122
122
|
import {
|
|
123
123
|
VERSION
|
|
124
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-SQYMFWY7.js";
|
|
125
125
|
import {
|
|
126
126
|
clearWorkflowExecution,
|
|
127
127
|
createSession,
|
|
@@ -1732,7 +1732,30 @@ var DiagnosticSeverity = {
|
|
|
1732
1732
|
function hoverInfo(contents, range) {
|
|
1733
1733
|
return range ? { contents, range } : { contents };
|
|
1734
1734
|
}
|
|
1735
|
+
function withTimeout(promise, ms, label) {
|
|
1736
|
+
const outer = new Promise((resolve9, reject) => {
|
|
1737
|
+
const timer = setTimeout(() => {
|
|
1738
|
+
reject(new Error(`${label} timed out after ${ms}ms`));
|
|
1739
|
+
}, ms);
|
|
1740
|
+
promise.then(
|
|
1741
|
+
(val) => {
|
|
1742
|
+
clearTimeout(timer);
|
|
1743
|
+
resolve9(val);
|
|
1744
|
+
},
|
|
1745
|
+
(err) => {
|
|
1746
|
+
clearTimeout(timer);
|
|
1747
|
+
reject(err);
|
|
1748
|
+
}
|
|
1749
|
+
);
|
|
1750
|
+
promise.catch(() => {
|
|
1751
|
+
});
|
|
1752
|
+
});
|
|
1753
|
+
outer.catch(() => {
|
|
1754
|
+
});
|
|
1755
|
+
return outer;
|
|
1756
|
+
}
|
|
1735
1757
|
var DIAGNOSTIC_WAIT_MS = 2e3;
|
|
1758
|
+
var DEFAULT_INIT_TIMEOUT_MS = 5e3;
|
|
1736
1759
|
var SYMBOL_KIND_NAMES = {
|
|
1737
1760
|
1: "File",
|
|
1738
1761
|
2: "Module",
|
|
@@ -1795,10 +1818,12 @@ var LspServer = class {
|
|
|
1795
1818
|
// resolving the waiter so all waves are captured.
|
|
1796
1819
|
pendingDiagnosticDebounce = /* @__PURE__ */ new Map();
|
|
1797
1820
|
commandPath;
|
|
1798
|
-
|
|
1821
|
+
initTimeoutMs;
|
|
1822
|
+
constructor(config3, workdir, commandPath, initTimeoutMs) {
|
|
1799
1823
|
this.config = config3;
|
|
1800
1824
|
this.workdir = workdir;
|
|
1801
1825
|
this.commandPath = commandPath ?? config3.serverCommand;
|
|
1826
|
+
this.initTimeoutMs = initTimeoutMs ?? DEFAULT_INIT_TIMEOUT_MS;
|
|
1802
1827
|
}
|
|
1803
1828
|
// ============================================================================
|
|
1804
1829
|
// Lifecycle
|
|
@@ -1822,10 +1847,23 @@ var LspServer = class {
|
|
|
1822
1847
|
windowsHide: true,
|
|
1823
1848
|
shell: needsShell
|
|
1824
1849
|
});
|
|
1850
|
+
this.process.on("exit", (code) => {
|
|
1851
|
+
if (this.state === "running" || this.state === "starting") {
|
|
1852
|
+
logger.warn("LSP server exited unexpectedly", {
|
|
1853
|
+
language: this.config.id,
|
|
1854
|
+
code,
|
|
1855
|
+
state: this.state
|
|
1856
|
+
});
|
|
1857
|
+
this.handleProcessExit();
|
|
1858
|
+
}
|
|
1859
|
+
});
|
|
1825
1860
|
await new Promise((resolve9, reject) => {
|
|
1826
1861
|
this.process.once("spawn", resolve9);
|
|
1827
1862
|
this.process.once("error", reject);
|
|
1828
1863
|
});
|
|
1864
|
+
if (this.state !== "starting") {
|
|
1865
|
+
throw new Error(`LSP server process exited during startup (state: ${this.state})`);
|
|
1866
|
+
}
|
|
1829
1867
|
if (!this.process.stdin || !this.process.stdout) {
|
|
1830
1868
|
throw new Error("Failed to get stdio streams from language server process");
|
|
1831
1869
|
}
|
|
@@ -1845,12 +1883,6 @@ var LspServer = class {
|
|
|
1845
1883
|
logger.error("LSP server process error", { language: this.config.id, error: err.message });
|
|
1846
1884
|
this.handleProcessExit();
|
|
1847
1885
|
});
|
|
1848
|
-
this.process.on("exit", (code) => {
|
|
1849
|
-
if (this.state === "running") {
|
|
1850
|
-
logger.warn("LSP server exited unexpectedly", { language: this.config.id, code });
|
|
1851
|
-
this.handleProcessExit();
|
|
1852
|
-
}
|
|
1853
|
-
});
|
|
1854
1886
|
this.process.stderr?.on("data", (data) => {
|
|
1855
1887
|
const msg = data.toString().trim();
|
|
1856
1888
|
if (msg) {
|
|
@@ -1878,7 +1910,11 @@ var LspServer = class {
|
|
|
1878
1910
|
},
|
|
1879
1911
|
initializationOptions: this.config.initOptions
|
|
1880
1912
|
};
|
|
1881
|
-
const result = await
|
|
1913
|
+
const result = await withTimeout(
|
|
1914
|
+
this.connection.sendRequest(LSP.initialize, initParams),
|
|
1915
|
+
this.initTimeoutMs,
|
|
1916
|
+
"LSP initialize"
|
|
1917
|
+
);
|
|
1882
1918
|
logger.debug("LSP server initialized", {
|
|
1883
1919
|
language: this.config.id,
|
|
1884
1920
|
capabilities: result
|
|
@@ -8045,4 +8081,4 @@ export {
|
|
|
8045
8081
|
createServerHandle,
|
|
8046
8082
|
createServer
|
|
8047
8083
|
};
|
|
8048
|
-
//# sourceMappingURL=chunk-
|
|
8084
|
+
//# sourceMappingURL=chunk-REQIAJTV.js.map
|
package/dist/cli/dev.js
CHANGED
package/dist/cli/index.js
CHANGED
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-REQIAJTV.js";
|
|
4
4
|
import "./chunk-K6VVTE6C.js";
|
|
5
5
|
import "./chunk-62QCBNPE.js";
|
|
6
6
|
import "./chunk-W5RC44R6.js";
|
|
@@ -28,7 +28,7 @@ import "./chunk-W5FTCTGY.js";
|
|
|
28
28
|
import "./chunk-WWFH5GAR.js";
|
|
29
29
|
import {
|
|
30
30
|
VERSION
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-SQYMFWY7.js";
|
|
32
32
|
import "./chunk-2EYTYXWN.js";
|
|
33
33
|
import "./chunk-RZC6DAT2.js";
|
|
34
34
|
import {
|
|
@@ -220,4 +220,4 @@ async function runServe(options) {
|
|
|
220
220
|
export {
|
|
221
221
|
runServe
|
|
222
222
|
};
|
|
223
|
-
//# sourceMappingURL=serve-
|
|
223
|
+
//# sourceMappingURL=serve-FE4UAXGE.js.map
|
package/dist/server/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer,
|
|
3
3
|
createServerHandle
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-REQIAJTV.js";
|
|
5
5
|
import "../chunk-K6VVTE6C.js";
|
|
6
6
|
import "../chunk-62QCBNPE.js";
|
|
7
7
|
import "../chunk-W5RC44R6.js";
|
|
@@ -27,7 +27,7 @@ import "../chunk-EU3WWTFH.js";
|
|
|
27
27
|
import "../chunk-KKEBXFB3.js";
|
|
28
28
|
import "../chunk-W5FTCTGY.js";
|
|
29
29
|
import "../chunk-WWFH5GAR.js";
|
|
30
|
-
import "../chunk-
|
|
30
|
+
import "../chunk-SQYMFWY7.js";
|
|
31
31
|
import "../chunk-2EYTYXWN.js";
|
|
32
32
|
import "../chunk-RZC6DAT2.js";
|
|
33
33
|
import "../chunk-FQS7A5M4.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VERSION
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SQYMFWY7.js";
|
|
4
4
|
import "./chunk-5WRI5ZAA.js";
|
|
5
5
|
|
|
6
6
|
// src/cli/update.ts
|
|
@@ -46,4 +46,4 @@ async function runUpdate(options = {}) {
|
|
|
46
46
|
export {
|
|
47
47
|
runUpdate
|
|
48
48
|
};
|
|
49
|
-
//# sourceMappingURL=update-
|
|
49
|
+
//# sourceMappingURL=update-KMPQUPQT.js.map
|
package/package.json
CHANGED