agim-cli 1.2.143 → 1.2.144

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,91 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.2.144] - 2026-06-05
8
+
9
+ ### Security (CR 修复:反代鉴权绕过 + role=user 权限收窄)
10
+
11
+ 由 codex 完成的深度 CR 在 viewer-paste 报告中定位了两个 P0 安全问题,
12
+ 本版本接管收尾、跑齐验证、build、release。
13
+
14
+ #### P0-1 — 反代场景下 loopback 绕过鉴权 + 自动 admin
15
+
16
+ **根因**:`checkAuth()` / `isRequestAdmin()` 之前只看 `isLoopbackPeer(req)`
17
+ (remoteAddress 是否 127.0.0.1 / ::1)。反代到本机的请求 socket 来源全部
18
+ 是 loopback,于是**外部任何人通过反代访问都直接绕过 token、自动 admin**。
19
+
20
+ **修复**:新增 `isTrustedLoopbackPeer()` 三层检查:
21
+ 1. `isLoopbackPeer(req)`(原有)
22
+ 2. `IMHUB_TRUST_LOOPBACK !== off`(新增 env kill switch)
23
+ 3. **`!hasForwardedPeerHeaders(req)`** — 任一 `Forwarded` / `X-Forwarded-*`
24
+ / `X-Real-IP` / `CF-Connecting-IP` header 出现 → 视为反代后流量,
25
+ 走正常 token 路径
26
+
27
+ 实测验证(反代场景):
28
+ ```
29
+ curl -H "X-Forwarded-For: 1.2.3.4" 127.0.0.1:3000/api/config
30
+ → 401 unauthorized(原先 200)
31
+ ```
32
+
33
+ #### P0-2 — role=user token 越权(mobile QR 入口)
34
+
35
+ **根因**:v1.2.129 加的 mobile-QR 流程发的 `role=user` token 当时认为
36
+ "低权限只能聊天",但**大量后台 `/api/*` endpoints 在路由层只检查 token
37
+ 有效**、未检查 role。所以扫码登录的"user"实际能:
38
+ - 创建 / 取消 / 运行 jobs(`/api/jobs*`)
39
+ - 列出 / 取消 / snooze reminders(`/api/reminders*`)
40
+ - 查 / 删 memos(`/api/memos*`)
41
+ - 读 env(masked,但仍泄露 provider 列表)
42
+ - 枚举 memory users、导出 memory(`/api/memory/*`)
43
+ - 看 / 改 workspace 文件(`/api/workspace-files*`)
44
+ - 看 SSE event stream(`/events`)
45
+ - 处理 approvals(`/api/approvals*`)
46
+ - 看 consolidate status
47
+
48
+ **修复**:给上述全部 endpoints 加 `requireAdmin(req, res)` 守门。`role=user`
49
+ token 只能用预期的几个用户面 endpoint(chat / memory consolidate trigger)。
50
+ admin 操作回到 admin token 专属。
51
+
52
+ #### P2 — uncaughtException 不再静默吞掉
53
+
54
+ **根因**:cli.ts 的 `uncaughtException` handler 之前只 log 不退,导致
55
+ 进程留在不一致状态(SQLite half-flushed、approval 卡死等)。
56
+
57
+ **修复**:`uncaughtException` → 触发 `gracefulShutdown('uncaughtException', 1)`
58
+ 走 25s hard-deadline 通路,关闭所有 adapter、flush DB、`process.exit(1)`。
59
+ systemd `Restart=always` 会自动拉起来。
60
+
61
+ #### 诊断改进
62
+
63
+ - `web.auth_mode` boot log 新增 `trustLoopback: bool` 字段,operator 一眼
64
+ 看到当前模式
65
+ - `__webAuthForTesting` export — 把 `isTrustedLoopbackPeer` + `isRequestAdmin`
66
+ + `setTokenModule` 露给 unit test 用,新增 5 case 覆盖反代 / kill switch /
67
+ user token 越权防御
68
+
69
+ ### Code quality
70
+
71
+ - npm run typecheck:双 tsc 全绿(之前 plan-mode.test.ts / agent-loop-schema
72
+ / native-stage-report 都有 ts 错)
73
+ - npm run lint:0 errors(warnings/infos 留作 backlog;之前 9 errors)
74
+ - 关键测试套件 40/40 绿(web-auth-guards × 5、a2a × 8、call-agent v1.2.139
75
+ × 9、llm-secrets-vendor × 10、native-stage-report × 8)
76
+
77
+ ### 没在范围
78
+
79
+ - P2-2(readBody 413 后 req.destroy)— 留到下一版
80
+ - lint warnings(290)/ infos(77)— 历史包袱不在本轮 scope
81
+
82
+ ### 文件
83
+
84
+ - `src/web/server.ts` — `hasForwardedPeerHeaders` / `isTrustedLoopbackPeer` /
85
+ `__webAuthForTesting` 导出 + ~12 个 endpoint 加 `requireAdmin`
86
+ - `src/cli.ts` — `uncaughtException` 走 fatal-shutdown
87
+ - `src/core/access-token.ts` — 文档注释更新
88
+ - `package.json` — devDep 加 `bun: ^1.3.14`(让 npm test 能跑)
89
+ - `test/unit/web-auth-guards.test.ts` — 5 case 新增
90
+ - `AGENTS.md` — 文档同步
91
+
7
92
  ## [1.2.143] - 2026-06-04
