agim-cli 1.0.11 → 1.0.13

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,58 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.0.13] - 2026-05-13
8
+
9
+ ### Fixed — WeChat completion ack after restart silently dropped
10
+
11
+ When a restart was initiated from a WeChat thread, the "✅ 已重启完成"
12
+ message was logged as
13
+
14
+ component=restart-completion event=restart-completion.push_no_messenger
15
+ platform=wechat msg="IM messenger not registered after restart;
16
+ completion push dropped"
17
+
18
+ and never reached the user. Root cause: the wechat-ilink adapter tags
19
+ inbound `MessageContext.platform = 'wechat'`, but registers in the
20
+ plugin registry under the name `wechat-ilink`. The completion path
21
+ in `core/restart-completion.ts:pushToInitiator` called
22
+ `registry.getMessenger('wechat')` directly, which returned undefined
23
+ and dropped the push silently.
24
+
25
+ `restart-completion.ts` now goes through a new `resolveMessenger()`
26
+ helper: exact-name match first (preserves telegram / feishu /
27
+ dingtalk / discord behavior, all of which have aligned names), then a
28
+ prefix fallback so `wechat` finds `wechat-ilink` — and a future
29
+ `wechat-padlocal` etc. would resolve transparently.
30
+
31
+ Only WeChat was affected. No state-file format change; users on 1.0.12
32
+ who don't restart from WeChat see no behavioral difference.
33
+
34
+ ## [1.0.12] - 2026-05-13
35
+
36
+ ### Removed — Safety card "Skip permissions" toggle
37
+
38
+ The web /settings Safety card no longer exposes a toggle for
39
+ `IMHUB_DANGEROUSLY_SKIP_PERMISSIONS`. The toggle was a footgun for the
40
+ typical systemd deployment: im-hub runs as root, but Claude CLI itself
41
+ hard-refuses `--dangerously-skip-permissions` for uid=0 with
42
+
43
+ claude-code failed (exit 1):
44
+ --dangerously-skip-permissions cannot be used with root/sudo
45
+ privileges for security reasons
46
+
47
+ so flipping the toggle ON only succeeded in breaking every subsequent
48
+ Claude run. Removing the UI control means operators don't trip the
49
+ guard by accident.
50
+
51
+ The env variable itself is **still honored** by the Claude adapter
52
+ (`src/plugins/agents/claude-code/index.ts`). Non-root deployments that
53
+ genuinely want the bypass can edit `~/.agim/env` manually:
54
+
55
+ IMHUB_DANGEROUSLY_SKIP_PERMISSIONS=1
56
+
57
+ The Safety card now contains only the Admin Allowlist editor.
58
+
7
59
  ## [1.0.11] - 2026-05-13
8
60
 
9
61
  ### Fixed - /restart races systemd own restart in systemd-managed installs
@@ -1,4 +1,15 @@
1
+ import type { MessengerAdapter } from './types.js';
1
2
  export declare function processRestartPending(defaultAgent: string): Promise<void>;
3
+ /** Look up the messenger that should ack a restart.
4
+ *
5
+ * The wechat-ilink adapter registers as "wechat-ilink" but tags every
6
+ * inbound MessageContext with platform="wechat", so the persisted
7
+ * initiator.platform is the short form. Try the exact name first to
8
+ * preserve behavior for telegram / feishu / dingtalk / discord (where
9
+ * both sides agree), then fall back to a prefix scan so "wechat" finds
10
+ * "wechat-ilink" — and any future "wechat-padlocal" etc. would also
11
+ * resolve transparently. */
12
+ export declare function resolveMessenger(platform: string): MessengerAdapter | undefined;
2
13
  /** Returns true if the running process appears to be inside a restart
3
14
  * (state file exists, fresh). Useful for log lines / startup ordering. */
4
15
  export declare function isInsideRestart(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"restart-completion.d.ts","sourceRoot":"","sources":["../../src/core/restart-completion.ts"],"names":[],"mappings":"AA2BA,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD/E;AAuFD;2EAC2E;AAC3E,wBAAgB,eAAe,IAAI,OAAO,CAQzC"}
