v2.4.0
v2.4.0 queue management CRUD
Closes the queue tooling gap exposed by the 2026-06-03 CDR-rebuild
demo, where a model could rebuild extensions, inbound routes, and
outbound routes from CDR but stopped at queues.
Five new write tools:
- fm_add_queue
- fm_update_queue
- fm_remove_queue
- fm_add_queue_member
- fm_remove_queue_member
All PERM_WRITE with confirm:true required; dry-run preview by default.
Writes go through the canonical legacy queues_add() / queues_del()
that FreePBX itself uses on form submit; Queues BMO has no write
facade and the REST API has no POST/DELETE. Edit path is del +
re-add, mirroring the GUI's "edit" case.
fm_remove_queue pre-flight scans 11 core destination columns for
ext-queues references and refuses to delete when found; force:true
overrides. fm_add_queue_member is persistent and distinct from the
pre-existing AMI-runtime fm_queue_add_agent (descriptions cross-
reference so the right one is picked).
Chat anchors: add queue, rename queue, set queue strategy, set queue
timeout, remove queue, add member to queue, remove member from
queue. "member" disambiguates persistent CRUD from the existing
runtime shorthand. fm_lint_typeahead reports 0 gaps across 284
parser anchors.
Tool count: 241 to 246.