8
93
 
9
94
  ### Fixed (codex 0.137 适配 + binary cache 自愈)
@@ -1,4 +1,5 @@
1
1
  export interface ChatMessage {
2
+ id?: string;
2
3
  role: 'user' | 'assistant' | 'system';
3
4
  content: string;
4
5
  pending?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/cli-ui/tui/app.tsx"],"names":[],"mappings":"AAqCA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAmDD,UAAU,QAAQ;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uDAAuD;IACvD,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE,CAAA;IACjE;uDACmD;IACnD,SAAS,EAAE,MAAM,CAAA;CAClB;AA0CD,wBAAgB,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAihBlF"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/cli-ui/tui/app.tsx"],"names":[],"mappings":"AAqCA,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA+DD,UAAU,QAAQ;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uDAAuD;IACvD,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE,CAAA;IACjE;uDACmD;IACnD,SAAS,EAAE,MAAM,CAAA;CAClB;AA0CD,wBAAgB,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAohBlF"}
@@ -31,6 +31,17 @@ import { logger as rootLogger } from '../../core/logger.js';
31
31
  import { Markdown } from './markdown.js';
32
32
  import { saveSession } from './sessions.js';
33
33
  const log = rootLogger.child({ component: 'tui' });
34
+ let messageSeq = 0;
35
+ function nextMessageId() {
36
+ messageSeq += 1;
37
+ return `tui-msg-${Date.now().toString(36)}-${messageSeq.toString(36)}`;
38
+ }
39
+ function withMessageId(message) {
40
+ return message.id ? message : { ...message, id: nextMessageId() };
41
+ }
42
+ function withMessageIds(messages) {
43
+ return messages.map(withMessageId);
44
+ }
34
45
  const SLASH_COMMANDS = [
35
46
  { name: '/agents', description: '列出已注册的 agent' },
36
47
  { name: '/agent', description: '切换 agent — 例:/agent codex', takesArg: true },
@@ -82,16 +93,16 @@ const ChatHistory = React.memo(function ChatHistory({ messages, agent, chatWidth
82
93
  if (messages.length === 0) {
83
94
  return (_jsx(Box, { paddingX: 1, marginTop: 1, children: _jsx(Text, { dimColor: true, children: "(\u7A7A) \u8F93\u5165\u6D88\u606F\u5F00\u59CB\u5BF9\u8BDD \u00B7 / \u5524\u51FA\u547D\u4EE4 \u00B7 ! \u884C\u5185 shell \u00B7 @ \u5F15\u7528\u6587\u4EF6 \u00B7 Ctrl-P \u547D\u4EE4\u9762\u677F" }) }));
84
95
  }
85
- return (_jsx(Box, { flexDirection: "column", paddingX: 1, marginTop: 1, children: messages.map((m, i) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, width: chatWidth, children: [_jsxs(Text, { children: [m.role === 'user' && _jsx(Text, { color: "cyan", bold: true, children: "\u4F60 " }), m.role === 'assistant' && _jsxs(Text, { color: "magenta", bold: true, children: [m.agentName || agent || 'agent', " "] }), m.role === 'system' && _jsx(Text, { color: "yellow", bold: true, children: "\u7CFB\u7EDF " }), m.pending && _jsx(Text, { dimColor: true, children: "\u00B7 \u751F\u6210\u4E2D\u2026\uFF08Esc \u53D6\u6D88\uFF09" })] }), m.role === 'assistant' && !m.pending
96
+ return (_jsx(Box, { flexDirection: "column", paddingX: 1, marginTop: 1, children: messages.map((m) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, width: chatWidth, children: [_jsxs(Text, { children: [m.role === 'user' && _jsx(Text, { color: "cyan", bold: true, children: "\u4F60 " }), m.role === 'assistant' && _jsxs(Text, { color: "magenta", bold: true, children: [m.agentName || agent || 'agent', " "] }), m.role === 'system' && _jsx(Text, { color: "yellow", bold: true, children: "\u7CFB\u7EDF " }), m.pending && _jsx(Text, { dimColor: true, children: "\u00B7 \u751F\u6210\u4E2D\u2026\uFF08Esc \u53D6\u6D88\uFF09" })] }), m.role === 'assistant' && !m.pending
86
97
  ? _jsx(Markdown, { source: m.content })
87
- : _jsx(Text, { children: m.content || (m.pending ? '…' : '') }), m.role === 'assistant' && !m.pending && m.elapsedMs !== undefined && (_jsxs(Text, { dimColor: true, children: ["\u25A0 ", m.agentName || agent, " \u00B7 ", (m.elapsedMs / 1000).toFixed(1), "s"] }))] }, i))) }));
98
+ : _jsx(Text, { children: m.content || (m.pending ? '…' : '') }), m.role === 'assistant' && !m.pending && m.elapsedMs !== undefined && (_jsxs(Text, { dimColor: true, children: ["\u25A0 ", m.agentName || agent, " \u00B7 ", (m.elapsedMs / 1000).toFixed(1), "s"] }))] }, m.id))) }));
88
99
  });
