@agent-link/agent 0.1.96 → 0.1.98
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/dist/auto-update.js +31 -21
- package/dist/auto-update.js.map +1 -1
- package/package.json +1 -1
package/dist/auto-update.js
CHANGED
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
* new version via npm, and restarts the daemon. The session URL is preserved
|
|
5
5
|
* through the existing agent.json sessionId restore mechanism.
|
|
6
6
|
*/
|
|
7
|
-
import { execSync } from 'child_process';
|
|
7
|
+
import { execSync, spawn } from 'child_process';
|
|
8
8
|
import { createRequire } from 'module';
|
|
9
|
-
import {
|
|
9
|
+
import { join } from 'path';
|
|
10
|
+
import { openSync } from 'fs';
|
|
11
|
+
import { loadConfig, getLogDir, getLogDate, cleanOldLogs } from './config.js';
|
|
10
12
|
import { getConversation } from './claude.js';
|
|
11
13
|
const require = createRequire(import.meta.url);
|
|
12
14
|
const pkg = require('../package.json');
|
|
@@ -75,32 +77,40 @@ async function checkAndUpdate(daemon) {
|
|
|
75
77
|
}
|
|
76
78
|
console.log(`[AutoUpdate] Updated to v${latestVersion}. Restarting daemon...`);
|
|
77
79
|
// Don't clear agent.json — the new process will restore sessionId from it.
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
+
// We can't use `agentlink-client start --daemon` synchronously because
|
|
81
|
+
// this process is still alive and the start command rejects "already running".
|
|
82
|
+
// Instead, spawn the new daemon.js directly (detached), then exit.
|
|
80
83
|
const config = loadConfig();
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
restartArgs.push('--password', config.password);
|
|
84
|
-
if (config.autoUpdate)
|
|
85
|
-
restartArgs.push('--auto-update');
|
|
84
|
+
// Resolve the new daemon.js from the freshly-installed package
|
|
85
|
+
let newDaemonScript;
|
|
86
86
|
try {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
stdio: 'ignore',
|
|
91
|
-
timeout: 15_000,
|
|
92
|
-
windowsHide: true,
|
|
93
|
-
});
|
|
87
|
+
const npmPrefix = execSync('npm prefix -g', { encoding: 'utf-8', windowsHide: true }).trim();
|
|
88
|
+
const pkgDir = join(npmPrefix, process.platform === 'win32' ? '' : 'lib', 'node_modules', '@agent-link', 'agent', 'dist');
|
|
89
|
+
newDaemonScript = join(pkgDir, 'daemon.js');
|
|
94
90
|
}
|
|
95
91
|
catch (err) {
|
|
96
|
-
|
|
97
|
-
// isn't left with a dead agent. The next update cycle will retry.
|
|
98
|
-
console.error(`[AutoUpdate] Failed to restart daemon: ${err.message}`);
|
|
92
|
+
console.error(`[AutoUpdate] Failed to locate new daemon script: ${err.message}`);
|
|
99
93
|
console.error('[AutoUpdate] Keeping current process alive. Will retry next cycle.');
|
|
100
94
|
return;
|
|
101
95
|
}
|
|
102
|
-
//
|
|
103
|
-
|
|
96
|
+
// Build config for the new daemon — preserve password, autoUpdate, and current settings
|
|
97
|
+
const newConfig = { ...config };
|
|
98
|
+
if (!newConfig.autoUpdate)
|
|
99
|
+
newConfig.autoUpdate = true; // we're in auto-update, keep it on
|
|
100
|
+
const logDir = getLogDir();
|
|
101
|
+
const dateTag = getLogDate();
|
|
102
|
+
cleanOldLogs(7);
|
|
103
|
+
const out = openSync(join(logDir, `agent-${dateTag}.log`), 'a');
|
|
104
|
+
const err = openSync(join(logDir, `agent-${dateTag}.err`), 'a');
|
|
105
|
+
console.log('[AutoUpdate] Spawning new daemon and exiting...');
|
|
106
|
+
const child = spawn(process.execPath, [newDaemonScript, JSON.stringify(newConfig)], {
|
|
107
|
+
detached: true,
|
|
108
|
+
stdio: ['ignore', out, err],
|
|
109
|
+
cwd: config.dir,
|
|
110
|
+
windowsHide: true,
|
|
111
|
+
});
|
|
112
|
+
child.unref();
|
|
113
|
+
// Exit old process — new daemon is starting
|
|
104
114
|
process.exit(0);
|
|
105
115
|
}
|
|
106
116
|
/**
|
package/dist/auto-update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../src/auto-update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-update.js","sourceRoot":"","sources":["../src/auto-update.ts"],"names":[],"mappings":"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"}
|