Reload Host kbRoot after browse/save so the status badge tracks the live package instead of a stale snapshot.
Co-authored-by: Cursor <cursoragent@cursor.com>
Settings choose DSH session and/or WhatsApp via botId+targetId; onAlarm soft-calls ctx.dshIm.send when im is installed.
Co-authored-by: Cursor <cursoragent@cursor.com>
Plugins card gains an alarm-push toggle; when enabled, netxops subscribes outbound and followups a Netx Ops session without requiring im/WhatsApp.
Co-authored-by: Cursor <cursoragent@cursor.com>
Shipped dsh web seed has no client-store entry; use a private snapshot store and only externalize platform seed modules.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ship the browser half so Settings → Plugins can configure apiUrl/lang/python and NETX_API_TOKEN without OS env vars.
Co-authored-by: Cursor <cursoragent@cursor.com>