Collaboration Support Bot supporting my team.
Find a file
jmcqueen 2eb31a2ddc Add /voicediag rules-engine command with 9 per-user calling checks
Introduces a new diagnostic command that walks a registry of check
modules against a store user's Webex Calling configuration and
surfaces per-issue adaptive-card remediation for the fixable ones.

Checks (services/voiceDiag/checks/): dnd, callForwarding, callWaiting,
callIntercept, voicemail, hoteling, executiveAssistant,
outgoingPermission, phoneOnline. Remediations offered for DND,
forwarding, waiting, and intercept.

Uses the /v1/people/{id}/features/* admin surface (spark-admin:people_read
+ spark-admin:people_write scopes we already hold) — the earlier
telephony/config/people/*/callSettings/* path scheme returns 404 from
the Webex gateway and is not a live surface. Runner distinguishes
routing-404s ("URL moved") from "not applicable" 404s ("no calling
license") via the response body.

Arg parser accepts detail/detailed/--detail/--detailed and normalises
macOS smart-dashes so --detailed doesn't die when auto-correct
turns it into an em-dash.

Wires a VOICEDIAG_ACTIONS dispatcher in index.js mirroring the IGMP
branch, and registers /voicediag in commands/registry.js. 170 tests
pass (52 new: 39 check + 12 renderer + 5 arg-normalization).

Docs updated in .env.example, services/phoneService.js:467, and a new
services/voiceDiag/README.md that includes a "how to add a check"
recipe plus a note on the earlier wrong URL scheme.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 18:51:31 -04:00
commands Add /voicediag rules-engine command with 9 per-user calling checks 2026-07-07 18:51:31 -04:00
config Initial commit: CollabFinder Webex bot 2026-07-01 16:55:03 -04:00
dect-relay-agent Fix DECT relay container: install node_modules at /workspace, not under agent 2026-07-03 10:15:57 -04:00
integrations Add DBS-210 status.xml parser + health verdict 2026-07-02 15:35:34 -04:00
public Initial commit: CollabFinder Webex bot 2026-07-01 16:55:03 -04:00
scripts Add scripts/findEmptyLocations.js — closed-store cleanup discovery 2026-07-07 16:21:46 -04:00
services Add /voicediag rules-engine command with 9 per-user calling checks 2026-07-07 18:51:31 -04:00
tests Add /voicediag rules-engine command with 9 per-user calling checks 2026-07-07 18:51:31 -04:00
utils Add /voicediag rules-engine command with 9 per-user calling checks 2026-07-07 18:51:31 -04:00
.dockerignore Initial commit: CollabFinder Webex bot 2026-07-01 16:55:03 -04:00
.env.example Add /voicediag rules-engine command with 9 per-user calling checks 2026-07-07 18:51:31 -04:00
.gitignore Widen empty-locations CSV ignore rule 2026-07-07 17:44:19 -04:00
docker-compose.yml Initial commit: CollabFinder Webex bot 2026-07-01 16:55:03 -04:00
Dockerfile Initial commit: CollabFinder Webex bot 2026-07-01 16:55:03 -04:00
index.js Add /voicediag rules-engine command with 9 per-user calling checks 2026-07-07 18:51:31 -04:00
nodemon.json Initial commit: CollabFinder Webex bot 2026-07-01 16:55:03 -04:00
package-lock.json DECT relay Phase 1: WSS hub + agent + /phonestatus follow-up 2026-07-02 17:03:32 -04:00
package.json Rework DECT relay bundle to ship a pre-built Docker image 2026-07-03 10:05:05 -04:00