local-commander-agent 0.3.40 → 0.3.41
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 +6 -0
- package/bin/command-path.mjs +2 -1
- package/package.json +47 -47
- package/runtime/JobHost.exe +0 -0
- package/runtime/LocalCommanderAgent.exe +0 -0
- package/runtime/OwnerBridge.exe +0 -0
- package/runtime/agent.mjs +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Change history
|
|
2
2
|
|
|
3
|
+
## 0.3.41 - 2026-10-17
|
|
4
|
+
|
|
5
|
+
- Fix: the agent no longer exits when the Local Commander service stops answering, for example during a server restart. A connection attempt that gets no answer now gives up after 10 seconds and the agent tries again 2 seconds later, so the computer comes back online by itself.
|
|
6
|
+
- Fix: `update` no longer reports a failure when Windows takes longer than 15 seconds to announce the PATH change. The update had already finished.
|
|
7
|
+
- Includes everything in 0.3.40.
|
|
8
|
+
|
|
3
9
|
## 0.3.40 - 2026-10-16
|
|
4
10
|
|
|
5
11
|
- Docs: the README covers only what this package installs. Developer-only notes are removed, and the release-history link no longer points to a private repository.
|
package/bin/command-path.mjs
CHANGED
|
@@ -213,9 +213,10 @@ Write-Output 'USER_PATH_READY'
|
|
|
213
213
|
|
|
214
214
|
export function updateUserPath(bin, remove = false) {
|
|
215
215
|
if (!path.isAbsolute(bin) || /[;"\r\n\0]/.test(bin)) throw Error("COMMAND_PATH_INVALID");
|
|
216
|
+
// The settings broadcast waits up to 1 s per top-level window; a busy desktop took 19 s (2026-10-17).
|
|
216
217
|
const result = spawnSync(powershellPath(),
|
|
217
218
|
["-NoLogo", "-NoProfile", "-NonInteractive", "-EncodedCommand", Buffer.from(USER_PATH_SCRIPT, "utf16le").toString("base64")], {
|
|
218
|
-
windowsHide: true, encoding: "utf8", timeout:
|
|
219
|
+
windowsHide: true, encoding: "utf8", timeout: 60_000,
|
|
219
220
|
env: { ...process.env, LC_COMMAND_BIN: bin, LC_COMMAND_PATH_REMOVE: remove ? "1" : "0" }
|
|
220
221
|
});
|
|
221
222
|
if (result.error || result.status !== 0 || result.stdout.trim() !== "USER_PATH_READY") throw Error("USER_PATH_UPDATE_FAILED");
|
package/package.json
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "local-commander-agent",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "Windows companion for Local Commander: connect AI clients to local files, approved commands and localhost. Requires https://localcmd.app.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"localcommander": "bin/localcommander.mjs"
|
|
8
|
-
},
|
|
9
|
-
"os": [
|
|
10
|
-
"win32"
|
|
11
|
-
],
|
|
12
|
-
"cpu": [
|
|
13
|
-
"x64"
|
|
14
|
-
],
|
|
15
|
-
"engines": {
|
|
16
|
-
"node": ">=20.0.0"
|
|
17
|
-
},
|
|
18
|
-
"files": [
|
|
19
|
-
"bin/",
|
|
20
|
-
"runtime/",
|
|
21
|
-
"README.md",
|
|
22
|
-
"CHANGELOG.md"
|
|
23
|
-
],
|
|
24
|
-
"scripts": {
|
|
25
|
-
"prepack": "node ../../scripts/build-npm-agent.mjs",
|
|
26
|
-
"prepublishOnly": "node ../../scripts/check-npm-publish-auth.mjs && node ../../scripts/verify-npm-agent.mjs"
|
|
27
|
-
},
|
|
28
|
-
"publishConfig": {
|
|
29
|
-
"access": "public"
|
|
30
|
-
},
|
|
31
|
-
"keywords": [
|
|
32
|
-
"mcp",
|
|
33
|
-
"local",
|
|
34
|
-
"agent",
|
|
35
|
-
"chatgpt",
|
|
36
|
-
"claude",
|
|
37
|
-
"windows"
|
|
38
|
-
],
|
|
39
|
-
"localCommander": {
|
|
40
|
-
"controlPlaneOrigin": "https://localcmd.app"
|
|
41
|
-
},
|
|
42
|
-
"homepage": "https://localcmd.app",
|
|
43
|
-
"bugs": {
|
|
44
|
-
"url": "https://localcmd.app/support",
|
|
45
|
-
"email": "peter.mamrukov@localcmd.app"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "local-commander-agent",
|
|
3
|
+
"version": "0.3.41",
|
|
4
|
+
"description": "Windows companion for Local Commander: connect AI clients to local files, approved commands and localhost. Requires https://localcmd.app.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"localcommander": "bin/localcommander.mjs"
|
|
8
|
+
},
|
|
9
|
+
"os": [
|
|
10
|
+
"win32"
|
|
11
|
+
],
|
|
12
|
+
"cpu": [
|
|
13
|
+
"x64"
|
|
14
|
+
],
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=20.0.0"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"bin/",
|
|
20
|
+
"runtime/",
|
|
21
|
+
"README.md",
|
|
22
|
+
"CHANGELOG.md"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"prepack": "node ../../scripts/build-npm-agent.mjs",
|
|
26
|
+
"prepublishOnly": "node ../../scripts/check-npm-publish-auth.mjs && node ../../scripts/verify-npm-agent.mjs"
|
|
27
|
+
},
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"mcp",
|
|
33
|
+
"local",
|
|
34
|
+
"agent",
|
|
35
|
+
"chatgpt",
|
|
36
|
+
"claude",
|
|
37
|
+
"windows"
|
|
38
|
+
],
|
|
39
|
+
"localCommander": {
|
|
40
|
+
"controlPlaneOrigin": "https://localcmd.app"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://localcmd.app",
|
|
43
|
+
"bugs": {
|
|
44
|
+
"url": "https://localcmd.app/support",
|
|
45
|
+
"email": "peter.mamrukov@localcmd.app"
|
|
46
|
+
}
|
|
47
|
+
}
|
package/runtime/JobHost.exe
CHANGED
|
Binary file
|
|
Binary file
|
package/runtime/OwnerBridge.exe
CHANGED
|
Binary file
|
package/runtime/agent.mjs
CHANGED
|
@@ -45177,6 +45177,8 @@ async function connectOnce(options) {
|
|
|
45177
45177
|
handshakeTimeout: connectTimeoutMs,
|
|
45178
45178
|
maxPayload: maxFrameBytes
|
|
45179
45179
|
});
|
|
45180
|
+
socket.on("error", () => {
|
|
45181
|
+
});
|
|
45180
45182
|
try {
|
|
45181
45183
|
await waitForOpen(socket, connectTimeoutMs);
|
|
45182
45184
|
sendJson(socket, {
|
|
@@ -45350,8 +45352,6 @@ async function connectOnce(options) {
|
|
|
45350
45352
|
};
|
|
45351
45353
|
socket.on("message", handleFrame);
|
|
45352
45354
|
for (const data of handshakeBuffer) handleFrame(data);
|
|
45353
|
-
socket.on("error", () => {
|
|
45354
|
-
});
|
|
45355
45355
|
return {
|
|
45356
45356
|
tenantId,
|
|
45357
45357
|
deviceId,
|
|
@@ -48401,7 +48401,7 @@ async function restoreContentAudit(input2, output2, key) {
|
|
|
48401
48401
|
}
|
|
48402
48402
|
|
|
48403
48403
|
// agent/src/main.ts
|
|
48404
|
-
var AGENT_VERSION2 = true ? "0.3.
|
|
48404
|
+
var AGENT_VERSION2 = true ? "0.3.41" : "0.3.2";
|
|
48405
48405
|
var NETWORK_PUBLIC_KEY = true ? "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAvmu+81vWtJBQDZNHcAIW\nzCSxpG+R9RBsum2df5mP2cOW+wyUDTpnYquFge1qgI5YYTF96j0xCyXL8B9FeNWs\n939opWNmv53j+CQlS4cEIQhBbZSCu0eC4icsVEzBhvf68MB+E668SOtZBcVTEnyh\n96PTcupxS10rQJBWDinbKBXRC2gvGYeu01rWa/nsrndy4vAYP5t3yQtdOC8e8mr0\n+2Mg2Qhiq+KiTCtDd+L9oXvoLqqJYbzUIveNGha25AWxF1Weblp0gOM87hell5gV\nK7q4ZLUq/wBRGYNmQRdLyV7/WRE1FFPSW21/SBZQ/5aU4UqJU/MjMcrJUrnRKngz\nYKmo0czkxS3N7Q2KVxomgR1AQSuQFKMrboZYKjShADp9RIYUxzs7cYg51Of5PnHh\n6Ax+VevDGfzjMD+yHuyxYZqCtX4OwgolJxz63UQbzKlris+8xb5lLYTbIuz90Pss\nn6HK/F5May25c6oMmS3nh/NsiZopL1OvdtWKTt1L4WlRAgMBAAE=\n-----END PUBLIC KEY-----\n" : "";
|
|
48406
48406
|
var AI_CONNECTION_SHIPPED = false;
|
|
48407
48407
|
function processAlive(pid) {
|