1
+ {"version":3,"file":"restart-completion.d.ts","sourceRoot":"","sources":["../../src/core/restart-completion.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAYlD,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD/E;AAoFD;;;;;;;;6BAQ6B;AAC7B,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAW/E;AAMD;2EAC2E;AAC3E,wBAAgB,eAAe,IAAI,OAAO,CAQzC"}
@@ -110,11 +110,12 @@ async function pushToInitiator(initiator, body) {
110
110
  log.warn({ event: 'restart-completion.push_missing_ctx', initiator }, 'IM initiator missing platform/threadId; cannot push completion message');
111
111
  return;
112
112
  }
113
- const adapter = registry.getMessenger(initiator.platform);
113
+ const adapter = resolveMessenger(initiator.platform);
114
114
  if (!adapter) {
115
115
  log.warn({
116
116
  event: 'restart-completion.push_no_messenger',
117
117
  platform: initiator.platform,
118
+ registered: registry.listMessengers(),
118
119
  }, 'IM messenger not registered after restart; completion push dropped');
119
120
  return;
120
121
  }
@@ -134,6 +135,27 @@ async function pushToInitiator(initiator, body) {
134
135
  }, 'completion message push threw — dropping');
135
136
  }
136
137
  }
138
+ /** Look up the messenger that should ack a restart.
139
+ *
140
+ * The wechat-ilink adapter registers as "wechat-ilink" but tags every
141
+ * inbound MessageContext with platform="wechat", so the persisted
142
+ * initiator.platform is the short form. Try the exact name first to
143
+ * preserve behavior for telegram / feishu / dingtalk / discord (where
144
+ * both sides agree), then fall back to a prefix scan so "wechat" finds
145
+ * "wechat-ilink" — and any future "wechat-padlocal" etc. would also
146
+ * resolve transparently. */
147
+ export function resolveMessenger(platform) {
148
+ const direct = registry.getMessenger(platform);
149
+ if (direct)
150
+ return direct;
151
+ const prefix = platform + '-';
152
+ for (const name of registry.listMessengers()) {
153
+ if (name === platform || name.startsWith(prefix)) {
154
+ return registry.getMessenger(name);
155
+ }
156
+ }
157
+ return undefined;
158
+ }
137
159
  function safeUnlink(p) {
138
160
  try {
139
161
  unlinkSync(p);
@@ -1 +1 @@
1
- {"version":3,"file":"restart-completion.js","sourceRoot":"","sources":["../../src/core/restart-completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restart-completion.js","sourceRoot":"","sources":["../../src/core/restart-completion.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,12 @@ export interface RestartInitiator {
6
6
  /** Source layer that initiated. Determines who receives the completion
7
7
  * message. */
8
8
  source: 'im' | 'web' | 'cli';
9
- /** IM platform name (wechat-ilink / telegram / feishu / dingtalk /
10
- * discord). Empty when source !== 'im'. */
9
+ /** IM platform name as set on MessageContext by the inbound adapter
10
+ * (wechat / telegram / feishu / dingtalk / discord). Note: this is
11
+ * the short form used in MessageContext, NOT necessarily the same
12
+ * string the adapter registers under in registry.ts — restart-
13
+ * completion's resolveMessenger() bridges that gap.
14
+ * Empty when source !== 'im'. */
11
15
  platform?: string;
12
16
  channelId?: string;
13
17
  threadId?: string;
@@ -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,CA6H1F"}
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;;;;;sCAKkC;IAClC,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"}
@@ -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,UAAU,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AAElD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAA;AAE3D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;AACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;AAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;AAyC9C;;;oEAGoE;AACpE,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAA;IAC3E,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;QAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QACpD,OAAO,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAA2B;IAC/D,qEAAqE;IACrE,oEAAoE;IACpE,mBAAmB;IACnB,IAAI,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,gEAAgE;YACzE,MAAM,EAAE,CAAC,gCAAgC,CAAC;SAC3C,CAAA;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,GAAG,GAAG,MAAM,kBAAkB,EAAE,CAAA;IACtC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,6BAA6B;gBAC7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1D,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAA;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,KAAK,GAAiB;QAC1B,OAAO,EAAE,CAAC;QACV,SAAS;QACT,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,OAAO,CAAC,GAAG;QACrB,YAAY,EAAE,WAAW;QACzB,oBAAoB,EAAE,GAAG,GAAG,MAAM;KACnC,CAAA;IACD,IAAI,CAAC;QACH,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,oBAAoB,oBAAoB,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;YACxG,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACtB,CAAA;IACH,CAAC;IAED,8DAA8D;IAC9D,8DAA8D;IAC9D,kDAAkD;IAClD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAA;IAChC,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC;YAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC/D,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,4BAA4B,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,2EAA2E;YACpI,MAAM,EAAE,CAAC,uEAAuE,CAAC;SAClF,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,kCAAkC,CAAC;YAC7D,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAChF,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,8BAA8B;gBACrC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,EAAE,oEAAoE,CAAC,CAAA;YACxE,IAAI,CAAC;gBACH,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;oBACxC,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC,KAAK,EAAE,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC;oBACR,KAAK,EAAE,qCAAqC;oBAC5C,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACtD,CAAC,CAAA;YACJ,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAChC,CAAC,CAAC,mCAAmC;oBACrC,CAAC,CAAC,4CAA4C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;aACzE,CAAA;QACH,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,EACrD,yFAAyF,CAAC,CAAA;IAC9F,CAAC;IAED,yEAAyE;IACzE,yDAAyD;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;YACzD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,QAAQ;YACf,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,EAAE,CAAA;QACd,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,6BAA6B;YACpC,UAAU,EAAE,MAAM,CAAC,GAAG;YACtB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;SAC7B,EAAE,oDAAoD,CAAC,CAAA;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;YACtF,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACtB,CAAA;IACH,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAAC,CAAC;IACxE,CAAC,EAAE,GAAG,CAAC,CAAA;IAEP,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAChC,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,gCAAgC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;KAC7D,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,SAAiB,EAAE,KAAa;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnD,OAAO;QACL,wCAAwC;QACxC,yBAAyB;QACzB,aAAa,SAAS,GAAG;QACzB,UAAU;QACV,2BAA2B;QAC3B,kCAAkC;QAClC,uBAAuB;QACvB,UAAU;QACV,8BAA8B,UAAU,QAAQ;QAChD,uBAAuB,UAAU,KAAK,UAAU,oEAAoE;QACpH,kBAAkB;QAClB,0BAA0B,UAAU,wBAAwB;QAC5D,yBAAyB;QACzB,kBAAkB;QAClB,+BAA+B,cAAc,+EAA+E;QAC5H,wBAAwB;QACxB,OAAO;QACP,sBAAsB;QACtB,KAAK;QACL,gBAAgB;QAChB,uBAAuB;QACvB,6BAA6B,cAAc,gGAAgG;QAC3I,sBAAsB;QACtB,KAAK;QACL,SAAS;KACV,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACZ,CAAC"}
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,UAAU,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AAElD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAA;AAE3D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;AACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;AAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;AA6C9C;;;oEAGoE;AACpE,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAA;IAC3E,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;QAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QACpD,OAAO,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAA2B;IAC/D,qEAAqE;IACrE,oEAAoE;IACpE,mBAAmB;IACnB,IAAI,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,gEAAgE;YACzE,MAAM,EAAE,CAAC,gCAAgC,CAAC;SAC3C,CAAA;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,GAAG,GAAG,MAAM,kBAAkB,EAAE,CAAA;IACtC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,6BAA6B;gBAC7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1D,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAA;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,KAAK,GAAiB;QAC1B,OAAO,EAAE,CAAC;QACV,SAAS;QACT,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,OAAO,CAAC,GAAG;QACrB,YAAY,EAAE,WAAW;QACzB,oBAAoB,EAAE,GAAG,GAAG,MAAM;KACnC,CAAA;IACD,IAAI,CAAC;QACH,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,oBAAoB,oBAAoB,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;YACxG,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACtB,CAAA;IACH,CAAC;IAED,8DAA8D;IAC9D,8DAA8D;IAC9D,kDAAkD;IAClD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAA;IAChC,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC;YAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC/D,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EACL,4BAA4B,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,2EAA2E;YACpI,MAAM,EAAE,CAAC,uEAAuE,CAAC;SAClF,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,kCAAkC,CAAC;YAC7D,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAChF,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,8BAA8B;gBACrC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,EAAE,oEAAoE,CAAC,CAAA;YACxE,IAAI,CAAC;gBACH,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;oBACxC,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC,KAAK,EAAE,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC;oBACR,KAAK,EAAE,qCAAqC;oBAC5C,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACtD,CAAC,CAAA;YACJ,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAChC,CAAC,CAAC,mCAAmC;oBACrC,CAAC,CAAC,4CAA4C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;aACzE,CAAA;QACH,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,EACrD,yFAAyF,CAAC,CAAA;IAC9F,CAAC;IAED,yEAAyE;IACzE,yDAAyD;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;YACzD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,QAAQ;YACf,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,EAAE,CAAA;QACd,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,6BAA6B;YACpC,UAAU,EAAE,MAAM,CAAC,GAAG;YACtB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;SAC7B,EAAE,oDAAoD,CAAC,CAAA;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;YACtF,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACtB,CAAA;IACH,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAAC,CAAC;IACxE,CAAC,EAAE,GAAG,CAAC,CAAA;IAEP,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAChC,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,gCAAgC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;KAC7D,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,SAAiB,EAAE,KAAa;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnD,OAAO;QACL,wCAAwC;QACxC,yBAAyB;QACzB,aAAa,SAAS,GAAG;QACzB,UAAU;QACV,2BAA2B;QAC3B,kCAAkC;QAClC,uBAAuB;QACvB,UAAU;QACV,8BAA8B,UAAU,QAAQ;QAChD,uBAAuB,UAAU,KAAK,UAAU,oEAAoE;QACpH,kBAAkB;QAClB,0BAA0B,UAAU,wBAAwB;QAC5D,yBAAyB;QACzB,kBAAkB;QAClB,+BAA+B,cAAc,+EAA+E;QAC5H,wBAAwB;QACxB,OAAO;QACP,sBAAsB;QACtB,KAAK;QACL,gBAAgB;QAChB,uBAAuB;QACvB,6BAA6B,cAAc,gGAAgG;QAC3I,sBAAsB;QACtB,KAAK;QACL,SAAS;KACV,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACZ,CAAC"}
@@ -129,16 +129,8 @@
129
129
  svcStopped: '✓ Service stopped (this page is now disconnected)',
130
130
  svcFgWarning: 'Foreground service is running in another terminal — restart it there.',
131
131
 
132
- // ── Safety / approval gating ─────────────────────────────
132
+ // ── Safety / admin allowlist ─────────────────────────────
133
133
  safetyTitle: 'Safety',
134
- safetySkipLabel: 'Skip permission prompts for Claude Code (Dangerous)',
135
- safetySkipHint: 'When ON, Claude Code launches with --dangerously-skip-permissions. Every tool call (Bash, Edit, Write, …) runs without approval and without honoring PreToolUse hooks. Only enable on private / sandboxed deployments you fully trust.',
136
- safetySkipStatusOn: 'Currently: SKIPPING approvals — DANGEROUS',
137
- safetySkipStatusOff: 'Currently: approval prompts enforced (default)',
138
- safetySkipConfirmOn: 'Turn OFF approval prompts for Claude Code? Every tool call will run without confirmation. Click OK only if this deployment is private / sandboxed.',
139
- safetyRestartHint: 'Click Save & Restart to apply.',
140
- safetySaveRestart: 'Save & Restart',
141
- safetySaved: '✓ Setting saved',
142
134
  adminListTitle: 'Admin Allowlist',
143
135
  adminListHint: 'Only these users can run /restart, /stop, and natural-language equivalents in IM. Edits persist to ~/.agim/env immediately — no restart needed.',
144
136
  adminListLoading: 'Loading…',
@@ -264,16 +256,8 @@
264
256
  svcStopped: '✓ 服务已停止(页面已断开连接)',
265
257
  svcFgWarning: '前台服务在另一个终端运行——回那个终端重启。',
266
258
 
267
- // ── Safety / approval gating ─────────────────────────────
259
+ // ── Safety / admin allowlist ─────────────────────────────
268
260
  safetyTitle: '安全',
269
- safetySkipLabel: '免审批:Claude Code(危险)',
270
- safetySkipHint: '打开后 Claude Code 以 --dangerously-skip-permissions 启动,所有工具调用(Bash / Edit / Write …)不再申请审批,也不走 PreToolUse hooks。仅推荐在你完全信任的私人 / 沙箱环境使用。',
271
- safetySkipStatusOn: '当前:免审批 — 危险',
272
- safetySkipStatusOff: '当前:审批正常生效(默认)',
273
- safetySkipConfirmOn: '关闭 Claude Code 审批?所有工具调用都会不经确认直接执行。仅当此部署是私人 / 沙箱环境时点确定。',
274
- safetyRestartHint: '点「保存并重启」让改动生效。',
275
- safetySaveRestart: '保存并重启',
276
- safetySaved: '✓ 设置已保存',
277
261
  adminListTitle: '管理员白名单',
278
262
  adminListHint: '只有列表里的用户能在 IM 里跑 /restart / /stop 或自然语言"重启服务"。改动会立即写入 ~/.agim/env,无需重启。',
279
263
  adminListLoading: '加载中…',
@@ -735,37 +719,22 @@
735
719
  // Service status loads asynchronously; the card renders with a
736
720
  // placeholder, populated by the first /api/service/status response.
737
721
  void loadServiceStatus();
738
- // Safety toggle reflects the current env value; load once on render.
739
- void loadSafetyState();
740
722
  // Admin allowlist list — loads via /api/admin-allowlist.
741
723
  void loadAdminList();
742
724
  }
743
725
 
744
726
  // ==========================================
745
- // Safety card — operator-level approval policy switches.
746
- // Right now this has a single toggle (Claude --dangerously-skip-
747
- // permissions). Future: codex / opencode equivalents, per-platform
748
- // user allowlist, etc.
727
+ // Safety card — IM admin allowlist editor.
728
+ // The Claude --dangerously-skip-permissions toggle was removed in
729
+ // v1.0.12: Claude CLI refuses that flag when running as root, which
730
+ // is the default systemd deployment, so the toggle was a footgun.
731
+ // Operators who still want it can set IMHUB_DANGEROUSLY_SKIP_
732
+ // PERMISSIONS=1 in ~/.agim/env manually (non-root only).
749
733
  // ==========================================
750
734
  function renderSafetyCard() {
751
735
  return `
752
736
  <div class="card">
753
737
  <h2>${t('safetyTitle')} ⚠️</h2>
754
- <div class="agent-row" style="border-bottom:none;padding:8px 0">
755
- <div class="left" style="max-width:calc(100% - 60px)">
756
- <div>
757
- <div class="name">${t('safetySkipLabel')}</div>
758
- <div class="hint" style="white-space:normal;line-height:1.5">${t('safetySkipHint')}</div>
759
- <div class="hint" id="safety-skip-status" style="margin-top:6px">—</div>
760
- </div>
761
- </div>
762
- <div class="toggle" id="safety-skip-toggle" data-active="0"></div>
763
- </div>
764
- <div class="hint" style="margin-top:10px">${t('safetyRestartHint')}</div>
765
- <div class="actions">
766
- <button type="button" class="btn btn-primary" id="safety-save-restart">${t('safetySaveRestart')}</button>
767
- </div>
768
- <hr class="divider">
769
738
  <div style="font-size:13px;font-weight:600;margin-bottom:6px">${t('adminListTitle')}</div>
770
739
  <div class="hint" style="margin-bottom:10px">${t('adminListHint')}</div>
771
740
  <div id="admin-list" style="margin-bottom:10px">${t('adminListLoading')}</div>
@@ -789,37 +758,6 @@
789
758
  `;
790
759
  }
791
760
 
792
- // Pending state — what the toggle is set to RIGHT NOW (before save).
793
- // Diffed against the on-disk env value to decide if Save-and-Restart
794
- // should fire the restart.
795
- let safetySkipCurrent = false;
796
- let safetySkipPending = false;
797
-
798
- async function loadSafetyState() {
799
- try {
800
- const data = await authFetch('/api/env').then(r => r.json());
801
- // Treat env value '1' as on, anything else as off. /api/env masks
802
- // sensitive values but plain '1'/'0' come through verbatim.
803
- const v = data && data.env && data.env.IMHUB_DANGEROUSLY_SKIP_PERMISSIONS;
804
- safetySkipCurrent = v === '1';
805
- safetySkipPending = safetySkipCurrent;
806
- renderSafetyToggleState();
807
- } catch (err) {
808
- const el = document.getElementById('safety-skip-status');
809
- if (el) el.textContent = (t('error') + ': ' + (err && err.message ? err.message : err));
810
- }
811
- }
812
-
813
- function renderSafetyToggleState() {
814
- const toggle = document.getElementById('safety-skip-toggle');
815
- const status = document.getElementById('safety-skip-status');
816
- if (!toggle || !status) return;
817
- toggle.classList.toggle('active', safetySkipPending);
818
- toggle.setAttribute('data-active', safetySkipPending ? '1' : '0');
819
- status.textContent = safetySkipPending ? t('safetySkipStatusOn') : t('safetySkipStatusOff');
820
- status.style.color = safetySkipPending ? 'var(--red)' : 'var(--text-dim)';
821
- }
822
-
823
761
  // ─── Admin allowlist editor ──────────────────────────────────
824
762
  async function loadAdminList() {
825
763
  const listEl = document.getElementById('admin-list');
@@ -1408,39 +1346,6 @@
1408
1346
  document.getElementById('svc-stop')?.addEventListener('click', () => svcAction('stop'));
1409
1347
  document.getElementById('svc-start')?.addEventListener('click', () => svcAction('start'));
1410
1348
 
1411
- // Safety toggle — flip pending state. Save & Restart commits to env.
1412
- document.getElementById('safety-skip-toggle')?.addEventListener('click', () => {
1413
- // Going from OFF → ON crosses a security boundary; double-check.
1414
- if (!safetySkipPending && !confirm(t('safetySkipConfirmOn'))) return;
1415
- safetySkipPending = !safetySkipPending;
1416
- renderSafetyToggleState();
1417
- });
1418
- document.getElementById('safety-save-restart')?.addEventListener('click', async () => {
1419
- const wantedOn = safetySkipPending;
1420
- try {
1421
- const updates = wantedOn
1422
- ? { IMHUB_DANGEROUSLY_SKIP_PERMISSIONS: '1' }
1423
- : { IMHUB_DANGEROUSLY_SKIP_PERMISSIONS: null };
1424
- const res = await authFetch('/api/env', {
1425
- method: 'PUT',
1426
- headers: { 'Content-Type': 'application/json' },
1427
- body: JSON.stringify({ updates }),
1428
- });
1429
- if (!res.ok) {
1430
- const j = await res.json().catch(() => ({}));
1431
- throw new Error(j.error || res.statusText);
1432
- }
1433
- toast(t('safetySaved'), 'success');
1434
- safetySkipCurrent = wantedOn;
1435
- // The env file write only takes effect on the next start. Reuse the
1436
- // service-control restart path so the user gets the same overlay /
1437
- // auto-reconnect they get clicking the Restart button manually.
1438
- await svcAction('restart');
1439
- } catch (err) {
1440
- toast(`${t('error')}: ${err && err.message ? err.message : err}`, 'error');
1441
- }
1442
- });
1443
-
1444
1349
  // Add admin (Safety card → Admin Allowlist).
1445
1350
  document.getElementById('admin-add')?.addEventListener('click', async () => {
1446
1351
  const platform = (document.getElementById('admin-platform')?.value || '').trim();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agim-cli",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
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": {