89
100
  export function TuiApp({ initialAgent, resumed, sessionId }) {
90
101
  const { exit } = useApp();
91
102
  const { stdout } = useStdout();
92
103
  const { setRawMode } = useStdin();
93
104
  const [agent, setAgent] = useState(resumed?.agent ?? initialAgent);
94
- const [messages, setMessages] = useState(resumed?.messages ?? []);
105
+ const [messages, setMessages] = useState(() => withMessageIds(resumed?.messages ?? []));
95
106
  const [input, setInput] = useState('');
96
107
  const [busy, setBusy] = useState(false);
97
108
  const [error, setError] = useState(null);
@@ -135,7 +146,11 @@ export function TuiApp({ initialAgent, resumed, sessionId }) {
135
146
  .filter((f) => f.rel.toLowerCase().includes(q))
136
147
  .slice(0, 15);
137
148
  }, [filePopupOpen, fileTokenMatch]);
138
- useEffect(() => { setPopupIndex(0); }, [filteredSlash.length, filteredFiles.length]);
149
+ const popupResetKey = `${filteredSlash.length}:${filteredFiles.length}`;
150
+ useEffect(() => {
151
+ if (popupResetKey)
152
+ setPopupIndex(0);
153
+ }, [popupResetKey]);
139
154
  // ── Command palette (ctrl+p) ──────────────────────────────────────
