agim-cli 1.0.10 → 1.0.11
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
CHANGED
|
@@ -4,6 +4,32 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.0.11] - 2026-05-13
|
|
8
|
+
|
|
9
|
+
### Fixed - /restart races systemd own restart in systemd-managed installs
|
|
10
|
+
|
|
11
|
+
P0 bug from v1.0.9-v1.0.10: restart-flow always spawned a detached helper to
|
|
12
|
+
respawn, even when systemd was the supervisor. systemd would see its
|
|
13
|
+
managed PID exit and try its own restart; the helper had already bound :3000;
|
|
14
|
+
systemd entered auto-restart loop while a background daemon owned the port.
|
|
15
|
+
|
|
16
|
+
Fix in core/restart-flow.ts initiateRestart(): now branches on detected
|
|
17
|
+
service mode BEFORE writing the pending file:
|
|
18
|
+
|
|
19
|
+
- systemd -> run systemctl restart <unit> in a detached child.
|
|
20
|
+
systemd handles the lifecycle; no helper, no race.
|
|
21
|
+
- foreground -> refuse with friendly error pointing back to the
|
|
22
|
+
owning shell.
|
|
23
|
+
- background -> existing detached-helper path (only when no external
|
|
24
|
+
supervisor manages lifecycle).
|
|
25
|
+
|
|
26
|
+
### Cleanup for affected v1.0.9 / v1.0.10 installs
|
|
27
|
+
|
|
28
|
+
pgrep -af dist/cli.js # see surviving daemons
|
|
29
|
+
pkill -9 -f dist/cli.js
|
|
30
|
+
systemctl reset-failed im-hub
|
|
31
|
+
systemctl restart im-hub
|
|
32
|
+
|
|
7
33
|
## [1.0.10] - 2026-05-13
|
|
8
34
|
|
|
9
35
|
### Added — first-run admin onboarding
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restart-flow.d.ts","sourceRoot":"","sources":["../../src/core/restart-flow.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,oBAAoB,QAA0C,CAAA;AAC3E,eAAO,MAAM,kBAAkB,QAAwC,CAAA;AAIvE;0EAC0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B;mBACe;IACf,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,CAAA;IAC5B;gDAC4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;gCAE4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAA;IACV,SAAS,EAAE,gBAAgB,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB;;qCAEiC;IACjC,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAA;IACX;wEACoE;IACpE,OAAO,EAAE,MAAM,CAAA;IACf,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAmBD,wBAAsB,eAAe,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"restart-flow.d.ts","sourceRoot":"","sources":["../../src/core/restart-flow.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,oBAAoB,QAA0C,CAAA;AAC3E,eAAO,MAAM,kBAAkB,QAAwC,CAAA;AAIvE;0EAC0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B;mBACe;IACf,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,CAAA;IAC5B;gDAC4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;gCAE4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAA;IACV,SAAS,EAAE,gBAAgB,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB;;qCAEiC;IACjC,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAA;IACX;wEACoE;IACpE,OAAO,EAAE,MAAM,CAAA;IACf,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAmBD,wBAAsB,eAAe,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CA6H1F"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
// restart-completion.ts) which reads the file, runs self-health, pushes
|
|
21
21
|
// the completion message to the initiator's IM thread, and deletes the
|
|
22
22
|
// file.
|
|
23
|
-
import { existsSync, writeFileSync } from 'node:fs';
|
|
23
|
+
import { existsSync, writeFileSync, unlinkSync } from 'node:fs';
|
|
24
24
|
import { spawn } from 'node:child_process';
|
|
25
25
|
import { dirname, join } from 'node:path';
|
|
26
26
|
import { fileURLToPath } from 'node:url';
|
|
@@ -92,6 +92,53 @@ export async function initiateRestart(initiator) {
|
|
|
92
92
|
errors: [String(err)],
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
|
+
// 3.5 Mode-aware respawn. CRITICAL: when systemd manages this
|
|
96
|
+
// process we MUST NOT spawn a detached helper - it would race
|
|
97
|
+
// systemctl on :3000. v1.0.10 had this exact bug.
|
|
98
|
+
const { detectService } = await import('../cli-ui/service.js');
|
|
99
|
+
const svcState = detectService();
|
|
100
|
+
if (svcState.mode === 'foreground') {
|
|
101
|
+
try {
|
|
102
|
+
unlinkSync(RESTART_PENDING_FILE);
|
|
103
|
+
}
|
|
104
|
+
catch { /* ignore */ }
|
|
105
|
+
return {
|
|
106
|
+
ok: false,
|
|
107
|
+
message: '🚫 重启取消:检测到前台运行的 agim(pid ' + (svcState.pid ?? '?') + ')。它由另一个 shell 持有 stdio,请回那个终端 Ctrl-C 后重启,或改用 systemd / `agim start --bg`。',
|
|
108
|
+
errors: ['foreground service cannot be safely restarted from a separate context'],
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
if (svcState.mode === 'systemd') {
|
|
112
|
+
const unitName = existsSync('/etc/systemd/system/agim.service')
|
|
113
|
+
? 'agim.service'
|
|
114
|
+
: (existsSync('/etc/systemd/system/im-hub.service') ? 'im-hub.service' : null);
|
|
115
|
+
if (unitName) {
|
|
116
|
+
log.info({
|
|
117
|
+
event: 'restart-flow.systemd_restart',
|
|
118
|
+
unit: unitName,
|
|
119
|
+
source: initiator.source,
|
|
120
|
+
}, 'issuing systemctl restart - systemd will kill+respawn this process');
|
|
121
|
+
try {
|
|
122
|
+
spawn('systemctl', ['restart', unitName], {
|
|
123
|
+
detached: true,
|
|
124
|
+
stdio: 'ignore',
|
|
125
|
+
}).unref();
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
log.error({
|
|
129
|
+
event: 'restart-flow.systemctl_spawn_failed',
|
|
130
|
+
err: err instanceof Error ? err.message : String(err),
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
ok: true,
|
|
135
|
+
message: pre.warnings.length === 0
|
|
136
|
+
? '🔄 重启中(systemd 接管)… 预计 5-10 秒内回来。'
|
|
137
|
+
: `🔄 重启中(systemd 接管)… 预计 5-10 秒内回来。\n 注意:${pre.warnings.join(';')}`,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
log.warn({ event: 'restart-flow.systemd_unit_missing' }, 'detectService said systemd but no unit file found; falling through to background helper');
|
|
141
|
+
}
|
|
95
142
|
// 4. Schedule helper + self-exit. We delay 300 ms so the caller's HTTP /
|
|
96
143
|
// IM response has time to flush before SIGTERM lands.
|
|
97
144
|
const cliJs = join(__dirname, '..', 'cli.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restart-flow.js","sourceRoot":"","sources":["../../src/core/restart-flow.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,iEAAiE;AACjE,sEAAsE;AACtE,iBAAiB;AACjB,EAAE;AACF,mEAAmE;AACnE,uEAAuE;AACvE,2DAA2D;AAC3D,sBAAsB;AACtB,EAAE;AACF,YAAY;AACZ,oEAAoE;AACpE,gDAAgD;AAChD,0DAA0D;AAC1D,uDAAuD;AACvD,oEAAoE;AACpE,wDAAwD;AACxD,EAAE;AACF,gEAAgE;AAChE,wEAAwE;AACxE,uEAAuE;AACvE,QAAQ;AAER,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"restart-flow.js","sourceRoot":"","sources":["../../src/core/restart-flow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agim-cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"description": "Agim (阿吉姆) — universal messenger-to-agent bridge. Connect WeChat / Feishu / DingTalk / Telegram / Discord to Claude Code / Codex / Copilot / OpenCode, or any custom agent via ACP. Installs the `agim` command.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|