Drop host packages from peerDependencies, set auto-install-peers=false, so pnpm install no longer pulls dsh-api-remotes → dsh-type-meta from the public registry.
Ops can download every Host session as a ZIP for HQ analysis, fan key alarms to multiple WhatsApp targets, and the Plugins card copy stays short.
Co-authored-by: Cursor <cursoragent@cursor.com>
Profile pnpm rejects exotic subdependencies; install netxops + dsh-im-ops + dsh-ops-cron as one direct add line instead.
Co-authored-by: Cursor <cursoragent@cursor.com>
Declare dsh-im-ops and dsh-ops-cron as dependencies and mount them from the netxops patch so one plugin add covers alarm delivery and schedules.
Co-authored-by: Cursor <cursoragent@cursor.com>
One capability group now ships netx-ops (alarms + managed CLI + paths); keep tools-nms/common as aliases.
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>
Host publishes connection phases over Connection RPC; the card polls and badges Connected / Reconnecting / Auth failed so operators need not curl logs.
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>
Register tools from the preset standing mount so standard and other agents no longer see them without Ops skills.
Co-authored-by: Cursor <cursoragent@cursor.com>
Path installs junction the checkout outside ~/.dsh/profiles/*/node_modules, so Node cannot see DSH peers; add link-dsh-peers scripts and document the one-time setup.
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>