140
155
  const filteredPalette = useMemo(() => {
141
156
  if (!palette.open)
@@ -256,10 +271,10 @@ export function TuiApp({ initialAgent, resumed, sessionId }) {
256
271
  }, [sessionId]);
257
272
  // ── helpers ───────────────────────────────────────────────────────
258
273
  const pushSystem = useCallback((content) => {
259
- setMessages((m) => [...m, { role: 'system', content }]);
274
+ setMessages((m) => [...m, withMessageId({ role: 'system', content })]);
260
275
  }, []);
261
276
  async function runBash(cmd) {
262
- setMessages((m) => [...m, { role: 'user', content: '!' + cmd }]);
277
+ setMessages((m) => [...m, withMessageId({ role: 'user', content: '!' + cmd })]);
263
278
  const startMs = Date.now();
264
279
  pushSystem(`▶ shell: ${cmd}`);
265
280
  await new Promise((resolve) => {
@@ -368,7 +383,7 @@ export function TuiApp({ initialAgent, resumed, sessionId }) {
368
383
  for await (const chunk of adapter.sendPrompt(`tui-${process.pid}-compact`, prompt, [], { signal: ac.signal })) {
369
384
  summary += chunk;
370
385
  }
371
- setMessages([{ role: 'system', content: '【对话已折叠,以下是摘要】\n\n' + summary.trim() }]);
386
+ setMessages([withMessageId({ role: 'system', content: '【对话已折叠,以下是摘要】\n\n' + summary.trim() })]);
372
387
  }
373
388
  catch (err) {
374
389
  setError('折叠失败: ' + (err instanceof Error ? err.message : String(err)));
@@ -436,8 +451,8 @@ export function TuiApp({ initialAgent, resumed, sessionId }) {
436
451
  }));
437
452
  setMessages((m) => [
438
453
  ...m,
439
- { role: 'user', content: text },
440
- { role: 'assistant', content: '', pending: true, agentName: agent },
454
+ withMessageId({ role: 'user', content: text }),
455
+ withMessageId({ role: 'assistant', content: '', pending: true, agentName: agent }),
441
456
  ]);
442
457
  const ac = new AbortController();
443
458
  abortRef.current = ac;
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/app.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/cli-ui/tui/markdown.tsx"],"names":[],"mappings":"AAmMA,0DAA0D;AAC1D,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAYpE"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/cli-ui/tui/markdown.tsx"],"names":[],"mappings":"AA2MA,0DAA0D;AAC1D,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAYpE"}
@@ -56,6 +56,10 @@ function spanColor(kind) {
56
56
  return 'yellow';
57
57
  return undefined;
58
58
  }
59
+ function tokenKey(tok, prefix) {
60
+ const raw = tok.raw ?? tok.text ?? '';
61
+ return `${prefix}-${tok.type}-${raw.length}-${raw.slice(0, 64)}`;
62
+ }
59
63
  function renderInline(tokens, keyPrefix) {
60
64
  if (!tokens)
61
65
  return [];
@@ -102,10 +106,15 @@ function renderBlock(tok, key) {
102
106
  case 'code': {
103
107
  const lang = tok.lang || '';
104
108
  const spans = highlightCode(tok.text ?? '', lang);
105
- return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, borderStyle: "round", borderColor: "gray", paddingX: 1, children: [lang && _jsx(Text, { dimColor: true, children: lang }), _jsx(Text, { children: spans.map((s, i) => (_jsx(Text, { color: spanColor(s.kind), children: s.text }, i))) })] }, key));
109
+ let offset = 0;
110
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, borderStyle: "round", borderColor: "gray", paddingX: 1, children: [lang && _jsx(Text, { dimColor: true, children: lang }), _jsx(Text, { children: spans.map((s) => {
111
+ const start = offset;
112
+ offset += s.text.length;
113
+ return _jsx(Text, { color: spanColor(s.kind), children: s.text }, `${s.kind ?? 'plain'}-${start}-${s.text.length}`);
114
+ }) })] }, key));
106
115
  }
107
116
  case 'blockquote':
