@agent-link/agent 0.1.23 → 0.1.24
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/service.js +34 -15
- package/dist/service.js.map +1 -1
- package/package.json +1 -1
package/dist/service.js
CHANGED
|
@@ -13,15 +13,30 @@ function getCliPath() {
|
|
|
13
13
|
function getNodePath() {
|
|
14
14
|
return process.execPath;
|
|
15
15
|
}
|
|
16
|
-
// ── Linux (systemd
|
|
16
|
+
// ── Linux (systemd) ──
|
|
17
|
+
function isRoot() {
|
|
18
|
+
return process.getuid?.() === 0;
|
|
19
|
+
}
|
|
17
20
|
function getSystemdUnitPath() {
|
|
21
|
+
if (isRoot()) {
|
|
22
|
+
return join('/etc/systemd/system', `${SERVICE_NAME}.service`);
|
|
23
|
+
}
|
|
18
24
|
return join(homedir(), '.config', 'systemd', 'user', `${SERVICE_NAME}.service`);
|
|
19
25
|
}
|
|
26
|
+
function systemctl(...args) {
|
|
27
|
+
const cmd = isRoot()
|
|
28
|
+
? `systemctl ${args.join(' ')}`
|
|
29
|
+
: `systemctl --user ${args.join(' ')}`;
|
|
30
|
+
execSync(cmd);
|
|
31
|
+
}
|
|
20
32
|
function generateSystemdUnit(config) {
|
|
21
33
|
const nodePath = getNodePath();
|
|
22
34
|
const cliPath = getCliPath();
|
|
23
35
|
const logDir = getLogDir();
|
|
24
36
|
const nodeBinDir = dirname(nodePath);
|
|
37
|
+
const userSection = isRoot()
|
|
38
|
+
? ''
|
|
39
|
+
: `Environment=PATH=${nodeBinDir}:${homedir()}/.local/bin:${homedir()}/.npm-global/bin:/usr/local/bin:/usr/bin:/bin\n`;
|
|
25
40
|
return `[Unit]
|
|
26
41
|
Description=AgentLink Agent
|
|
27
42
|
After=network-online.target
|
|
@@ -33,12 +48,11 @@ ExecStart=${nodePath} ${cliPath} start --server ${config.server} --dir ${config.
|
|
|
33
48
|
WorkingDirectory=${config.dir}
|
|
34
49
|
Restart=on-failure
|
|
35
50
|
RestartSec=10
|
|
36
|
-
|
|
37
|
-
StandardOutput=append:${logDir}/agent.log
|
|
51
|
+
${userSection}StandardOutput=append:${logDir}/agent.log
|
|
38
52
|
StandardError=append:${logDir}/agent.err
|
|
39
53
|
|
|
40
54
|
[Install]
|
|
41
|
-
WantedBy
|
|
55
|
+
WantedBy=${isRoot() ? 'multi-user.target' : 'default.target'}
|
|
42
56
|
`;
|
|
43
57
|
}
|
|
44
58
|
function linuxInstall(config) {
|
|
@@ -46,24 +60,29 @@ function linuxInstall(config) {
|
|
|
46
60
|
mkdirSync(dirname(unitPath), { recursive: true });
|
|
47
61
|
mkdirSync(getLogDir(), { recursive: true });
|
|
48
62
|
writeFileSync(unitPath, generateSystemdUnit(config));
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
63
|
+
systemctl('daemon-reload');
|
|
64
|
+
systemctl('enable', SERVICE_NAME);
|
|
65
|
+
systemctl('start', SERVICE_NAME);
|
|
66
|
+
const scope = isRoot() ? 'system' : 'user';
|
|
67
|
+
const ctl = isRoot() ? 'systemctl' : 'systemctl --user';
|
|
68
|
+
const jctl = isRoot() ? 'journalctl' : 'journalctl --user';
|
|
69
|
+
console.log(`Service installed and started (${scope}-level).`);
|
|
53
70
|
console.log(`\nUnit file: ${unitPath}`);
|
|
54
71
|
console.log('\nUseful commands:');
|
|
55
|
-
console.log(`
|
|
56
|
-
console.log(`
|
|
57
|
-
|
|
58
|
-
|
|
72
|
+
console.log(` ${ctl} status ${SERVICE_NAME}`);
|
|
73
|
+
console.log(` ${jctl} -u ${SERVICE_NAME} -f`);
|
|
74
|
+
if (!isRoot()) {
|
|
75
|
+
console.log('\nTo run when not logged in:');
|
|
76
|
+
console.log(' sudo loginctl enable-linger $(whoami)');
|
|
77
|
+
}
|
|
59
78
|
}
|
|
60
79
|
function linuxUninstall() {
|
|
61
80
|
try {
|
|
62
|
-
|
|
81
|
+
systemctl('stop', `${SERVICE_NAME} 2>/dev/null`);
|
|
63
82
|
}
|
|
64
83
|
catch { }
|
|
65
84
|
try {
|
|
66
|
-
|
|
85
|
+
systemctl('disable', `${SERVICE_NAME} 2>/dev/null`);
|
|
67
86
|
}
|
|
68
87
|
catch { }
|
|
69
88
|
const unitPath = getSystemdUnitPath();
|
|
@@ -71,7 +90,7 @@ function linuxUninstall() {
|
|
|
71
90
|
unlinkSync(unitPath);
|
|
72
91
|
}
|
|
73
92
|
try {
|
|
74
|
-
|
|
93
|
+
systemctl('daemon-reload');
|
|
75
94
|
}
|
|
76
95
|
catch { }
|
|
77
96
|
console.log('Service uninstalled.');
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EACL,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAC9C,WAAW,EAAE,cAAc,GAC5B,MAAM,aAAa,CAAC;AAErB,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAE5C,SAAS,UAAU;IACjB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC1B,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EACL,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAC9C,WAAW,EAAE,cAAc,GAC5B,MAAM,aAAa,CAAC;AAErB,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAE5C,SAAS,UAAU;IACjB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC1B,CAAC;AAED,wBAAwB;AAExB,SAAS,MAAM;IACb,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,MAAM,EAAE,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,qBAAqB,EAAE,GAAG,YAAY,UAAU,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,UAAU,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAc;IAClC,MAAM,GAAG,GAAG,MAAM,EAAE;QAClB,CAAC,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC/B,CAAC,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACzC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmB;IAC9C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,WAAW,GAAG,MAAM,EAAE;QAC1B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,oBAAoB,UAAU,IAAI,OAAO,EAAE,eAAe,OAAO,EAAE,iDAAiD,CAAC;IAEzH,OAAO;;;;;;;YAOG,QAAQ,IAAI,OAAO,mBAAmB,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,GAAG,WAAW,MAAM,CAAC,IAAI;mBACtF,MAAM,CAAC,GAAG;;;EAG3B,WAAW,yBAAyB,MAAM;uBACrB,MAAM;;;WAGlB,MAAM,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB;CAC3D,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,MAAmB;IACvC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,aAAa,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAClC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,kCAAkC,KAAK,UAAU,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,YAAY,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,YAAY,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,CAAC;QAAC,SAAS,CAAC,MAAM,EAAE,GAAG,YAAY,cAAc,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAClE,IAAI,CAAC;QAAC,SAAS,CAAC,SAAS,EAAE,GAAG,YAAY,cAAc,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACrE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,CAAC;QAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACtC,CAAC;AAED,8BAA8B;AAE9B,SAAS,mBAAmB;IAC1B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,aAAa,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAmB;IAC/C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,OAAO;;;;;cAKK,aAAa;;;kBAGT,QAAQ;kBACR,OAAO;;;kBAGP,MAAM,CAAC,MAAM;;kBAEb,MAAM,CAAC,GAAG;;kBAEV,MAAM,CAAC,IAAI;;;cAGf,MAAM,CAAC,GAAG;;;;;;;;;;;cAWV,MAAM;;cAEN,MAAM;;;CAGnB,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,MAAmB;IACrC,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YAAC,QAAQ,CAAC,qBAAqB,SAAS,eAAe,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IAC3E,CAAC;IACD,aAAa,CAAC,SAAS,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,mBAAmB,SAAS,GAAG,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,2BAA2B,aAAa,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YAAC,QAAQ,CAAC,qBAAqB,SAAS,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAC7D,UAAU,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACtC,CAAC;AAED,sCAAsC;AAEtC,SAAS,iBAAiB;IACxB,MAAM,UAAU,GAAG,IAAI,CACrB,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAC5D,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,CAC5D,CAAC;IACF,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,YAAY,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAmB;IAC7C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,iBAAiB,QAAQ,MAAM,OAAO,6BAA6B,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,GAAG,YAAY,MAAM,CAAC,IAAI,MAAM,CAAC;AAC5I,CAAC;AAED,SAAS,UAAU,CAAC,MAAmB;IACrC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,aAAa,CAAC,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;IAE1C,sBAAsB;IACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,QAAQ,CACN,IAAI,WAAW,EAAE,MAAM,UAAU,EAAE,6BAA6B,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,GAAG,YAAY,MAAM,CAAC,IAAI,EAAE,EAC3H,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,UAAU,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,4BAA4B;IAC5B,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,IAAI,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACpD,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,iBAAiB,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACtC,CAAC;AAED,0BAA0B;AAE1B,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,CAAC,KAAK,OAAO;QAAE,YAAY,CAAC,MAAM,CAAC,CAAC;SACnC,IAAI,CAAC,KAAK,QAAQ;QAAE,UAAU,CAAC,MAAM,CAAC,CAAC;SACvC,IAAI,CAAC,KAAK,OAAO;QAAE,UAAU,CAAC,MAAM,CAAC,CAAC;SACtC,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEjD,IAAI,CAAC,KAAK,OAAO;QAAE,cAAc,EAAE,CAAC;SAC/B,IAAI,CAAC,KAAK,QAAQ;QAAE,YAAY,EAAE,CAAC;SACnC,IAAI,CAAC,KAAK,OAAO;QAAE,YAAY,EAAE,CAAC;SAClC,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|