defineTool rejected netx tools whose parameters carry standard JSON
Schema constraints ("parameters.page.minimum is not supported by the
value schema DSL"), and the old pass-through dropped the top-level
required list.
- mcp-schema.ts: fold minimum/maxItems/pattern/... into the description,
mark required per property, map anyOf/oneOf/type arrays (minus null)
to oneOf, default additionalProperties to true.
- Test compiles all 39 real /mcp tool schemas through defineTool.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Drop the TypeScript netx tool implementations and the hard-coded
TOOLS_BY_GROUP list; register netx__* tools from the server's
tools/list (group from _meta.netx.group) and forward tools/call.
- Thin Streamable HTTP client on standard fetch (fetchImpl injectable);
cached catalog when netx is unreachable, refresh to reconnect.
- disabledTools (deny list; new server tools follow their group) and
readOnlyOnly (only readOnlyHint=true tools), re-registered live.
- Settings card: per-group expandable tool rows with switches and a
write marker; skills append a disabled-tools note.
- Toggles only control model visibility; netx enforces security.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Strip UTF-8 BOM before parsing MANIFEST.json (PowerShell 5.1 output).
- kb.reload force-republishes so edited SKILL.md / new local_skills / identity apply.
- Duplicate or rejected pack skills are skipped instead of unregistering the whole pack.
- kb-context and every pack skill carry resolved absolute paths.* anchors; KB_PATHS env.
- Inline {paths.local}/identity/*.md into kb-context (capped).
- New netx__kbSearch / netx__kbRead host tools, realpath-jailed to kbRoot.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add netx__getNeExecJob, route execManagedNe async to /exec-jobs, and document getManagedNe.capability for agents.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose getBizMonitor* / getBizCollect* on the Ops preset with skill netx-biz-monitor; keep tooling in netxops instead of netx-mcp.
Co-authored-by: Cursor <cursoragent@cursor.com>
Site writes device profiles/inventory via kbWriteRef; persona and kb-context require read-then-write refs plus memories for reusable experience.
Co-authored-by: Cursor <cursoragent@cursor.com>
Run session and WhatsApp/IM sinks in parallel so a failing or slow sticky session no longer skips proactive IM delivery (0.1.34).
Co-authored-by: Cursor <cursoragent@cursor.com>
Host-side netx__kb* tools jail create/update/delete under paths.local memories/drafts/suggestions; Netx Ops agent.cordis.yml now includes full standard capability rows plus ops tools.
Co-authored-by: Cursor <cursoragent@cursor.com>
Strengthen Host prompt injection with a per-step reply reminder, read live settings, and stop persona from forcing follow-user language.
Co-authored-by: Cursor <cursoragent@cursor.com>
Inject systemPrompt sections from Netx Ops settings so every preset can switch CoT and final-reply language without changing API/alarm lang.
Co-authored-by: Cursor <cursoragent@cursor.com>
Parse packaging-generated paths and load each local_skills/*/SKILL.md with the same hasSkills toggles and provider as shared packs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Browse no longer fails silently, falls back to Host directoryPicker RPC, and resolve treats a MANIFEST.json file path as its parent package root.
Co-authored-by: Cursor <cursoragent@cursor.com>
Locate and validate MANIFEST under kbRoot, show anti-mixup status in settings, and inject KB_* env plus kb-context so sessions degrade to pure netx when unset.
Co-authored-by: Cursor <cursoragent@cursor.com>
Localize alarm prompts and UI reason codes for zh/en, and restyle the settings page like uds-auth as its own settings.section.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ignore hub alarms before auth-ok, stop reconnecting after auth-fail, serialize sticky delivery with dispose on reset, and sanitize ZIP entry names against path traversal.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
One capability group now ships netx-ops (alarms + managed CLI + paths); keep tools-nms/common as aliases.
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>