108
- return (_jsx(Box, { marginBottom: 1, flexDirection: "column", children: (tok.tokens ?? []).map((inner, i) => (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "\u2502 " }), _jsx(Text, { dimColor: true, children: renderInline(inner.tokens, `${key}-${i}`) })] }, i))) }, key));
117
+ return (_jsx(Box, { marginBottom: 1, flexDirection: "column", children: (tok.tokens ?? []).map((inner, i) => (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "\u2502 " }), _jsx(Text, { dimColor: true, children: renderInline(inner.tokens, `${key}-${i}`) })] }, tokenKey(inner, key)))) }, key));
109
118
  case 'list': {
110
119
  const ordered = !!tok.ordered;
111
120
  const items = (tok.items ?? []);
@@ -113,7 +122,7 @@ function renderBlock(tok, key) {
113
122
  const marker = ordered ? `${i + 1}. ` : '• ';
114
123
  // list_item tokens have nested tokens; flatten to inline text.
115
124
  const itemTokens = item.tokens ?? [];
116
- return (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: marker }), _jsx(Text, { children: renderInline(itemTokens, `${key}-${i}`) })] }, i));
125
+ return (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: marker }), _jsx(Text, { children: renderInline(itemTokens, `${key}-${i}`) })] }, tokenKey(item, key)));
117
126
  }) }, key));
118
127
  }
119
128
  case 'hr':
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/markdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/markdown.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAU,CAAA;AAErF,oEAAoE;AACpE,qEAAqE;AACrE,8BAA8B;AAC9B,MAAM,QAAQ,GAA2B;IACvC,EAAE,EAAE,4NAA4N;IAChO,EAAE,EAAE,uSAAuS;IAC3S,EAAE,EAAE,wLAAwL;IAC5L,EAAE,EAAE,gIAAgI;IACpI,IAAI,EAAE,gIAAgI;IACtI,EAAE,EAAE,gKAAgK;CACrK,CAAA;AAOD,yEAAyE;AACzE,mEAAmE;AACnE,oDAAoD;AACpD,MAAM,YAAY,GAA2B;IAC3C,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACvC,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;IAC3B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;IAC3B,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;IAClC,MAAM,EAAE,IAAI;CACb,CAAA;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,IAAa;IAChD,MAAM,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,CAAA;IAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACvD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9C,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAChC,MAAM,KAAK,GAAsB,EAAE,CAAA;IACnC,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,yDAAyD;IACzD,EAAE,CAAC,SAAS,GAAG,CAAC,CAAA;IAChB,IAAI,CAAyB,CAAA;IAC7B,+EAA+E;IAC/E,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACnE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAC3C,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAC9B,CAAC;IACD,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC9D,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAA6B;IAC9C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACxC,IAAI,IAAI,KAAK,QAAQ;QAAG,OAAO,OAAO,CAAA;IACtC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACrC,IAAI,IAAI,KAAK,QAAQ;QAAG,OAAO,QAAQ,CAAA;IACvC,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAU,EAAE,MAAc;IAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;IACrC,OAAO,GAAG,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;AAClE,CAAC;AAED,SAAS,YAAY,CAAC,MAA2B,EAAE,SAAiB;IAClE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IACtB,MAAM,GAAG,GAAsB,EAAE,CAAA;IACjC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,CAAC,GAAG,GAAG,SAAS,IAAI,CAAC,EAAE,CAAA;QAC7B,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,MAAM;gBACT,GAAG,CAAC,IAAI,CAAC,KAAC,IAAI,cAAU,GAAG,CAAC,IAAI,IAAI,EAAE,IAAlB,CAAC,CAAyB,CAAC,CAAA;gBAC/C,MAAK;YACP,KAAK,QAAQ;gBACX,GAAG,CAAC,IAAI,CAAC,KAAC,IAAI,IAAS,IAAI,kBAAE,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAApC,CAAC,CAA2C,CAAC,CAAA;gBACjE,MAAK;YACP,KAAK,IAAI;gBACP,GAAG,CAAC,IAAI,CAAC,KAAC,IAAI,IAAS,MAAM,kBAAE,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAtC,CAAC,CAA6C,CAAC,CAAA;gBACnE,MAAK;YACP,KAAK,KAAK;gBACR,GAAG,CAAC,IAAI,CAAC,KAAC,IAAI,IAAS,aAAa,kBAAE,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAA7C,CAAC,CAAoD,CAAC,CAAA;gBAC1E,MAAK;YACP,KAAK,UAAU;gBACb,GAAG,CAAC,IAAI,CAAC,MAAC,IAAI,IAAS,KAAK,EAAC,MAAM,kBAAG,GAAG,CAAC,IAAI,IAAI,EAAE,UAAhC,CAAC,CAAwC,CAAC,CAAA;gBAC9D,MAAK;YACP,KAAK,MAAM;gBACT,GAAG,CAAC,IAAI,CACN,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,SAAS,kBAAE,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAQ,EACpD,MAAC,IAAI,IAAC,QAAQ,yBAAI,GAAG,CAAC,IAAI,IAAI,EAAE,SAAS,KAFhC,CAAC,CAGL,CACR,CAAA;gBACD,MAAK;YACP,KAAK,IAAI;gBACP,GAAG,CAAC,IAAI,CAAC,KAAC,IAAI,cAAU,IAAI,IAAR,CAAC,CAAe,CAAC,CAAA;gBACrC,MAAK;YACP;gBACE,GAAG,CAAC,IAAI,CAAC,KAAC,IAAI,cAAU,GAAG,CAAC,IAAI,IAAI,EAAE,IAAlB,CAAC,CAAyB,CAAC,CAAA;QACnD,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,GAAU,EAAE,GAAW;IAC1C,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACvE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAA;YAC/C,OAAO,CACL,MAAC,GAAG,IAAW,YAAY,EAAE,CAAC,aAC5B,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,YAAG,MAAM,GAAQ,EACxD,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,YAAG,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAQ,KAFvE,GAAG,CAGP,CACP,CAAA;QACH,CAAC;QACD,KAAK,WAAW;YACd,OAAO,CACL,KAAC,GAAG,IAAW,YAAY,EAAE,CAAC,YAC5B,KAAC,IAAI,cAAE,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAQ,IADpC,GAAG,CAEP,CACP,CAAA;QACH,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,IAAI,GAAI,GAAiC,CAAC,IAAI,IAAI,EAAE,CAAA;YAC1D,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;YACjD,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,OAAO,CACL,MAAC,GAAG,IAAW,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,EAAE,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,aACtG,IAAI,IAAI,KAAC,IAAI,IAAC,QAAQ,kBAAE,IAAI,GAAQ,EACrC,KAAC,IAAI,cACF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BACf,MAAM,KAAK,GAAG,MAAM,CAAA;4BACpB,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;4BACvB,OAAO,KAAC,IAAI,IAAwD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAG,CAAC,CAAC,IAAI,IAAnF,GAAG,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAA2C,CAAA;wBAC/G,CAAC,CAAC,GACG,KARC,GAAG,CASP,CACP,CAAA;QACH,CAAC;QACD,KAAK,YAAY;YACf,OAAO,CACL,KAAC,GAAG,IAAW,YAAY,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,YACnD,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CACpC,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,QAAQ,8BAAU,EACxB,KAAC,IAAI,IAAC,QAAQ,kBAAE,YAAY,CAAE,KAAe,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAQ,KAFpE,QAAQ,CAAC,KAAc,EAAE,GAAG,CAAC,CAGjC,CACP,CAAC,IANM,GAAG,CAOP,CACP,CAAA;QACH,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,CAAC,CAAE,GAAqC,CAAC,OAAO,CAAA;YAChE,MAAM,KAAK,GAAG,CAAE,GAAmC,CAAC,KAAK,IAAI,EAAE,CAAY,CAAA;YAC3E,OAAO,CACL,KAAC,GAAG,IAAW,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,YAClD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oBACrB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;oBAC5C,+DAA+D;oBAC/D,MAAM,UAAU,GAAI,IAAc,CAAC,MAAM,IAAI,EAAE,CAAA;oBAC/C,OAAO,CACL,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,QAAQ,kBAAE,MAAM,GAAQ,EAC9B,KAAC,IAAI,cAAE,YAAY,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAQ,KAF9C,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAGvB,CACP,CAAA;gBACH,CAAC,CAAC,IAXM,GAAG,CAYP,CACP,CAAA;QACH,CAAC;QACD,KAAK,IAAI;YACP,OAAO,KAAC,GAAG,IAAW,YAAY,EAAE,CAAC,YAAE,KAAC,IAAI,IAAC,QAAQ,kBAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAQ,IAA5D,GAAG,CAA+D,CAAA;QACrF,KAAK,OAAO;YACV,OAAO,IAAI,CAAA;QACb;YACE,8DAA8D;YAC9D,+BAA+B;YAC/B,OAAO,CACL,KAAC,GAAG,IAAW,YAAY,EAAE,CAAC,YAC5B,KAAC,IAAI,IAAC,QAAQ,kBAAG,GAAa,CAAC,IAAI,IAAI,EAAE,GAAQ,IADzC,GAAG,CAEP,CACP,CAAA;IACL,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,EAAsB;IACrD,4BAA4B;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO,KAAC,IAAI,KAAG,CAAA;IAC5B,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAY,CAAA;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;QACnE,iDAAiD;QACjD,OAAO,KAAC,IAAI,cAAE,MAAM,GAAQ,CAAA;IAC9B,CAAC;IACD,OAAO,4BAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAI,CAAA;AAC9D,CAAC"}
package/dist/cli.js CHANGED
@@ -112,6 +112,17 @@ program
112
112
  // to a warning so the rest of gracefulShutdown can finish cleanly.
113
113
  // We intentionally do not call process.exit — let the natural
114
114
  // shutdown path complete.
115
+ let requestFatalShutdown = null;
116
+ let fatalExitScheduled = false;
117
+ const scheduleFatalExit = () => {
118
+ if (fatalExitScheduled)
119
+ return;
120
+ fatalExitScheduled = true;
121
+ process.exitCode = 1;
122
+ const tm = setTimeout(() => process.exit(1), 250);
123
+ if (typeof tm.unref === 'function')
124
+ tm.unref();
125
+ };
115
126
  process.on('unhandledRejection', (reason) => {
116
127
  const err = reason instanceof Error
117
128
  ? { name: reason.name, message: reason.message, stack: reason.stack }
@@ -122,7 +133,13 @@ program
122
133
  rootLogger.error({
123
134
  event: 'process.uncaught_exception',
124
135
  err: { name: err.name, message: err.message, stack: err.stack },
125
- }, 'uncaughtException swallowed (would have crashed Node)');
136
+ }, 'uncaughtException; shutting down with exit code 1');
137
+ if (requestFatalShutdown) {
138
+ requestFatalShutdown();
139
+ }
140
+ else {
141
+ scheduleFatalExit();
142
+ }
126
143
  });
127
144
  // R14 — pre-flight self-check. Two failure modes the operator
128
145
  // hit before this guard existed:
@@ -1028,6 +1045,7 @@ program
1028
1045
  // to recover from a half-flushed state. The handler is idempotent against
1029
1046
  // duplicate signals.
1030
1047
  let shuttingDown = false;
1048
+ let shutdownExitCode = 0;
1031
1049
  // R14 — hard deadline. If anything in the teardown chain hangs (DB
1032
1050
  // checkpoint, stuck child wait, sidecar TCP keepalive), we still
1033
1051
  // force-exit within 25s so a follow-up `systemctl restart` finds
@@ -1035,7 +1053,8 @@ program
1035
1053
  // 5s buffer so the process exits on our terms (exit code 1)
1036
1054
  // before systemd escalates to SIGKILL.
1037
1055
  const HARD_SHUTDOWN_MS = 25_000;
1038
- const gracefulShutdown = async (signal) => {
1056
+ const gracefulShutdown = async (signal, exitCode = 0) => {
1057
+ shutdownExitCode = Math.max(shutdownExitCode, exitCode);
1039
1058
  if (shuttingDown)
1040
1059
  return;
1041
1060
  shuttingDown = true;
@@ -1186,8 +1205,9 @@ program
1186
1205
  }
1187
1206
  catch { /* missing / unreadable is fine */ }
1188
1207
  clearTimeout(hardKill);
1189
- process.exit(0);
1208
+ process.exit(shutdownExitCode);
1190
1209
  };
1210
+ requestFatalShutdown = () => { void gracefulShutdown('uncaughtException', 1); };
1191
1211
  process.on('SIGINT', () => { void gracefulShutdown('SIGINT'); });
1192
1212
  process.on('SIGTERM', () => { void gracefulShutdown('SIGTERM'); });
1193
1213
  // Wait forever