wxcli 1.4.4__tar.gz → 1.4.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1032) hide show
  1. wxcli-1.4.6/.claude/agents/wxc-calling-builder.md +885 -0
  2. wxcli-1.4.6/.claude/hooks/wxcli-gate.sh +65 -0
  3. wxcli-1.4.6/.claude/settings.json +30 -0
  4. wxcli-1.4.6/.claude/skills/call-control/SKILL.md +583 -0
  5. wxcli-1.4.6/.claude/skills/wxc-calling-debug/SKILL.md +474 -0
  6. wxcli-1.4.6/.gitignore +115 -0
  7. wxcli-1.4.6/CLAUDE.md +428 -0
  8. wxcli-1.4.6/PKG-INFO +545 -0
  9. wxcli-1.4.6/README.md +508 -0
  10. wxcli-1.4.6/docs/CLAUDE.md +37 -0
  11. wxcli-1.4.6/docs/architecture/01-structural-map.md +398 -0
  12. wxcli-1.4.6/docs/architecture/02-decisions.md +514 -0
  13. wxcli-1.4.6/docs/architecture/04-operations-and-evolution.md +361 -0
  14. wxcli-1.4.6/docs/architecture/05-purpose.md +118 -0
  15. wxcli-1.4.6/docs/knowledge-base/migration/kb-device-migration.md +341 -0
  16. wxcli-1.4.6/docs/reference/CLAUDE.md +24 -0
  17. wxcli-1.4.6/docs/reference/TODO.md +21 -0
  18. wxcli-1.4.6/docs/reference/admin-hybrid.md +382 -0
  19. wxcli-1.4.6/docs/reference/authentication.md +683 -0
  20. wxcli-1.4.6/docs/reference/call-control.md +1049 -0
  21. wxcli-1.4.6/docs/reference/call-features-additional.md +1884 -0
  22. wxcli-1.4.6/docs/reference/call-features-major.md +1161 -0
  23. wxcli-1.4.6/docs/reference/call-routing.md +1212 -0
  24. wxcli-1.4.6/docs/reference/devices-core.md +1410 -0
  25. wxcli-1.4.6/docs/reference/devices-dect.md +833 -0
  26. wxcli-1.4.6/docs/reference/devices-platform.md +466 -0
  27. wxcli-1.4.6/docs/reference/devices-workspaces.md +1068 -0
  28. wxcli-1.4.6/docs/reference/emergency-services.md +924 -0
  29. wxcli-1.4.6/docs/reference/location-calling-core.md +1552 -0
  30. wxcli-1.4.6/docs/reference/location-calling-media.md +700 -0
  31. wxcli-1.4.6/docs/reference/location-recording-advanced.md +1268 -0
  32. wxcli-1.4.6/docs/reference/person-call-settings-behavior.md +1166 -0
  33. wxcli-1.4.6/docs/reference/person-call-settings-handling.md +992 -0
  34. wxcli-1.4.6/docs/reference/person-call-settings-media.md +1499 -0
  35. wxcli-1.4.6/docs/reference/person-call-settings-permissions.md +893 -0
  36. wxcli-1.4.6/docs/reference/provisioning.md +894 -0
  37. wxcli-1.4.6/docs/reference/reporting-analytics.md +1104 -0
  38. wxcli-1.4.6/docs/reference/virtual-lines.md +780 -0
  39. wxcli-1.4.6/docs/reference/webhooks-events.md +1348 -0
  40. wxcli-1.4.6/src/wxcli/_playbook/.claude/agents/wxc-calling-builder.md +885 -0
  41. wxcli-1.4.6/src/wxcli/_playbook/.claude/skills/call-control/SKILL.md +583 -0
  42. wxcli-1.4.6/src/wxcli/_playbook/.claude/skills/wxc-calling-debug/SKILL.md +474 -0
  43. wxcli-1.4.6/src/wxcli/_playbook/.codex/agents/wxc-calling-builder.toml +881 -0
  44. wxcli-1.4.6/src/wxcli/_playbook/.codex/skills/call-control/SKILL.md +583 -0
  45. wxcli-1.4.6/src/wxcli/_playbook/.codex/skills/wxc-calling-debug/SKILL.md +474 -0
  46. wxcli-1.4.6/src/wxcli/_playbook/AGENTS.md +395 -0
  47. wxcli-1.4.6/src/wxcli/_playbook/CLAUDE.md +428 -0
  48. wxcli-1.4.6/src/wxcli/_playbook/docs/knowledge-base/migration/kb-device-migration.md +341 -0
  49. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/CLAUDE.md +24 -0
  50. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/admin-hybrid.md +382 -0
  51. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/authentication.md +683 -0
  52. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/call-control.md +1049 -0
  53. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/call-features-additional.md +1884 -0
  54. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/call-features-major.md +1161 -0
  55. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/call-routing.md +1212 -0
  56. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/devices-core.md +1410 -0
  57. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/devices-dect.md +833 -0
  58. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/devices-platform.md +466 -0
  59. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/devices-workspaces.md +1068 -0
  60. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/emergency-services.md +924 -0
  61. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/location-calling-core.md +1552 -0
  62. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/location-calling-media.md +700 -0
  63. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/location-recording-advanced.md +1268 -0
  64. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/person-call-settings-behavior.md +1166 -0
  65. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/person-call-settings-handling.md +992 -0
  66. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/person-call-settings-media.md +1499 -0
  67. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/person-call-settings-permissions.md +893 -0
  68. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/provisioning.md +894 -0
  69. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/reporting-analytics.md +1104 -0
  70. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/virtual-lines.md +780 -0
  71. wxcli-1.4.6/src/wxcli/_playbook/docs/reference/webhooks-events.md +1348 -0
  72. wxcli-1.4.6/src/wxcli/_version.py +24 -0
  73. wxcli-1.4.6/src/wxcli/commands/admin_recordings.py +592 -0
  74. wxcli-1.4.6/src/wxcli/commands/analytics.py +105 -0
  75. wxcli-1.4.6/src/wxcli/commands/announcements.py +519 -0
  76. wxcli-1.4.6/src/wxcli/commands/auto_attendant.py +642 -0
  77. wxcli-1.4.6/src/wxcli/commands/broadworks_billing_reports.py +126 -0
  78. wxcli-1.4.6/src/wxcli/commands/broadworks_enterprises.py +160 -0
  79. wxcli-1.4.6/src/wxcli/commands/broadworks_subscribers.py +319 -0
  80. wxcli-1.4.6/src/wxcli/commands/broadworks_workspaces.py +108 -0
  81. wxcli-1.4.6/src/wxcli/commands/call_controls.py +1304 -0
  82. wxcli-1.4.6/src/wxcli/commands/call_park.py +494 -0
  83. wxcli-1.4.6/src/wxcli/commands/call_pickup.py +229 -0
  84. wxcli-1.4.6/src/wxcli/commands/call_queue.py +1902 -0
  85. wxcli-1.4.6/src/wxcli/commands/call_recording.py +707 -0
  86. wxcli-1.4.6/src/wxcli/commands/call_routing.py +1610 -0
  87. wxcli-1.4.6/src/wxcli/commands/call_settings_for_me_phase_5.py +212 -0
  88. wxcli-1.4.6/src/wxcli/commands/caller_reputation.py +169 -0
  89. wxcli-1.4.6/src/wxcli/commands/calling_service.py +305 -0
  90. wxcli-1.4.6/src/wxcli/commands/cc_address_book.py +770 -0
  91. wxcli-1.4.6/src/wxcli/commands/cc_agent_greetings.py +238 -0
  92. wxcli-1.4.6/src/wxcli/commands/cc_agent_wellbeing.py +216 -0
  93. wxcli-1.4.6/src/wxcli/commands/cc_agents.py +425 -0
  94. wxcli-1.4.6/src/wxcli/commands/cc_ai_feature.py +294 -0
  95. wxcli-1.4.6/src/wxcli/commands/cc_audio_files.py +149 -0
  96. wxcli-1.4.6/src/wxcli/commands/cc_auto_csat.py +311 -0
  97. wxcli-1.4.6/src/wxcli/commands/cc_aux_code.py +454 -0
  98. wxcli-1.4.6/src/wxcli/commands/cc_business_hour.py +353 -0
  99. wxcli-1.4.6/src/wxcli/commands/cc_call_monitoring.py +228 -0
  100. wxcli-1.4.6/src/wxcli/commands/cc_callbacks.py +194 -0
  101. wxcli-1.4.6/src/wxcli/commands/cc_campaign.py +212 -0
  102. wxcli-1.4.6/src/wxcli/commands/cc_contact_list.py +169 -0
  103. wxcli-1.4.6/src/wxcli/commands/cc_contact_number.py +295 -0
  104. wxcli-1.4.6/src/wxcli/commands/cc_data_sources.py +235 -0
  105. wxcli-1.4.6/src/wxcli/commands/cc_desktop_layout.py +376 -0
  106. wxcli-1.4.6/src/wxcli/commands/cc_desktop_profile.py +318 -0
  107. wxcli-1.4.6/src/wxcli/commands/cc_dial_number.py +511 -0
  108. wxcli-1.4.6/src/wxcli/commands/cc_dial_plan.py +347 -0
  109. wxcli-1.4.6/src/wxcli/commands/cc_dnc.py +101 -0
  110. wxcli-1.4.6/src/wxcli/commands/cc_entry_point.py +541 -0
  111. wxcli-1.4.6/src/wxcli/commands/cc_ewt.py +51 -0
  112. wxcli-1.4.6/src/wxcli/commands/cc_flow.py +477 -0
  113. wxcli-1.4.6/src/wxcli/commands/cc_global_vars.py +426 -0
  114. wxcli-1.4.6/src/wxcli/commands/cc_holiday_list.py +335 -0
  115. wxcli-1.4.6/src/wxcli/commands/cc_journey.py +1261 -0
  116. wxcli-1.4.6/src/wxcli/commands/cc_legacy_flows.py +49 -0
  117. wxcli-1.4.6/src/wxcli/commands/cc_multimedia_profile.py +432 -0
  118. wxcli-1.4.6/src/wxcli/commands/cc_notification.py +51 -0
  119. wxcli-1.4.6/src/wxcli/commands/cc_outdial_ani.py +604 -0
  120. wxcli-1.4.6/src/wxcli/commands/cc_overrides.py +341 -0
  121. wxcli-1.4.6/src/wxcli/commands/cc_queue.py +1075 -0
  122. wxcli-1.4.6/src/wxcli/commands/cc_queue_stats.py +55 -0
  123. wxcli-1.4.6/src/wxcli/commands/cc_realtime.py +51 -0
  124. wxcli-1.4.6/src/wxcli/commands/cc_resource_collection.py +312 -0
  125. wxcli-1.4.6/src/wxcli/commands/cc_search.py +46 -0
  126. wxcli-1.4.6/src/wxcli/commands/cc_site.py +396 -0
  127. wxcli-1.4.6/src/wxcli/commands/cc_skill.py +346 -0
  128. wxcli-1.4.6/src/wxcli/commands/cc_skill_profile.py +289 -0
  129. wxcli-1.4.6/src/wxcli/commands/cc_subscriptions.py +426 -0
  130. wxcli-1.4.6/src/wxcli/commands/cc_summaries.py +130 -0
  131. wxcli-1.4.6/src/wxcli/commands/cc_tasks.py +840 -0
  132. wxcli-1.4.6/src/wxcli/commands/cc_team.py +321 -0
  133. wxcli-1.4.6/src/wxcli/commands/cc_user_profiles.py +349 -0
  134. wxcli-1.4.6/src/wxcli/commands/cc_users.py +701 -0
  135. wxcli-1.4.6/src/wxcli/commands/cc_work_types.py +359 -0
  136. wxcli-1.4.6/src/wxcli/commands/cdr.py +89 -0
  137. wxcli-1.4.6/src/wxcli/commands/client_settings.py +72 -0
  138. wxcli-1.4.6/src/wxcli/commands/conference.py +328 -0
  139. wxcli-1.4.6/src/wxcli/commands/converged_recordings.py +354 -0
  140. wxcli-1.4.6/src/wxcli/commands/customer_assist.py +435 -0
  141. wxcli-1.4.6/src/wxcli/commands/data_sources.py +227 -0
  142. wxcli-1.4.6/src/wxcli/commands/dect_devices.py +799 -0
  143. wxcli-1.4.6/src/wxcli/commands/device_configurations.py +77 -0
  144. wxcli-1.4.6/src/wxcli/commands/device_dynamic_settings.py +320 -0
  145. wxcli-1.4.6/src/wxcli/commands/device_settings.py +1498 -0
  146. wxcli-1.4.6/src/wxcli/commands/devices.py +280 -0
  147. wxcli-1.4.6/src/wxcli/commands/domains.py +142 -0
  148. wxcli-1.4.6/src/wxcli/commands/ecm.py +178 -0
  149. wxcli-1.4.6/src/wxcli/commands/emergency_services.py +827 -0
  150. wxcli-1.4.6/src/wxcli/commands/events.py +83 -0
  151. wxcli-1.4.6/src/wxcli/commands/groups.py +206 -0
  152. wxcli-1.4.6/src/wxcli/commands/hds.py +340 -0
  153. wxcli-1.4.6/src/wxcli/commands/hot_desking_members.py +118 -0
  154. wxcli-1.4.6/src/wxcli/commands/hot_desking_portal.py +124 -0
  155. wxcli-1.4.6/src/wxcli/commands/hunt_group.py +577 -0
  156. wxcli-1.4.6/src/wxcli/commands/identity_org.py +159 -0
  157. wxcli-1.4.6/src/wxcli/commands/licenses.py +106 -0
  158. wxcli-1.4.6/src/wxcli/commands/location_call_handling.py +577 -0
  159. wxcli-1.4.6/src/wxcli/commands/location_schedules.py +341 -0
  160. wxcli-1.4.6/src/wxcli/commands/location_settings.py +1297 -0
  161. wxcli-1.4.6/src/wxcli/commands/location_voicemail.py +494 -0
  162. wxcli-1.4.6/src/wxcli/commands/locations.py +336 -0
  163. wxcli-1.4.6/src/wxcli/commands/meeting_captions.py +110 -0
  164. wxcli-1.4.6/src/wxcli/commands/meeting_chats.py +63 -0
  165. wxcli-1.4.6/src/wxcli/commands/meeting_invitees.py +234 -0
  166. wxcli-1.4.6/src/wxcli/commands/meeting_participants.py +274 -0
  167. wxcli-1.4.6/src/wxcli/commands/meeting_polls.py +111 -0
  168. wxcli-1.4.6/src/wxcli/commands/meeting_preferences.py +511 -0
  169. wxcli-1.4.6/src/wxcli/commands/meeting_qa.py +78 -0
  170. wxcli-1.4.6/src/wxcli/commands/meeting_qualities.py +43 -0
  171. wxcli-1.4.6/src/wxcli/commands/meeting_reports.py +101 -0
  172. wxcli-1.4.6/src/wxcli/commands/meeting_session_types.py +105 -0
  173. wxcli-1.4.6/src/wxcli/commands/meeting_site.py +57 -0
  174. wxcli-1.4.6/src/wxcli/commands/meeting_slido.py +44 -0
  175. wxcli-1.4.6/src/wxcli/commands/meeting_summaries.py +92 -0
  176. wxcli-1.4.6/src/wxcli/commands/meeting_tracking_codes.py +233 -0
  177. wxcli-1.4.6/src/wxcli/commands/meeting_transcripts.py +241 -0
  178. wxcli-1.4.6/src/wxcli/commands/meetings.py +1997 -0
  179. wxcli-1.4.6/src/wxcli/commands/memberships.py +164 -0
  180. wxcli-1.4.6/src/wxcli/commands/messages.py +213 -0
  181. wxcli-1.4.6/src/wxcli/commands/mode_management.py +244 -0
  182. wxcli-1.4.6/src/wxcli/commands/my_call_settings.py +3577 -0
  183. wxcli-1.4.6/src/wxcli/commands/numbers.py +414 -0
  184. wxcli-1.4.6/src/wxcli/commands/operating_modes.py +410 -0
  185. wxcli-1.4.6/src/wxcli/commands/paging_group.py +257 -0
  186. wxcli-1.4.6/src/wxcli/commands/partner_reports.py +188 -0
  187. wxcli-1.4.6/src/wxcli/commands/people.py +279 -0
  188. wxcli-1.4.6/src/wxcli/commands/pstn.py +280 -0
  189. wxcli-1.4.6/src/wxcli/commands/recording_report.py +154 -0
  190. wxcli-1.4.6/src/wxcli/commands/reports.py +144 -0
  191. wxcli-1.4.6/src/wxcli/commands/rooms.py +225 -0
  192. wxcli-1.4.6/src/wxcli/commands/scim_bulk.py +46 -0
  193. wxcli-1.4.6/src/wxcli/commands/scim_groups.py +246 -0
  194. wxcli-1.4.6/src/wxcli/commands/scim_users.py +283 -0
  195. wxcli-1.4.6/src/wxcli/commands/single_number_reach.py +209 -0
  196. wxcli-1.4.6/src/wxcli/commands/user_settings.py +5282 -0
  197. wxcli-1.4.6/src/wxcli/commands/video_mesh.py +1090 -0
  198. wxcli-1.4.6/src/wxcli/commands/virtual_extensions.py +502 -0
  199. wxcli-1.4.6/src/wxcli/commands/virtual_line_settings.py +2130 -0
  200. wxcli-1.4.6/src/wxcli/commands/webhooks.py +176 -0
  201. wxcli-1.4.6/src/wxcli/commands/wholesale_billing_reports.py +147 -0
  202. wxcli-1.4.6/src/wxcli/commands/wholesale_provisioning.py +523 -0
  203. wxcli-1.4.6/src/wxcli/commands/workspace_metrics.py +103 -0
  204. wxcli-1.4.6/src/wxcli/commands/workspace_settings.py +3405 -0
  205. wxcli-1.4.6/src/wxcli/commands/workspaces.py +279 -0
  206. wxcli-1.4.6/src/wxcli/commands/xapi.py +114 -0
  207. wxcli-1.4.6/src/wxcli/migration/CLAUDE.md +106 -0
  208. wxcli-1.4.6/src/wxcli.egg-info/PKG-INFO +545 -0
  209. wxcli-1.4.6/src/wxcli.egg-info/SOURCES.txt +799 -0
  210. wxcli-1.4.6/src/wxcli.egg-info/scm_file_list.json +794 -0
  211. wxcli-1.4.6/src/wxcli.egg-info/scm_version.json +8 -0
  212. wxcli-1.4.6/tools/CLAUDE.md +206 -0
  213. wxcli-1.4.6/tools/command_renderer.py +927 -0
  214. wxcli-1.4.6/tools/openapi_parser.py +608 -0
  215. wxcli-1.4.4/.claude/agents/wxc-calling-builder.md +0 -926
  216. wxcli-1.4.4/.claude/settings.json +0 -30
  217. wxcli-1.4.4/.claude/skills/call-control/SKILL.md +0 -747
  218. wxcli-1.4.4/.claude/skills/wxc-calling-debug/SKILL.md +0 -475
  219. wxcli-1.4.4/.gitignore +0 -113
  220. wxcli-1.4.4/CLAUDE.md +0 -436
  221. wxcli-1.4.4/PKG-INFO +0 -545
  222. wxcli-1.4.4/README.md +0 -508
  223. wxcli-1.4.4/docs/CLAUDE.md +0 -37
  224. wxcli-1.4.4/docs/architecture/01-structural-map.md +0 -405
  225. wxcli-1.4.4/docs/architecture/02-decisions.md +0 -514
  226. wxcli-1.4.4/docs/architecture/04-operations-and-evolution.md +0 -361
  227. wxcli-1.4.4/docs/architecture/05-purpose.md +0 -119
  228. wxcli-1.4.4/docs/knowledge-base/migration/kb-device-migration.md +0 -341
  229. wxcli-1.4.4/docs/reference/CLAUDE.md +0 -25
  230. wxcli-1.4.4/docs/reference/TODO.md +0 -21
  231. wxcli-1.4.4/docs/reference/admin-hybrid.md +0 -383
  232. wxcli-1.4.4/docs/reference/archive/wxc-sdk-patterns.md +0 -1229
  233. wxcli-1.4.4/docs/reference/archive/wxcadm-advanced.md +0 -835
  234. wxcli-1.4.4/docs/reference/archive/wxcadm-core.md +0 -743
  235. wxcli-1.4.4/docs/reference/archive/wxcadm-devices-workspaces.md +0 -1305
  236. wxcli-1.4.4/docs/reference/archive/wxcadm-features.md +0 -849
  237. wxcli-1.4.4/docs/reference/archive/wxcadm-locations.md +0 -938
  238. wxcli-1.4.4/docs/reference/archive/wxcadm-person.md +0 -1255
  239. wxcli-1.4.4/docs/reference/archive/wxcadm-routing.md +0 -1262
  240. wxcli-1.4.4/docs/reference/authentication.md +0 -954
  241. wxcli-1.4.4/docs/reference/call-control.md +0 -1207
  242. wxcli-1.4.4/docs/reference/call-features-additional.md +0 -2586
  243. wxcli-1.4.4/docs/reference/call-features-major.md +0 -1320
  244. wxcli-1.4.4/docs/reference/call-routing.md +0 -2304
  245. wxcli-1.4.4/docs/reference/devices-core.md +0 -1880
  246. wxcli-1.4.4/docs/reference/devices-dect.md +0 -1150
  247. wxcli-1.4.4/docs/reference/devices-platform.md +0 -467
  248. wxcli-1.4.4/docs/reference/devices-workspaces.md +0 -1426
  249. wxcli-1.4.4/docs/reference/emergency-services.md +0 -1122
  250. wxcli-1.4.4/docs/reference/location-calling-core.md +0 -2037
  251. wxcli-1.4.4/docs/reference/location-calling-media.md +0 -1334
  252. wxcli-1.4.4/docs/reference/location-recording-advanced.md +0 -1483
  253. wxcli-1.4.4/docs/reference/person-call-settings-behavior.md +0 -1661
  254. wxcli-1.4.4/docs/reference/person-call-settings-handling.md +0 -1394
  255. wxcli-1.4.4/docs/reference/person-call-settings-media.md +0 -1918
  256. wxcli-1.4.4/docs/reference/person-call-settings-permissions.md +0 -1329
  257. wxcli-1.4.4/docs/reference/provisioning.md +0 -1368
  258. wxcli-1.4.4/docs/reference/reporting-analytics.md +0 -1318
  259. wxcli-1.4.4/docs/reference/virtual-lines.md +0 -1132
  260. wxcli-1.4.4/docs/reference/webhooks-events.md +0 -1444
  261. wxcli-1.4.4/docs/reference/wxcadm-xsi-realtime.md +0 -953
  262. wxcli-1.4.4/src/wxcli/_playbook/.claude/agents/wxc-calling-builder.md +0 -926
  263. wxcli-1.4.4/src/wxcli/_playbook/.claude/skills/call-control/SKILL.md +0 -747
  264. wxcli-1.4.4/src/wxcli/_playbook/.claude/skills/wxc-calling-debug/SKILL.md +0 -475
  265. wxcli-1.4.4/src/wxcli/_playbook/.codex/agents/wxc-calling-builder.toml +0 -922
  266. wxcli-1.4.4/src/wxcli/_playbook/.codex/skills/call-control/SKILL.md +0 -747
  267. wxcli-1.4.4/src/wxcli/_playbook/.codex/skills/wxc-calling-debug/SKILL.md +0 -475
  268. wxcli-1.4.4/src/wxcli/_playbook/AGENTS.md +0 -403
  269. wxcli-1.4.4/src/wxcli/_playbook/CLAUDE.md +0 -436
  270. wxcli-1.4.4/src/wxcli/_playbook/docs/knowledge-base/migration/kb-device-migration.md +0 -341
  271. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/CLAUDE.md +0 -25
  272. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/admin-hybrid.md +0 -383
  273. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/archive/wxc-sdk-patterns.md +0 -1229
  274. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/archive/wxcadm-advanced.md +0 -835
  275. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/archive/wxcadm-core.md +0 -743
  276. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/archive/wxcadm-devices-workspaces.md +0 -1305
  277. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/archive/wxcadm-features.md +0 -849
  278. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/archive/wxcadm-locations.md +0 -938
  279. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/archive/wxcadm-person.md +0 -1255
  280. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/archive/wxcadm-routing.md +0 -1262
  281. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/authentication.md +0 -954
  282. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/call-control.md +0 -1207
  283. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/call-features-additional.md +0 -2586
  284. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/call-features-major.md +0 -1320
  285. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/call-routing.md +0 -2304
  286. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/devices-core.md +0 -1880
  287. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/devices-dect.md +0 -1150
  288. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/devices-platform.md +0 -467
  289. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/devices-workspaces.md +0 -1426
  290. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/emergency-services.md +0 -1122
  291. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/location-calling-core.md +0 -2037
  292. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/location-calling-media.md +0 -1334
  293. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/location-recording-advanced.md +0 -1483
  294. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/person-call-settings-behavior.md +0 -1661
  295. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/person-call-settings-handling.md +0 -1394
  296. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/person-call-settings-media.md +0 -1918
  297. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/person-call-settings-permissions.md +0 -1329
  298. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/provisioning.md +0 -1368
  299. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/reporting-analytics.md +0 -1318
  300. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/virtual-lines.md +0 -1132
  301. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/webhooks-events.md +0 -1444
  302. wxcli-1.4.4/src/wxcli/_playbook/docs/reference/wxcadm-xsi-realtime.md +0 -953
  303. wxcli-1.4.4/src/wxcli/_version.py +0 -24
  304. wxcli-1.4.4/src/wxcli/commands/admin_recordings.py +0 -592
  305. wxcli-1.4.4/src/wxcli/commands/analytics.py +0 -105
  306. wxcli-1.4.4/src/wxcli/commands/announcements.py +0 -519
  307. wxcli-1.4.4/src/wxcli/commands/auto_attendant.py +0 -642
  308. wxcli-1.4.4/src/wxcli/commands/broadworks_billing_reports.py +0 -126
  309. wxcli-1.4.4/src/wxcli/commands/broadworks_enterprises.py +0 -160
  310. wxcli-1.4.4/src/wxcli/commands/broadworks_subscribers.py +0 -319
  311. wxcli-1.4.4/src/wxcli/commands/broadworks_workspaces.py +0 -108
  312. wxcli-1.4.4/src/wxcli/commands/call_controls.py +0 -1304
  313. wxcli-1.4.4/src/wxcli/commands/call_park.py +0 -494
  314. wxcli-1.4.4/src/wxcli/commands/call_pickup.py +0 -229
  315. wxcli-1.4.4/src/wxcli/commands/call_queue.py +0 -1902
  316. wxcli-1.4.4/src/wxcli/commands/call_recording.py +0 -707
  317. wxcli-1.4.4/src/wxcli/commands/call_routing.py +0 -1610
  318. wxcli-1.4.4/src/wxcli/commands/call_settings_for_me_phase_5.py +0 -212
  319. wxcli-1.4.4/src/wxcli/commands/caller_reputation.py +0 -169
  320. wxcli-1.4.4/src/wxcli/commands/calling_service.py +0 -305
  321. wxcli-1.4.4/src/wxcli/commands/cc_address_book.py +0 -770
  322. wxcli-1.4.4/src/wxcli/commands/cc_agent_greetings.py +0 -238
  323. wxcli-1.4.4/src/wxcli/commands/cc_agent_wellbeing.py +0 -216
  324. wxcli-1.4.4/src/wxcli/commands/cc_agents.py +0 -425
  325. wxcli-1.4.4/src/wxcli/commands/cc_ai_feature.py +0 -294
  326. wxcli-1.4.4/src/wxcli/commands/cc_audio_files.py +0 -149
  327. wxcli-1.4.4/src/wxcli/commands/cc_auto_csat.py +0 -311
  328. wxcli-1.4.4/src/wxcli/commands/cc_aux_code.py +0 -454
  329. wxcli-1.4.4/src/wxcli/commands/cc_business_hour.py +0 -353
  330. wxcli-1.4.4/src/wxcli/commands/cc_call_monitoring.py +0 -228
  331. wxcli-1.4.4/src/wxcli/commands/cc_callbacks.py +0 -194
  332. wxcli-1.4.4/src/wxcli/commands/cc_campaign.py +0 -212
  333. wxcli-1.4.4/src/wxcli/commands/cc_contact_list.py +0 -169
  334. wxcli-1.4.4/src/wxcli/commands/cc_contact_number.py +0 -295
  335. wxcli-1.4.4/src/wxcli/commands/cc_data_sources.py +0 -235
  336. wxcli-1.4.4/src/wxcli/commands/cc_desktop_layout.py +0 -376
  337. wxcli-1.4.4/src/wxcli/commands/cc_desktop_profile.py +0 -318
  338. wxcli-1.4.4/src/wxcli/commands/cc_dial_number.py +0 -511
  339. wxcli-1.4.4/src/wxcli/commands/cc_dial_plan.py +0 -347
  340. wxcli-1.4.4/src/wxcli/commands/cc_dnc.py +0 -101
  341. wxcli-1.4.4/src/wxcli/commands/cc_entry_point.py +0 -541
  342. wxcli-1.4.4/src/wxcli/commands/cc_ewt.py +0 -51
  343. wxcli-1.4.4/src/wxcli/commands/cc_flow.py +0 -477
  344. wxcli-1.4.4/src/wxcli/commands/cc_global_vars.py +0 -426
  345. wxcli-1.4.4/src/wxcli/commands/cc_holiday_list.py +0 -335
  346. wxcli-1.4.4/src/wxcli/commands/cc_journey.py +0 -1261
  347. wxcli-1.4.4/src/wxcli/commands/cc_legacy_flows.py +0 -49
  348. wxcli-1.4.4/src/wxcli/commands/cc_multimedia_profile.py +0 -432
  349. wxcli-1.4.4/src/wxcli/commands/cc_notification.py +0 -51
  350. wxcli-1.4.4/src/wxcli/commands/cc_outdial_ani.py +0 -604
  351. wxcli-1.4.4/src/wxcli/commands/cc_overrides.py +0 -341
  352. wxcli-1.4.4/src/wxcli/commands/cc_queue.py +0 -1075
  353. wxcli-1.4.4/src/wxcli/commands/cc_queue_stats.py +0 -55
  354. wxcli-1.4.4/src/wxcli/commands/cc_realtime.py +0 -51
  355. wxcli-1.4.4/src/wxcli/commands/cc_resource_collection.py +0 -312
  356. wxcli-1.4.4/src/wxcli/commands/cc_search.py +0 -46
  357. wxcli-1.4.4/src/wxcli/commands/cc_site.py +0 -396
  358. wxcli-1.4.4/src/wxcli/commands/cc_skill.py +0 -346
  359. wxcli-1.4.4/src/wxcli/commands/cc_skill_profile.py +0 -289
  360. wxcli-1.4.4/src/wxcli/commands/cc_subscriptions.py +0 -426
  361. wxcli-1.4.4/src/wxcli/commands/cc_summaries.py +0 -130
  362. wxcli-1.4.4/src/wxcli/commands/cc_tasks.py +0 -840
  363. wxcli-1.4.4/src/wxcli/commands/cc_team.py +0 -321
  364. wxcli-1.4.4/src/wxcli/commands/cc_user_profiles.py +0 -349
  365. wxcli-1.4.4/src/wxcli/commands/cc_users.py +0 -701
  366. wxcli-1.4.4/src/wxcli/commands/cc_work_types.py +0 -359
  367. wxcli-1.4.4/src/wxcli/commands/cdr.py +0 -89
  368. wxcli-1.4.4/src/wxcli/commands/client_settings.py +0 -72
  369. wxcli-1.4.4/src/wxcli/commands/conference.py +0 -328
  370. wxcli-1.4.4/src/wxcli/commands/converged_recordings.py +0 -354
  371. wxcli-1.4.4/src/wxcli/commands/customer_assist.py +0 -435
  372. wxcli-1.4.4/src/wxcli/commands/data_sources.py +0 -227
  373. wxcli-1.4.4/src/wxcli/commands/dect_devices.py +0 -799
  374. wxcli-1.4.4/src/wxcli/commands/device_configurations.py +0 -77
  375. wxcli-1.4.4/src/wxcli/commands/device_dynamic_settings.py +0 -320
  376. wxcli-1.4.4/src/wxcli/commands/device_settings.py +0 -1498
  377. wxcli-1.4.4/src/wxcli/commands/devices.py +0 -280
  378. wxcli-1.4.4/src/wxcli/commands/domains.py +0 -142
  379. wxcli-1.4.4/src/wxcli/commands/ecm.py +0 -178
  380. wxcli-1.4.4/src/wxcli/commands/emergency_services.py +0 -827
  381. wxcli-1.4.4/src/wxcli/commands/events.py +0 -83
  382. wxcli-1.4.4/src/wxcli/commands/groups.py +0 -206
  383. wxcli-1.4.4/src/wxcli/commands/hds.py +0 -340
  384. wxcli-1.4.4/src/wxcli/commands/hot_desking_members.py +0 -118
  385. wxcli-1.4.4/src/wxcli/commands/hot_desking_portal.py +0 -124
  386. wxcli-1.4.4/src/wxcli/commands/hunt_group.py +0 -577
  387. wxcli-1.4.4/src/wxcli/commands/identity_org.py +0 -159
  388. wxcli-1.4.4/src/wxcli/commands/licenses.py +0 -106
  389. wxcli-1.4.4/src/wxcli/commands/location_call_handling.py +0 -577
  390. wxcli-1.4.4/src/wxcli/commands/location_schedules.py +0 -341
  391. wxcli-1.4.4/src/wxcli/commands/location_settings.py +0 -1297
  392. wxcli-1.4.4/src/wxcli/commands/location_voicemail.py +0 -494
  393. wxcli-1.4.4/src/wxcli/commands/locations.py +0 -336
  394. wxcli-1.4.4/src/wxcli/commands/meeting_captions.py +0 -110
  395. wxcli-1.4.4/src/wxcli/commands/meeting_chats.py +0 -63
  396. wxcli-1.4.4/src/wxcli/commands/meeting_invitees.py +0 -234
  397. wxcli-1.4.4/src/wxcli/commands/meeting_participants.py +0 -274
  398. wxcli-1.4.4/src/wxcli/commands/meeting_polls.py +0 -111
  399. wxcli-1.4.4/src/wxcli/commands/meeting_preferences.py +0 -511
  400. wxcli-1.4.4/src/wxcli/commands/meeting_qa.py +0 -78
  401. wxcli-1.4.4/src/wxcli/commands/meeting_qualities.py +0 -43
  402. wxcli-1.4.4/src/wxcli/commands/meeting_reports.py +0 -101
  403. wxcli-1.4.4/src/wxcli/commands/meeting_session_types.py +0 -105
  404. wxcli-1.4.4/src/wxcli/commands/meeting_site.py +0 -57
  405. wxcli-1.4.4/src/wxcli/commands/meeting_slido.py +0 -44
  406. wxcli-1.4.4/src/wxcli/commands/meeting_summaries.py +0 -92
  407. wxcli-1.4.4/src/wxcli/commands/meeting_tracking_codes.py +0 -233
  408. wxcli-1.4.4/src/wxcli/commands/meeting_transcripts.py +0 -241
  409. wxcli-1.4.4/src/wxcli/commands/meetings.py +0 -1997
  410. wxcli-1.4.4/src/wxcli/commands/memberships.py +0 -164
  411. wxcli-1.4.4/src/wxcli/commands/messages.py +0 -213
  412. wxcli-1.4.4/src/wxcli/commands/mode_management.py +0 -244
  413. wxcli-1.4.4/src/wxcli/commands/my_call_settings.py +0 -3577
  414. wxcli-1.4.4/src/wxcli/commands/numbers.py +0 -414
  415. wxcli-1.4.4/src/wxcli/commands/operating_modes.py +0 -410
  416. wxcli-1.4.4/src/wxcli/commands/paging_group.py +0 -257
  417. wxcli-1.4.4/src/wxcli/commands/partner_reports.py +0 -188
  418. wxcli-1.4.4/src/wxcli/commands/people.py +0 -279
  419. wxcli-1.4.4/src/wxcli/commands/pstn.py +0 -280
  420. wxcli-1.4.4/src/wxcli/commands/recording_report.py +0 -154
  421. wxcli-1.4.4/src/wxcli/commands/reports.py +0 -144
  422. wxcli-1.4.4/src/wxcli/commands/rooms.py +0 -225
  423. wxcli-1.4.4/src/wxcli/commands/scim_bulk.py +0 -46
  424. wxcli-1.4.4/src/wxcli/commands/scim_groups.py +0 -246
  425. wxcli-1.4.4/src/wxcli/commands/scim_users.py +0 -283
  426. wxcli-1.4.4/src/wxcli/commands/single_number_reach.py +0 -209
  427. wxcli-1.4.4/src/wxcli/commands/user_settings.py +0 -5282
  428. wxcli-1.4.4/src/wxcli/commands/video_mesh.py +0 -1090
  429. wxcli-1.4.4/src/wxcli/commands/virtual_extensions.py +0 -502
  430. wxcli-1.4.4/src/wxcli/commands/virtual_line_settings.py +0 -2130
  431. wxcli-1.4.4/src/wxcli/commands/webhooks.py +0 -176
  432. wxcli-1.4.4/src/wxcli/commands/wholesale_billing_reports.py +0 -147
  433. wxcli-1.4.4/src/wxcli/commands/wholesale_provisioning.py +0 -523
  434. wxcli-1.4.4/src/wxcli/commands/workspace_metrics.py +0 -103
  435. wxcli-1.4.4/src/wxcli/commands/workspace_settings.py +0 -3405
  436. wxcli-1.4.4/src/wxcli/commands/workspaces.py +0 -279
  437. wxcli-1.4.4/src/wxcli/commands/xapi.py +0 -114
  438. wxcli-1.4.4/src/wxcli/migration/CLAUDE.md +0 -106
  439. wxcli-1.4.4/src/wxcli.egg-info/PKG-INFO +0 -545
  440. wxcli-1.4.4/src/wxcli.egg-info/SOURCES.txt +0 -816
  441. wxcli-1.4.4/src/wxcli.egg-info/scm_file_list.json +0 -811
  442. wxcli-1.4.4/src/wxcli.egg-info/scm_version.json +0 -8
  443. wxcli-1.4.4/tools/CLAUDE.md +0 -197
  444. wxcli-1.4.4/tools/command_renderer.py +0 -912
  445. wxcli-1.4.4/tools/openapi_parser.py +0 -608
  446. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/agents/migration-advisor.md +0 -0
  447. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/projects/-Users-ahobgood-Documents-webexCalling/memory/feedback_help_gate_for_skills.md +0 -0
  448. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/rules/cleanup.md +0 -0
  449. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/rules/cucm-migration.md +0 -0
  450. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/rules/org-health.md +0 -0
  451. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/audit-compliance/SKILL.md +0 -0
  452. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/configure-features/SKILL.md +0 -0
  453. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/configure-routing/SKILL.md +0 -0
  454. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/contact-center/SKILL.md +0 -0
  455. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/cucm-migrate/SKILL.md +0 -0
  456. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/customer-assist/SKILL.md +0 -0
  457. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/device-platform/SKILL.md +0 -0
  458. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/manage-call-settings/SKILL.md +0 -0
  459. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/manage-devices/SKILL.md +0 -0
  460. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/manage-identity/SKILL.md +0 -0
  461. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/manage-licensing/SKILL.md +0 -0
  462. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/manage-meetings/SKILL.md +0 -0
  463. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/messaging-bots/SKILL.md +0 -0
  464. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/messaging-spaces/SKILL.md +0 -0
  465. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/org-health/SKILL.md +0 -0
  466. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/provision-calling/SKILL.md +0 -0
  467. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/query-live/SKILL.md +0 -0
  468. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/query-live/domains/call-flow-trace.md +0 -0
  469. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/query-live/domains/call-history.md +0 -0
  470. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/query-live/domains/features.md +0 -0
  471. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/query-live/domains/numbers.md +0 -0
  472. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/query-live/domains/people-and-settings.md +0 -0
  473. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/query-live/domains/routing.md +0 -0
  474. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/reporting/SKILL.md +0 -0
  475. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/reporting/references/cdr-recipes.md +0 -0
  476. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/reporting-cc/SKILL.md +0 -0
  477. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/reporting-meetings/SKILL.md +0 -0
  478. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/teardown/SKILL.md +0 -0
  479. {wxcli-1.4.4 → wxcli-1.4.6}/.claude/skills/video-mesh/SKILL.md +0 -0
  480. {wxcli-1.4.4 → wxcli-1.4.6}/.github/workflows/ci.yml +0 -0
  481. {wxcli-1.4.4 → wxcli-1.4.6}/.github/workflows/release.yml +0 -0
  482. {wxcli-1.4.4 → wxcli-1.4.6}/LICENSE +0 -0
  483. {wxcli-1.4.4 → wxcli-1.4.6}/TODO.md +0 -0
  484. {wxcli-1.4.4 → wxcli-1.4.6}/docs/architecture/00-index.md +0 -0
  485. {wxcli-1.4.4 → wxcli-1.4.6}/docs/architecture/03-behavior.md +0 -0
  486. {wxcli-1.4.4 → wxcli-1.4.6}/docs/knowledge-base/migration/kb-css-routing.md +0 -0
  487. {wxcli-1.4.4 → wxcli-1.4.6}/docs/knowledge-base/migration/kb-feature-mapping.md +0 -0
  488. {wxcli-1.4.4 → wxcli-1.4.6}/docs/knowledge-base/migration/kb-identity-numbering.md +0 -0
  489. {wxcli-1.4.4 → wxcli-1.4.6}/docs/knowledge-base/migration/kb-location-design.md +0 -0
  490. {wxcli-1.4.4 → wxcli-1.4.6}/docs/knowledge-base/migration/kb-trunk-pstn.md +0 -0
  491. {wxcli-1.4.4 → wxcli-1.4.6}/docs/knowledge-base/migration/kb-user-settings.md +0 -0
  492. {wxcli-1.4.4 → wxcli-1.4.6}/docs/knowledge-base/migration/kb-webex-limits.md +0 -0
  493. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/admin-apps-data.md +0 -0
  494. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/admin-audit-security.md +0 -0
  495. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/admin-identity-scim.md +0 -0
  496. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/admin-licensing.md +0 -0
  497. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/admin-org-management.md +0 -0
  498. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/admin-partner.md +0 -0
  499. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/contact-center-analytics.md +0 -0
  500. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/contact-center-core.md +0 -0
  501. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/contact-center-journey.md +0 -0
  502. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/contact-center-routing.md +0 -0
  503. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/meetings-content.md +0 -0
  504. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/meetings-core.md +0 -0
  505. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/meetings-infrastructure.md +0 -0
  506. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/meetings-settings.md +0 -0
  507. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/messaging-bots.md +0 -0
  508. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/messaging-spaces.md +0 -0
  509. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/migration-spec-template.md +0 -0
  510. {wxcli-1.4.4 → wxcli-1.4.6}/docs/reference/self-service-call-settings.md +0 -0
  511. {wxcli-1.4.4 → wxcli-1.4.6}/docs/runbooks/cucm-migration/decision-guide.md +0 -0
  512. {wxcli-1.4.4 → wxcli-1.4.6}/docs/runbooks/cucm-migration/operator-runbook.md +0 -0
  513. {wxcli-1.4.4 → wxcli-1.4.6}/docs/runbooks/cucm-migration/self-review-findings.md +0 -0
  514. {wxcli-1.4.4 → wxcli-1.4.6}/docs/runbooks/cucm-migration/tuning-reference.md +0 -0
  515. {wxcli-1.4.4 → wxcli-1.4.6}/docs/templates/deployment-plan.md +0 -0
  516. {wxcli-1.4.4 → wxcli-1.4.6}/docs/templates/execution-report.md +0 -0
  517. {wxcli-1.4.4 → wxcli-1.4.6}/pyproject.toml +0 -0
  518. {wxcli-1.4.4 → wxcli-1.4.6}/setup.cfg +0 -0
  519. {wxcli-1.4.4 → wxcli-1.4.6}/specs/overlays/webex-cloud-calling.overlay.json +0 -0
  520. {wxcli-1.4.4 → wxcli-1.4.6}/specs/webex-admin.json +0 -0
  521. {wxcli-1.4.4 → wxcli-1.4.6}/specs/webex-broadworks.json +0 -0
  522. {wxcli-1.4.4 → wxcli-1.4.6}/specs/webex-cloud-calling.json +0 -0
  523. {wxcli-1.4.4 → wxcli-1.4.6}/specs/webex-contact-center.json +0 -0
  524. {wxcli-1.4.4 → wxcli-1.4.6}/specs/webex-device.json +0 -0
  525. {wxcli-1.4.4 → wxcli-1.4.6}/specs/webex-meetings.json +0 -0
  526. {wxcli-1.4.4 → wxcli-1.4.6}/specs/webex-messaging.json +0 -0
  527. {wxcli-1.4.4 → wxcli-1.4.6}/specs/webex-ucm.json +0 -0
  528. {wxcli-1.4.4 → wxcli-1.4.6}/specs/webex-wholesale.json +0 -0
  529. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/__init__.py +0 -0
  530. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/agents/migration-advisor.md +0 -0
  531. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/rules/cleanup.md +0 -0
  532. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/rules/cucm-migration.md +0 -0
  533. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/rules/org-health.md +0 -0
  534. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/settings.json +0 -0
  535. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/audit-compliance/SKILL.md +0 -0
  536. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/configure-features/SKILL.md +0 -0
  537. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/configure-routing/SKILL.md +0 -0
  538. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/contact-center/SKILL.md +0 -0
  539. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/cucm-migrate/SKILL.md +0 -0
  540. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/customer-assist/SKILL.md +0 -0
  541. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/device-platform/SKILL.md +0 -0
  542. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/manage-call-settings/SKILL.md +0 -0
  543. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/manage-devices/SKILL.md +0 -0
  544. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/manage-identity/SKILL.md +0 -0
  545. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/manage-licensing/SKILL.md +0 -0
  546. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/manage-meetings/SKILL.md +0 -0
  547. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/messaging-bots/SKILL.md +0 -0
  548. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/messaging-spaces/SKILL.md +0 -0
  549. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/org-health/SKILL.md +0 -0
  550. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/provision-calling/SKILL.md +0 -0
  551. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/query-live/SKILL.md +0 -0
  552. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/query-live/domains/call-flow-trace.md +0 -0
  553. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/query-live/domains/call-history.md +0 -0
  554. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/query-live/domains/features.md +0 -0
  555. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/query-live/domains/numbers.md +0 -0
  556. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/query-live/domains/people-and-settings.md +0 -0
  557. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/query-live/domains/routing.md +0 -0
  558. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/reporting/SKILL.md +0 -0
  559. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/reporting/references/cdr-recipes.md +0 -0
  560. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/reporting-cc/SKILL.md +0 -0
  561. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/reporting-meetings/SKILL.md +0 -0
  562. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/teardown/SKILL.md +0 -0
  563. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.claude/skills/video-mesh/SKILL.md +0 -0
  564. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/agents/migration-advisor.toml +0 -0
  565. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/config.toml +0 -0
  566. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/rules/cleanup.md +0 -0
  567. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/rules/cucm-migration.md +0 -0
  568. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/rules/org-health.md +0 -0
  569. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/audit-compliance/SKILL.md +0 -0
  570. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/configure-features/SKILL.md +0 -0
  571. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/configure-routing/SKILL.md +0 -0
  572. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/contact-center/SKILL.md +0 -0
  573. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/cucm-migrate/SKILL.md +0 -0
  574. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/customer-assist/SKILL.md +0 -0
  575. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/device-platform/SKILL.md +0 -0
  576. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/manage-call-settings/SKILL.md +0 -0
  577. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/manage-devices/SKILL.md +0 -0
  578. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/manage-identity/SKILL.md +0 -0
  579. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/manage-licensing/SKILL.md +0 -0
  580. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/manage-meetings/SKILL.md +0 -0
  581. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/messaging-bots/SKILL.md +0 -0
  582. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/messaging-spaces/SKILL.md +0 -0
  583. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/org-health/SKILL.md +0 -0
  584. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/provision-calling/SKILL.md +0 -0
  585. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/query-live/SKILL.md +0 -0
  586. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/query-live/domains/call-flow-trace.md +0 -0
  587. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/query-live/domains/call-history.md +0 -0
  588. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/query-live/domains/features.md +0 -0
  589. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/query-live/domains/numbers.md +0 -0
  590. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/query-live/domains/people-and-settings.md +0 -0
  591. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/query-live/domains/routing.md +0 -0
  592. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/reporting/SKILL.md +0 -0
  593. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/reporting/references/cdr-recipes.md +0 -0
  594. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/reporting-cc/SKILL.md +0 -0
  595. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/reporting-meetings/SKILL.md +0 -0
  596. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/teardown/SKILL.md +0 -0
  597. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/.codex/skills/video-mesh/SKILL.md +0 -0
  598. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/knowledge-base/migration/kb-css-routing.md +0 -0
  599. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/knowledge-base/migration/kb-feature-mapping.md +0 -0
  600. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/knowledge-base/migration/kb-identity-numbering.md +0 -0
  601. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/knowledge-base/migration/kb-location-design.md +0 -0
  602. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/knowledge-base/migration/kb-trunk-pstn.md +0 -0
  603. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/knowledge-base/migration/kb-user-settings.md +0 -0
  604. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/knowledge-base/migration/kb-webex-limits.md +0 -0
  605. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/admin-apps-data.md +0 -0
  606. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/admin-audit-security.md +0 -0
  607. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/admin-identity-scim.md +0 -0
  608. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/admin-licensing.md +0 -0
  609. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/admin-org-management.md +0 -0
  610. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/admin-partner.md +0 -0
  611. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/contact-center-analytics.md +0 -0
  612. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/contact-center-core.md +0 -0
  613. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/contact-center-journey.md +0 -0
  614. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/contact-center-routing.md +0 -0
  615. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/meetings-content.md +0 -0
  616. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/meetings-core.md +0 -0
  617. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/meetings-infrastructure.md +0 -0
  618. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/meetings-settings.md +0 -0
  619. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/messaging-bots.md +0 -0
  620. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/messaging-spaces.md +0 -0
  621. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/reference/self-service-call-settings.md +0 -0
  622. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/runbooks/cucm-migration/decision-guide.md +0 -0
  623. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/runbooks/cucm-migration/operator-runbook.md +0 -0
  624. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/_playbook/docs/runbooks/cucm-migration/tuning-reference.md +0 -0
  625. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/auth.py +0 -0
  626. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/__init__.py +0 -0
  627. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/_registry.py +0 -0
  628. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/activation_email.py +0 -0
  629. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/announcement_playlists.py +0 -0
  630. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/archive_users.py +0 -0
  631. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/attachment_actions.py +0 -0
  632. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/audit_events.py +0 -0
  633. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/authorizations.py +0 -0
  634. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/cc_agent_summaries.py +0 -0
  635. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/cc_ai_assistant.py +0 -0
  636. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/cc_captures.py +0 -0
  637. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/classifications.py +0 -0
  638. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/cleanup.py +0 -0
  639. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/configure.py +0 -0
  640. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/converged_recordings_export.py +0 -0
  641. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/cq_playlists.py +0 -0
  642. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/cucm.py +0 -0
  643. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/cucm_config.py +0 -0
  644. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/external_voicemail.py +0 -0
  645. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/guest_management.py +0 -0
  646. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/hot_desk.py +0 -0
  647. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/hybrid_clusters.py +0 -0
  648. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/hybrid_connectors.py +0 -0
  649. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/init_playbook.py +0 -0
  650. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/live_monitoring.py +0 -0
  651. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/meeting_messages.py +0 -0
  652. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/org_contacts.py +0 -0
  653. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/org_health_cli.py +0 -0
  654. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/org_settings.py +0 -0
  655. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/organizations.py +0 -0
  656. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/partner_admins.py +0 -0
  657. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/partner_tags.py +0 -0
  658. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/person_call_settings.py +0 -0
  659. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/report_templates.py +0 -0
  660. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/resource_group_memberships.py +0 -0
  661. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/resource_groups.py +0 -0
  662. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/roles.py +0 -0
  663. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/room_tabs.py +0 -0
  664. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/scim_schemas.py +0 -0
  665. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/security_audit.py +0 -0
  666. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/service_apps.py +0 -0
  667. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/team_memberships.py +0 -0
  668. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/teams.py +0 -0
  669. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/ucm_profile.py +0 -0
  670. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/update.py +0 -0
  671. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/workspace_locations.py +0 -0
  672. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/commands/workspace_personalization.py +0 -0
  673. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/config.py +0 -0
  674. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/errors.py +0 -0
  675. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/main.py +0 -0
  676. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/__init__.py +0 -0
  677. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/advisory/CLAUDE.md +0 -0
  678. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/advisory/__init__.py +0 -0
  679. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/advisory/advisor.py +0 -0
  680. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/advisory/advisory_patterns.py +0 -0
  681. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/advisory/recommendation_rules.py +0 -0
  682. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/CLAUDE.md +0 -0
  683. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/__init__.py +0 -0
  684. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/connection.py +0 -0
  685. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/discovery.py +0 -0
  686. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/__init__.py +0 -0
  687. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/announcements.py +0 -0
  688. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/base.py +0 -0
  689. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/device_profiles.py +0 -0
  690. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/devices.py +0 -0
  691. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/e911.py +0 -0
  692. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/features.py +0 -0
  693. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/helpers.py +0 -0
  694. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/informational.py +0 -0
  695. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/locations.py +0 -0
  696. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/moh.py +0 -0
  697. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/remote_destinations.py +0 -0
  698. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/routing.py +0 -0
  699. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/shared_lines.py +0 -0
  700. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/templates.py +0 -0
  701. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/tier4.py +0 -0
  702. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/users.py +0 -0
  703. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/voicemail.py +0 -0
  704. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/extractors/workspaces.py +0 -0
  705. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/cucm/unity_connection.py +0 -0
  706. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/execute/CLAUDE.md +0 -0
  707. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/execute/__init__.py +0 -0
  708. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/execute/batch.py +0 -0
  709. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/execute/dependency.py +0 -0
  710. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/execute/engine.py +0 -0
  711. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/execute/handlers.py +0 -0
  712. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/execute/planner.py +0 -0
  713. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/execute/runtime.py +0 -0
  714. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/export/CLAUDE.md +0 -0
  715. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/export/__init__.py +0 -0
  716. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/export/csv_export.py +0 -0
  717. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/export/deployment_plan.py +0 -0
  718. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/export/json_export.py +0 -0
  719. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/models.py +0 -0
  720. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/phone_models.py +0 -0
  721. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/preflight/CLAUDE.md +0 -0
  722. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/preflight/__init__.py +0 -0
  723. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/preflight/checks.py +0 -0
  724. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/preflight/runner.py +0 -0
  725. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/rate_limiter.py +0 -0
  726. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/CLAUDE.md +0 -0
  727. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/__init__.py +0 -0
  728. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/appendix.py +0 -0
  729. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/assembler.py +0 -0
  730. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/charts.py +0 -0
  731. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/executive.py +0 -0
  732. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/explainer.py +0 -0
  733. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/helpers.py +0 -0
  734. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/ingest.py +0 -0
  735. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/notice_templates.py +0 -0
  736. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/score.py +0 -0
  737. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/styles.py +0 -0
  738. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/user_diff.py +0 -0
  739. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/report/user_notice.py +0 -0
  740. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/state.py +0 -0
  741. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/store.py +0 -0
  742. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/CLAUDE.md +0 -0
  743. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/__init__.py +0 -0
  744. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analysis_pipeline.py +0 -0
  745. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/__init__.py +0 -0
  746. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/css_permission.py +0 -0
  747. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/css_routing.py +0 -0
  748. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/device_compatibility.py +0 -0
  749. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/dn_ambiguity.py +0 -0
  750. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/duplicate_user.py +0 -0
  751. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/extension_conflict.py +0 -0
  752. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/feature_approximation.py +0 -0
  753. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/layout_overflow.py +0 -0
  754. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/location_ambiguity.py +0 -0
  755. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/missing_data.py +0 -0
  756. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/selective_call_handling.py +0 -0
  757. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/shared_line.py +0 -0
  758. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/voicemail_compatibility.py +0 -0
  759. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/analyzers/workspace_license.py +0 -0
  760. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/cross_reference.py +0 -0
  761. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/cucm_pattern.py +0 -0
  762. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/decisions.py +0 -0
  763. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/e164.py +0 -0
  764. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/engine.py +0 -0
  765. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/CLAUDE.md +0 -0
  766. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/__init__.py +0 -0
  767. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/announcement_mapper.py +0 -0
  768. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/base.py +0 -0
  769. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/button_template_mapper.py +0 -0
  770. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/call_forwarding_mapper.py +0 -0
  771. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/call_settings_mapper.py +0 -0
  772. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/css_mapper.py +0 -0
  773. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/dect_mapper.py +0 -0
  774. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/device_layout_mapper.py +0 -0
  775. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/device_mapper.py +0 -0
  776. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/device_profile_mapper.py +0 -0
  777. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/device_settings_mapper.py +0 -0
  778. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/e911_mapper.py +0 -0
  779. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/ecbn_mapper.py +0 -0
  780. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/executive_assistant_mapper.py +0 -0
  781. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/feature_mapper.py +0 -0
  782. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/line_mapper.py +0 -0
  783. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/location_mapper.py +0 -0
  784. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/moh_mapper.py +0 -0
  785. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/monitoring_mapper.py +0 -0
  786. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/receptionist_mapper.py +0 -0
  787. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/routing_mapper.py +0 -0
  788. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/snr_mapper.py +0 -0
  789. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/softkey_mapper.py +0 -0
  790. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/user_mapper.py +0 -0
  791. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/voicemail_group_mapper.py +0 -0
  792. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/voicemail_mapper.py +0 -0
  793. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/mappers/workspace_mapper.py +0 -0
  794. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/normalizers.py +0 -0
  795. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/pattern_converter.py +0 -0
  796. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/pipeline.py +0 -0
  797. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/migration/transform/rules.py +0 -0
  798. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/org_health/CLAUDE.md +0 -0
  799. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/org_health/__init__.py +0 -0
  800. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/org_health/analyze.py +0 -0
  801. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/org_health/checks.py +0 -0
  802. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/org_health/collector.py +0 -0
  803. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/org_health/models.py +0 -0
  804. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/org_health/report.py +0 -0
  805. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/output.py +0 -0
  806. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli/update_check.py +0 -0
  807. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli.egg-info/dependency_links.txt +0 -0
  808. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli.egg-info/entry_points.txt +0 -0
  809. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli.egg-info/requires.txt +0 -0
  810. {wxcli-1.4.4 → wxcli-1.4.6}/src/wxcli.egg-info/top_level.txt +0 -0
  811. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/__init__.py +0 -0
  812. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/__init__.py +0 -0
  813. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_advisor.py +0 -0
  814. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_advisory_executive_assistant.py +0 -0
  815. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_advisory_intercept.py +0 -0
  816. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_advisory_patterns.py +0 -0
  817. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_advisory_selective.py +0 -0
  818. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_foundation.py +0 -0
  819. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_integration.py +0 -0
  820. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_new_patterns.py +0 -0
  821. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_receptionist_advisory.py +0 -0
  822. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_recommendation_rules.py +0 -0
  823. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_recommendation_rules_tier2p2.py +0 -0
  824. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_recommendation_selective.py +0 -0
  825. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/advisory/test_tier4_patterns.py +0 -0
  826. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/__init__.py +0 -0
  827. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/fixtures/__init__.py +0 -0
  828. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/test_connection.py +0 -0
  829. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/test_cpc_detail_fetch.py +0 -0
  830. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/test_device_settings_tags.py +0 -0
  831. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/test_discovery.py +0 -0
  832. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/test_executive_assistant_extractor.py +0 -0
  833. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/test_extractors.py +0 -0
  834. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/test_informational_extractor.py +0 -0
  835. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/test_intercept_extractor.py +0 -0
  836. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/test_template_extractor.py +0 -0
  837. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/test_tier4_extractor.py +0 -0
  838. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/cucm/test_unity_shared_mailboxes.py +0 -0
  839. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/__init__.py +0 -0
  840. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/conftest.py +0 -0
  841. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_advisory_to_execution_bridge.py +0 -0
  842. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_batch.py +0 -0
  843. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_bridge_integration.py +0 -0
  844. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_bulk_batch.py +0 -0
  845. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_bulk_config.py +0 -0
  846. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_bulk_constants.py +0 -0
  847. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_bulk_e2e.py +0 -0
  848. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_bulk_fallback.py +0 -0
  849. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_bulk_handlers.py +0 -0
  850. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_bulk_integration.py +0 -0
  851. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_bulk_planner.py +0 -0
  852. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_bulk_polling.py +0 -0
  853. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_bulk_serialization.py +0 -0
  854. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_cascade_and_retry.py +0 -0
  855. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_dect_handlers.py +0 -0
  856. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_dect_planner.py +0 -0
  857. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_dependency.py +0 -0
  858. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_device_settings_handlers.py +0 -0
  859. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_device_settings_planner.py +0 -0
  860. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_engine.py +0 -0
  861. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_engine_409_recovery.py +0 -0
  862. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_executive_assistant_handlers.py +0 -0
  863. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_handlers.py +0 -0
  864. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_handlers_forwarding.py +0 -0
  865. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_handlers_workspace_settings.py +0 -0
  866. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_hoteling_handlers.py +0 -0
  867. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_phase12a_planner_fixes.py +0 -0
  868. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_planner.py +0 -0
  869. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_planner_forwarding.py +0 -0
  870. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_planner_settings_ops.py +0 -0
  871. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_planner_silent_skip_visibility.py +0 -0
  872. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_receptionist_handler.py +0 -0
  873. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_runtime.py +0 -0
  874. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_silent_failure_wave1.py +0 -0
  875. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_silent_failure_wave2a.py +0 -0
  876. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_silent_failure_wave2b.py +0 -0
  877. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_silent_failure_wave2c.py +0 -0
  878. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_silent_failure_wave3a.py +0 -0
  879. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_silent_failure_wave3b.py +0 -0
  880. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_voicemail_group_handler.py +0 -0
  881. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/execute/test_voicemail_group_planner.py +0 -0
  882. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/export/__init__.py +0 -0
  883. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/export/test_csv_activation_codes.py +0 -0
  884. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/export/test_deployment_plan.py +0 -0
  885. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/preflight/__init__.py +0 -0
  886. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/preflight/test_checks.py +0 -0
  887. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/preflight/test_runner.py +0 -0
  888. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/__init__.py +0 -0
  889. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/conftest.py +0 -0
  890. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_appendix.py +0 -0
  891. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_appendix_selective.py +0 -0
  892. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_appendix_tier2p2.py +0 -0
  893. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_appendix_tier3.py +0 -0
  894. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_assembler.py +0 -0
  895. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_cli_integration.py +0 -0
  896. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_dect_appendix.py +0 -0
  897. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_device_settings_score.py +0 -0
  898. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_e2e.py +0 -0
  899. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_executive.py +0 -0
  900. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_executive_selective.py +0 -0
  901. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_explainer.py +0 -0
  902. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_from_file.py +0 -0
  903. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_helpers.py +0 -0
  904. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_score.py +0 -0
  905. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_tier4_appendix.py +0 -0
  906. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_user_diff.py +0 -0
  907. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/report/test_user_notice.py +0 -0
  908. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/test_cucm_cli.py +0 -0
  909. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/test_decision_cli.py +0 -0
  910. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/test_dect_integration.py +0 -0
  911. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/test_device_settings_lossy_type.py +0 -0
  912. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/test_models.py +0 -0
  913. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/test_models_tier2p2.py +0 -0
  914. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/test_models_voicemail_group.py +0 -0
  915. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/test_pipeline_e2e.py +0 -0
  916. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/test_rate_limiter.py +0 -0
  917. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/test_state.py +0 -0
  918. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/test_store.py +0 -0
  919. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/__init__.py +0 -0
  920. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/conftest.py +0 -0
  921. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/test_advisor_routing_coverage.py +0 -0
  922. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/test_advisory_pattern_coverage.py +0 -0
  923. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/test_config_key_coverage.py +0 -0
  924. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/test_decision_type_coverage.py +0 -0
  925. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/test_default_auto_rules_coverage.py +0 -0
  926. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/test_recommendation_output_coverage.py +0 -0
  927. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/test_runbook_cites.py +0 -0
  928. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/test_runbook_cli_commands.py +0 -0
  929. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/test_runbook_links.py +0 -0
  930. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/test_runbook_parsability.py +0 -0
  931. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transferability/test_score_factor_display_names.py +0 -0
  932. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/__init__.py +0 -0
  933. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/analyzers/__init__.py +0 -0
  934. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/analyzers/test_each_analyzer.py +0 -0
  935. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/analyzers/test_layout_overflow.py +0 -0
  936. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/conftest.py +0 -0
  937. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/__init__.py +0 -0
  938. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_announcement_mapper.py +0 -0
  939. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_button_template_mapper.py +0 -0
  940. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_call_forwarding_mapper.py +0 -0
  941. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_call_settings_mapper.py +0 -0
  942. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_call_settings_mapper_intercept.py +0 -0
  943. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_css_mapper.py +0 -0
  944. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_dect_mapper.py +0 -0
  945. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_device_layout_mapper.py +0 -0
  946. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_device_layout_mapper_convertible.py +0 -0
  947. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_device_mapper.py +0 -0
  948. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_device_profile_mapper.py +0 -0
  949. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_device_settings_mapper.py +0 -0
  950. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_e911_mapper.py +0 -0
  951. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_executive_assistant_mapper.py +0 -0
  952. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_feature_mapper.py +0 -0
  953. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_feature_mapper_forwarding.py +0 -0
  954. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_feature_mapper_voicemail_gap.py +0 -0
  955. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_line_mapper.py +0 -0
  956. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_location_mapper.py +0 -0
  957. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_moh_mapper.py +0 -0
  958. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_monitoring_mapper.py +0 -0
  959. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_phase12a_feature_fixes.py +0 -0
  960. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_receptionist_mapper.py +0 -0
  961. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_routing_mapper.py +0 -0
  962. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_snr_mapper.py +0 -0
  963. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_softkey_mapper.py +0 -0
  964. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_user_mapper.py +0 -0
  965. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_voicemail_enrichment.py +0 -0
  966. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_voicemail_group_mapper.py +0 -0
  967. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_voicemail_mapper.py +0 -0
  968. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_workspace_mapper.py +0 -0
  969. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/mappers/test_workspace_mapper_call_settings.py +0 -0
  970. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_analysis_pipeline.py +0 -0
  971. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_classify_decisions.py +0 -0
  972. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_cpc_cross_ref.py +0 -0
  973. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_cross_decision_enrichment.py +0 -0
  974. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_cross_ref_phone_mirror.py +0 -0
  975. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_cross_ref_tier2p2.py +0 -0
  976. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_cross_reference.py +0 -0
  977. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_cucm_pattern.py +0 -0
  978. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_decision_merge.py +0 -0
  979. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_dect_classification.py +0 -0
  980. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_default_auto_rules_field_alignment.py +0 -0
  981. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_e164.py +0 -0
  982. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_engine.py +0 -0
  983. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_executive_assistant_integration.py +0 -0
  984. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_integration.py +0 -0
  985. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_intercept_integration.py +0 -0
  986. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_normalize_phone_device_settings.py +0 -0
  987. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_normalizers.py +0 -0
  988. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_normalizers_executive.py +0 -0
  989. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_normalizers_intercept.py +0 -0
  990. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_normalizers_tier2p2.py +0 -0
  991. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_normalizers_voicemail_group.py +0 -0
  992. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_pattern_converter.py +0 -0
  993. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_phase12a_analyzer_routing_fixes.py +0 -0
  994. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_pipeline.py +0 -0
  995. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_pipeline_common_area.py +0 -0
  996. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_rules.py +0 -0
  997. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_selective_call_handling_analyzer.py +0 -0
  998. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_selective_integration.py +0 -0
  999. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_shared_line_status.py +0 -0
  1000. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_voicemail_group_integration.py +0 -0
  1001. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_voicemail_group_pipeline.py +0 -0
  1002. {wxcli-1.4.4 → wxcli-1.4.6}/tests/migration/transform/test_workspace_call_settings_integration.py +0 -0
  1003. {wxcli-1.4.4 → wxcli-1.4.6}/tests/org_health/__init__.py +0 -0
  1004. {wxcli-1.4.4 → wxcli-1.4.6}/tests/org_health/conftest.py +0 -0
  1005. {wxcli-1.4.4 → wxcli-1.4.6}/tests/org_health/test_analyze.py +0 -0
  1006. {wxcli-1.4.4 → wxcli-1.4.6}/tests/org_health/test_checks.py +0 -0
  1007. {wxcli-1.4.4 → wxcli-1.4.6}/tests/org_health/test_cli.py +0 -0
  1008. {wxcli-1.4.4 → wxcli-1.4.6}/tests/org_health/test_collector.py +0 -0
  1009. {wxcli-1.4.4 → wxcli-1.4.6}/tests/org_health/test_models.py +0 -0
  1010. {wxcli-1.4.4 → wxcli-1.4.6}/tests/org_health/test_report.py +0 -0
  1011. {wxcli-1.4.4 → wxcli-1.4.6}/tests/test_assemble.py +0 -0
  1012. {wxcli-1.4.4 → wxcli-1.4.6}/tests/test_field_overrides.py +0 -0
  1013. {wxcli-1.4.4 → wxcli-1.4.6}/tests/test_readme_distribution.py +0 -0
  1014. {wxcli-1.4.4 → wxcli-1.4.6}/tests/test_release_integrity.py +0 -0
  1015. {wxcli-1.4.4 → wxcli-1.4.6}/tools/__init__.py +0 -0
  1016. {wxcli-1.4.4 → wxcli-1.4.6}/tools/create_stress_test_db.py +0 -0
  1017. {wxcli-1.4.4 → wxcli-1.4.6}/tools/drift_check.py +0 -0
  1018. {wxcli-1.4.4 → wxcli-1.4.6}/tools/drift_check_allowlist.txt +0 -0
  1019. {wxcli-1.4.4 → wxcli-1.4.6}/tools/expand_cucm_data.py +0 -0
  1020. {wxcli-1.4.4 → wxcli-1.4.6}/tools/field_overrides.yaml +0 -0
  1021. {wxcli-1.4.4 → wxcli-1.4.6}/tools/generate_commands.py +0 -0
  1022. {wxcli-1.4.4 → wxcli-1.4.6}/tools/postman_parser.py +0 -0
  1023. {wxcli-1.4.4 → wxcli-1.4.6}/tools/postman_spec_diff.py +0 -0
  1024. {wxcli-1.4.4 → wxcli-1.4.6}/tools/spec_overlay.py +0 -0
  1025. {wxcli-1.4.4 → wxcli-1.4.6}/tools/spec_sync.py +0 -0
  1026. {wxcli-1.4.4 → wxcli-1.4.6}/tools/update-specs.py +0 -0
  1027. {wxcli-1.4.4 → wxcli-1.4.6}/tools/webhook_receiver.py +0 -0
  1028. {wxcli-1.4.4 → wxcli-1.4.6}/tools/wheel_playbook_smoke.py +0 -0
  1029. {wxcli-1.4.4 → wxcli-1.4.6}/wxcli-dist/assemble.py +0 -0
  1030. {wxcli-1.4.4 → wxcli-1.4.6}/wxcli-dist/codex/agents-md-sections.md +0 -0
  1031. {wxcli-1.4.4 → wxcli-1.4.6}/wxcli-dist/codex/config.toml +0 -0
  1032. {wxcli-1.4.4 → wxcli-1.4.6}/wxcli-dist/settings.bundled.json +0 -0
@@ -0,0 +1,885 @@
1
+ ---
2
+ name: wxc-calling-builder
3
+ description: |
4
+ Build, configure, or tear down Webex Calling environments programmatically. Walks you
5
+ through authentication, interviews you about what to build, designs a
6
+ deployment plan, executes via wxcli CLI commands, and verifies the results.
7
+ Use for any Webex Calling provisioning, configuration, cleanup, or automation task.
8
+ tools: Read, Edit, Write, Bash, Grep, Glob, Agent, WebSearch, WebFetch, Skill
9
+ model: sonnet
10
+ ---
11
+
12
+ # Webex Calling Builder
13
+
14
+ ## ROLE
15
+
16
+ You are a Webex Calling Builder -- an expert administrator and developer that walks users through building, configuring, and automating Webex Calling environments programmatically. You handle everything from user provisioning to call queue configuration to dial plan design, executing real API calls and verifying the results.
17
+
18
+ You have two tools at your disposal:
19
+ - **wxcli** (CLI): the primary tool for all standard Webex operations. 166 command groups — calling, admin, device, messaging, meetings, and contact center. Run `wxcli --help` to see all groups, `wxcli <group> --help` for commands within a group.
20
+ - **Raw HTTP** (fallback): for any operation wxcli doesn't cover, use wxcli's `WebexSession` directly. Pattern: `from wxcli.auth import get_api; api = get_api(); result = api.session.rest_get("https://webexapis.com/v1/...", params={})`. Methods: `rest_get`, `rest_post`, `rest_put`, `rest_delete`, `follow_pagination`.
21
+
22
+ Your job is to make the process structured, safe, and recoverable. You interview before designing, design before executing, verify after executing, and save state so context compaction never loses progress.
23
+
24
+ ---
25
+
26
+ ## FIRST-TIME SETUP
27
+
28
+ When invoked, run these checks silently:
29
+
30
+ ### 1. CLI Environment
31
+
32
+ Check that wxcli is installed:
33
+
34
+ ```bash
35
+ wxcli --help 2>&1 | head -5
36
+ ```
37
+
38
+ - If **wxcli** is found: proceed.
39
+ - If **wxcli** is missing: install it: `pip install -e .` (from repo root)
40
+
41
+ ### 2. Authentication
42
+
43
+ Validate the auth token:
44
+
45
+ ```bash
46
+ wxcli whoami
47
+ ```
48
+
49
+ - If it succeeds (shows user name and org with time remaining): proceed.
50
+ - If it fails (token expired, missing, or not set): ask the user for a token.
51
+
52
+ **How to get a token:**
53
+ 1. **For development/testing**: get a personal access token from developer.webex.com (12-hour expiry)
54
+ 2. **For production**: set up an OAuth integration or service app (persistent tokens with refresh)
55
+ 3. Reference: read `docs/reference/authentication.md` for the full guide on token types, scopes, and OAuth flows
56
+
57
+ **When the user provides a token**, configure it with:
58
+ ```bash
59
+ echo "<TOKEN>" | wxcli configure
60
+ ```
61
+
62
+ This pipes the token into `wxcli configure` (which requires interactive input) and saves it to `~/.wxcli/config.json` so it persists across all shell invocations. Do NOT use `export WEBEX_ACCESS_TOKEN=...` — environment variables do not persist across Bash tool calls in Claude Code.
63
+
64
+ After configuring, verify with:
65
+ ```bash
66
+ wxcli whoami
67
+ ```
68
+
69
+ ### 2b. Target Org Confirmation (Partner Tokens)
70
+
71
+ After `wxcli whoami` succeeds, check the output for a "Target:" line:
72
+
73
+ **If a "Target:" line is present** (multi-org token with orgId set):
74
+ 1. Display to the user: "You are targeting **[org_name]** (`[org_id]`). All commands in this session will operate on this organization."
75
+ 2. Ask: "Is this the correct target org? (yes/no)"
76
+ 3. If **no**: run `wxcli switch-org` to let them pick a different org, then re-run `wxcli whoami` and re-confirm
77
+ 4. If **yes**: proceed to the interview phase
78
+ 5. **Do not proceed until the user confirms the target org.**
79
+
80
+ **If no "Target:" line appears**: single-org token, proceed normally to the interview phase.
81
+
82
+ ### 3. Existing Design Docs
83
+
84
+ Check `docs/plans/` for existing deployment plans:
85
+
86
+ - If **plans exist**: ask the user -- "I found an existing deployment plan at [path]. Are you continuing this work, or starting something new?"
87
+ - If **empty**: this is a fresh start.
88
+
89
+ ### 4. Reference Docs
90
+
91
+ Check for `docs/reference/` directory:
92
+
93
+ - If missing: warn the user that platform reference files are not present. The build will require more manual input and web lookups.
94
+ - Check for messaging docs (`messaging-spaces.md`, `messaging-bots.md`) if the user's request involves messaging.
95
+
96
+ ---
97
+
98
+ ## INTERVIEW PHASE
99
+
100
+ Ask ONE question at a time. Do not dump multiple questions. Wait for the answer before moving to the next.
101
+
102
+ ### Org Health Assessment
103
+
104
+ Triggers: "audit my org", "org health", "health check", "what needs attention",
105
+ "run a health assessment", "check my org"
106
+
107
+ Load the `org-health` skill and follow its 3-phase workflow (collect → analyze → report).
108
+
109
+ ### Query Intent Detection
110
+
111
+ Before starting the interview, check if the user's request is a **read-only query about current configuration state** rather than a build/config request or a historical data request.
112
+
113
+ **Configuration state queries → query-live skill:**
114
+ - Present-tense questions about what IS configured: "Who **is** in the Sales HG?", "**Does** John **have** voicemail?", "What trunks **are** configured?"
115
+ - Inspection verbs: "show me", "check", "look up", "find", "tell me about"
116
+ - State references: "current", "right now", "configured", "enabled", "assigned"
117
+ - Call flow questions: "what happens when someone calls...", "trace the call path"
118
+ - Inventory/audit: "how many call queues **do** we have?", "which users **don't** have voicemail?"
119
+
120
+ **Historical/analytics queries → reporting skill (via interview, NOT query-live):**
121
+ - Past-tense questions about what HAPPENED: "How many calls **did** we get yesterday?", "Show me **missed calls from** this morning"
122
+ - Time-bounded data requests with date ranges: "calls **last week**", "**busiest hour**", "call volume **trend**"
123
+ - CDR/analytics keywords: "call history", "call log", "call detail", "call quality", "call stats"
124
+ - Agent performance: "which agent **handled** the most calls?"
125
+
126
+ **Build/config intent → normal interview flow:**
127
+ - Action verbs: "create", "set up", "enable", "add", "configure", "change", "move", "delete"
128
+ - Future intent: "I want to...", "we need to...", "can you make..."
129
+
130
+ **If the request is a configuration state query:**
131
+
132
+ Load the query-live skill and follow its workflow. Do not proceed to the interview questions.
133
+
134
+ ```
135
+ Skill: query-live
136
+ ```
137
+
138
+ The query-live skill handles classification, domain routing, command execution, and response formatting. It will return a natural-language answer to the user's question.
139
+
140
+ **If the request is a historical/analytics query or a build/config request**, continue to the CUCM Migration Detection and interview flow below. The interview will route analytics questions to the reporting skill and build requests to the appropriate domain skill.
141
+
142
+ ### CUCM Migration Detection
143
+
144
+ Before asking the interview questions, check for an existing CUCM migration project:
145
+
146
+ ```bash
147
+ wxcli cucm status 2>/dev/null
148
+ ```
149
+
150
+ **If the pipeline is at stage ANALYZED or later** (or a deployment plan exists at `docs/plans/*cucm-migration*`):
151
+ > "I found an existing CUCM migration project. Loading the migration workflow."
152
+
153
+ Load the `cucm-migrate` skill and follow its workflow.
154
+
155
+ **If the user mentions "CUCM migration", "migrate from CUCM", or "deployment plan" but no project exists (or pipeline is incomplete):**
156
+
157
+ Walk them through the analysis pipeline conversationally. Do NOT tell them to run CLI commands — run the commands for them.
158
+
159
+ #### Pipeline Walkthrough
160
+
161
+ **Step 1: Create the project**
162
+ > "Let's start by setting up a migration project. What would you like to name it? (e.g., your company name or site name)"
163
+
164
+ ```bash
165
+ wxcli cucm init <name>
166
+ ```
167
+
168
+ Before asking for credentials, explain what's needed:
169
+ > "Before we connect, you'll need:
170
+ > - The CUCM server hostname or IP address
171
+ > - A CUCM admin account with the 'Standard AXL API Access' role
172
+ > - If you're not sure about the admin account, check with your CUCM administrator before we proceed"
173
+
174
+ **Step 2: Connect to CUCM**
175
+
176
+ Ask these one at a time:
177
+ 1. "What's the hostname or IP address of your CUCM server?"
178
+ 2. "What's the AXL admin username?" (explain: this is the CUCM admin account, needs the 'Standard AXL API Access' role)
179
+ 3. "What CUCM version are you running?" (offer: 12.x, 14.x, 15.x — default 14.0)
180
+ 4. "What's the CUCM admin password? (This stays in our local conversation and is only used for the CUCM connection.)"
181
+
182
+ Then run discover. The CLI handles WSDL guidance interactively if needed — if CUCM blocks the schema download (common on 15.x), the CLI will guide them through downloading the WSDL from their CUCM admin page.
183
+
184
+ ```bash
185
+ wxcli cucm discover --host <host> --username <user> --password "<password>" --version <ver> -p <name>
186
+ ```
187
+
188
+ **For large environments (1000+ phones):** Discovery may take 10-30 minutes. Run the command with a longer timeout or in the background. If the command times out, re-run it — the CLI will show progress per extractor.
189
+
190
+ **If connection fails:** Suggest the offline alternative:
191
+ > "If you can't connect directly to CUCM from this machine (VPN required, firewall, etc.), there's an alternative. You can export the data on a machine with CUCM access and load it here:
192
+ > `wxcli cucm discover --from-file <path-to-export.json.gz> -p <name>`"
193
+
194
+ If discover fails for non-WSDL reasons (auth, connectivity), explain the issue in plain language and help troubleshoot.
195
+
196
+ **Step 3: Run analysis**
197
+
198
+ These run automatically — no user input needed:
199
+ ```bash
200
+ wxcli cucm normalize -p <name>
201
+ wxcli cucm map -p <name>
202
+ wxcli cucm analyze -p <name>
203
+ ```
204
+
205
+ After each, briefly report progress:
206
+ > "Normalized 847 objects across 12 types."
207
+ > "Mapped CUCM configuration to Webex equivalents — 23 decisions need review."
208
+ > "Analysis complete. Ready to generate your assessment report."
209
+
210
+ **Step 4: Hand off to cucm-migrate**
211
+
212
+ Load the `cucm-migrate` skill. It picks up from the ANALYZED state — generates the assessment report, walks through decisions, and handles execution.
213
+
214
+ ### Question 1: Objective
215
+
216
+ > "What do you want to build or configure?"
217
+
218
+ Get the objective in the user's own words. Listen for the domain:
219
+ - **Provisioning**: creating users, assigning licenses, setting up locations
220
+ - **Call features**: auto attendants, call queues, hunt groups, paging, call park, pickup groups, voicemail groups
221
+ - **Person settings**: call forwarding, DND, caller ID, voicemail, recording, sim ring, sequential ring, executive/assistant
222
+ - **Location settings**: internal dialing, voicemail policies, schedules, announcements, access codes, call recording
223
+ - **Routing**: dial plans, trunks, route groups, route lists, translation patterns, PSTN connectivity
224
+ - **Devices**: phone provisioning, activation codes, DECT networks, workspace devices
225
+ - **Device platform**: RoomOS device configuration management, workspace personalization, xAPI device commands and status queries
226
+ - **Call control**: real-time call operations (dial, hold, transfer, park, recording control)
227
+ - **Monitoring**: real-time call event webhooks, CDR analysis
228
+ - **Bulk operations**: CSV-driven mass provisioning, org-wide setting changes, migration
229
+ - **Identity/directory**: SCIM sync, user import, group management, domain verification, directory cleanup
230
+ - **Audit/compliance**: audit logs, security events, compliance review, authorization management
231
+ - **Licensing**: license audit, usage reporting, license assignment, reclamation
232
+ - **Org management**: org settings, contacts, roles, domain management
233
+ - **Partner operations**: multi-tenant management, partner admin assignment, customer tagging
234
+ - **Hybrid monitoring**: hybrid connector health, analytics, meeting quality
235
+ - **Recordings/data**: recording management, recycle bin, data sources, resource groups, report templates
236
+ - **Messaging spaces**: creating/managing spaces, teams, memberships, sending messages, ECM folder linking, HDS monitoring
237
+ - **Messaging bots**: building bots, sending notifications, adaptive cards, interactive card flows, room tabs, cross-domain calling+messaging integrations
238
+ - **Meetings**: scheduling meetings, managing registrants, interpreters, breakout sessions, transcripts, recordings, polls, Q&A
239
+ - **Video Mesh**: monitoring Video Mesh clusters, nodes, availability, utilization, reachability, event thresholds
240
+ - **Contact Center**: CC agents, queues, entry points, teams, skills, flows, campaigns, dial plans, desktop profiles, monitoring, AI features
241
+
242
+ **Multi-skill workflows:** If the user's goal spans multiple domains (e.g., "offboard a user", "set up call recording for a team", "move a number from a user to a CC entry point"), check the **Multi-Skill Workflows** section in `CLAUDE.md` for the skill sequence. Load and execute skills in the order listed there rather than picking just one.
243
+
244
+ ### Question 2: Scope
245
+
246
+ > "At what scope? Org-wide, specific location(s), or specific user(s)?"
247
+
248
+ This determines whether you are doing bulk operations or targeted work. Get specifics:
249
+ - If location-scoped: which locations? Do they exist yet?
250
+ - If user-scoped: which users? By email, name, or phone number?
251
+ - If org-wide: how many users/locations are we talking about? (determines async vs sync approach)
252
+
253
+ For messaging requests, scope is different:
254
+ - If space-scoped: which space? Do you have the room ID?
255
+ - If team-scoped: which team? Creating new or modifying existing?
256
+ - If bot-scoped: is this for a bot or a user integration? Do you have a webhook callback URL?
257
+ - If org-wide: org-wide space audit needs admin token + compliance API
258
+
259
+ For meetings requests:
260
+ - Single meeting or recurring series?
261
+ - Webex site URL (if multi-site org)?
262
+ - Personal room or scheduled meeting?
263
+
264
+ For contact center requests:
265
+ - Which CC region? (`wxcli set-cc-region` — us1, eu1, eu2, anz1, ca1, jp1, sg1)
266
+ - Inbound, outbound campaign, or both?
267
+ - Skill-based or team-based routing?
268
+
269
+ ### Question 3: Prerequisites
270
+
271
+ > "Let me check what's already in place."
272
+
273
+ Do NOT just ask -- actually check. Run CLI commands to verify:
274
+
275
+ ```bash
276
+ # Check calling-enabled locations
277
+ wxcli location-settings list-1
278
+
279
+ # Check licenses
280
+ wxcli licenses list
281
+
282
+ # Check existing users at a location
283
+ wxcli users list --location-id LOCATION_ID --output table
284
+ ```
285
+
286
+ Report what you find and identify gaps:
287
+ - Missing locations that need to be created first
288
+ - Insufficient licenses for the planned provisioning
289
+ - Users that don't exist yet
290
+ - Features that require specific license types (e.g., CX Essentials for supervisor features)
291
+
292
+ ### Question 4: Constraints
293
+
294
+ > "Any specific requirements I should know about?"
295
+
296
+ Probe for:
297
+ - **Naming conventions**: "All hunt groups must be prefixed with location code"
298
+ - **Number ranges**: "Extensions must be 4-digit starting with 3xxx for Sales"
299
+ - **Schedule requirements**: business hours, holidays, after-hours routing
300
+ - **Compliance**: call recording requirements, E911 requirements
301
+ - **Integration**: existing PBX migration, PSTN provider constraints, SBC configuration
302
+
303
+ ### Question 5: Special Requirements
304
+
305
+ For messaging requests, also probe:
306
+ - **Token type**: "Bot token, user token, or admin token?" (explain differences if user is unsure)
307
+ - **Card interactions**: "Will users interact with cards (approve/reject/fill forms)?" → triggers card recipe + webhook setup in messaging-bots skill
308
+ - **Cross-domain**: "Does this involve both calling and messaging?" → load both domain skills
309
+
310
+ ---
311
+
312
+ ## DESIGN PHASE
313
+
314
+ After the interview is complete:
315
+
316
+ ### 1. Load Reference Docs
317
+
318
+ Based on the user's objective, load the relevant reference docs. Use the mapping in the REFERENCE DOC LOADING section at the bottom of this file.
319
+
320
+ ### 2. Build the Deployment Plan
321
+
322
+ Read `docs/templates/deployment-plan.md` to get the template. Fill in every section:
323
+
324
+ - **Objective**: what we are building, in one paragraph
325
+ - **Scope**: org-wide, location(s), user(s) -- with specific names/IDs
326
+ - **Prerequisites**: what must exist before we start (locations, licenses, users) -- mark each as confirmed or needs-creation
327
+ - **Execution Steps**: numbered list of commands in dependency order. For each step:
328
+ - Step number and description
329
+ - Command (e.g., `wxcli users create --json-body '{"emails":["..."],"displayName":"..."}'`)
330
+ - Input parameters (show actual values, not placeholders)
331
+ - Expected result
332
+ - Depends on: which prior steps must complete first
333
+ - **Rollback Plan**: if step N fails, what to undo from steps 1 through N-1
334
+ - **Verification Steps**: how to confirm each resource was created correctly
335
+ - **Estimated Execution**: sync vs async, approximate time for bulk operations
336
+
337
+ ### 3. Save and Present
338
+
339
+ 1. Save to `docs/plans/YYYY-MM-DD-{descriptive-name}.md` (use today's date)
340
+ 2. Present the full plan to the user for review
341
+ 3. **DO NOT proceed to execution until the user explicitly approves**
342
+ 4. If they request changes: update the plan, re-present, wait for approval again
343
+
344
+ ---
345
+
346
+ ## EXECUTE PHASE
347
+
348
+ **Before executing, load the relevant skill(s) per the SKILL DISPATCH table below.** Read each skill file before running its domain's commands. The skill tells you which CLI commands to use, what prerequisites to check, and what gotchas to avoid. This prevents trial-and-error failures.
349
+
350
+ Execute commands in the order specified in the deployment plan. Use wxcli CLI commands for all standard operations.
351
+
352
+ ### Discovery-First Rule
353
+
354
+ Discover first, act second — one broad query, evaluate, stop within 3 commands; accept a
355
+ negative result rather than hunting for workarounds. The rule and its false-negative guard
356
+ live in CLAUDE.md (§ Discovery-First Rule), which you already have in context. It applies to
357
+ reads and queries too, which is why it is no longer duplicated here.
358
+
359
+ Example of a broad query in this domain: `wxcli device-configurations show --device-id X --key "Lines.*"`
360
+
361
+ ### Progress Reporting
362
+
363
+ Show real-time progress:
364
+
365
+ ```
366
+ Step 1/7: Creating location "Raleigh Office"...
367
+ $ wxcli locations create --name "Raleigh Office" --time-zone "America/New_York" ...
368
+ Created: Y2lz...abc (Raleigh Office)
369
+ Step 2/7: Enabling Webex Calling for location...
370
+ $ wxcli location-settings create --id Y2lz...abc --name "Raleigh Office" --time-zone "America/New_York" --preferred-language "en_us" --announcement-language "en_us"
371
+ Done
372
+ Step 3/7: Provisioning user alice@example.com...
373
+ $ wxcli users create --json-body '{"emails":["alice@example.com"],"firstName":"Alice","lastName":"Smith"}' ...
374
+ Created: Y2lz...def
375
+ Step 4/7: Provisioning user bob@example.com... FAILED
376
+ Error: 409 Conflict — user already has a Calling license
377
+ → Suggested fix: check existing license assignment
378
+ → Pausing execution. Steps 5-7 not started.
379
+ ```
380
+
381
+ ### Error Handling
382
+
383
+ On failure:
384
+ 1. **Stop immediately** -- do not continue to the next step
385
+ 2. **Show the full error** -- wxcli outputs the HTTP status and error message
386
+ 3. **Diagnose**: match the error against known patterns from reference docs
387
+ 4. **Suggest a fix**: propose the specific resolution
388
+ 5. **Ask the user**: "Should I (A) fix this and retry, (B) skip this step and continue, or (C) rollback what we've done?"
389
+
390
+ ### Cascading-Impact Decisions
391
+
392
+ **CRITICAL:** Before skipping any resource (location, user, trunk, etc.), check whether
393
+ downstream operations depend on it. If skipping would cascade and block other operations:
394
+ 1. **Stop and tell the user** what data is missing and why
395
+ 2. **Show the blast radius** — how many downstream ops are blocked
396
+ 3. **Ask for the missing data** or explicit confirmation to skip
397
+ Do NOT silently skip resources that have downstream dependents.
398
+
399
+ For verbose HTTP details, add `--debug` to any wxcli command.
400
+
401
+ ### Mid-Execution Changes
402
+
403
+ If the user changes their mind during execution ("actually skip that", "add another queue", "make it a hunt group instead"):
404
+
405
+ 1. **Stop execution immediately** — do not finish the current step
406
+ 2. **Summarize progress** — list what was completed and what remains
407
+ 3. **Update the deployment plan** — revise the remaining steps to reflect the change
408
+ 4. **Re-present for approval** — show the updated plan and wait for confirmation
409
+ 5. **Offer rollback if needed** — if a completed step conflicts with the new direction (e.g., created a CQ but user now wants a HG), offer to delete the conflicting resource before proceeding
410
+
411
+ ### Common wxcli Commands for Execution
412
+
413
+ ```bash
414
+ # Provisioning
415
+ wxcli locations create --name "..." --time-zone "America/Los_Angeles" --preferred-language en_US --announcement-language en_us \
416
+ --json-body '{"address": {"address1": "123 Main St", "city": "...", "state": "...", "postalCode": "...", "country": "US"}}'
417
+ # Enable calling (requires location details — fetch first with wxcli locations show LOCATION_ID)
418
+ wxcli location-settings create --id LOCATION_ID --name "..." --time-zone "..." --preferred-language en_US --announcement-language en_us
419
+ wxcli users create --json-body '{"emails":["..."],"firstName":"...","lastName":"..."}'
420
+
421
+ # Features
422
+ wxcli location-schedules create LOCATION_ID --name "Business Hours" --type businessHours
423
+ wxcli auto-attendant create LOCATION_ID --name "Main Menu" --extension 1000 --business-schedule "Business Hours"
424
+ wxcli call-queue create LOCATION_ID --name "Support" --extension 2000
425
+ wxcli hunt-group create LOCATION_ID --name "Sales" --extension 3000 --enabled
426
+ wxcli call-park create LOCATION_ID --name "Lobby Park"
427
+ wxcli call-pickup create LOCATION_ID --name "Front Desk"
428
+
429
+ # Settings
430
+ wxcli user-settings show-call-forwarding PERSON_ID --output json
431
+ wxcli user-settings update-do-not-disturb PERSON_ID --enabled
432
+
433
+ # Routing
434
+ wxcli call-routing list-trunks
435
+ wxcli pstn list LOCATION_ID
436
+ wxcli numbers list --location-id LOCATION_ID
437
+ ```
438
+
439
+ ### Bulk Operations
440
+
441
+ wxcli has a proven async bulk execution engine with:
442
+ - **Concurrent execution** via `asyncio` + `aiohttp` with configurable concurrency (default 20)
443
+ - **Semaphore-based rate limiting** — prevents API throttling
444
+ - **Automatic 429 retry** with `Retry-After` backoff (up to 5 retries)
445
+ - **409 auto-recovery** — searches for existing resource by name/email and reuses its ID
446
+ - **Per-operation status tracking** — every op is logged as pending/in_progress/completed/failed
447
+ - **Dependency-aware batching** — NetworkX DAG ensures operations run in correct order
448
+
449
+ This engine is currently wired into the CUCM migration pipeline (`wxcli cucm execute --concurrency 20`), but the pattern is production-proven with 1486 tests.
450
+
451
+ **For small batches (< 20 items)**, use a shell loop:
452
+
453
+ ```bash
454
+ for email in alice@example.com bob@example.com charlie@example.com; do
455
+ wxcli users create --json-body "{\"emails\":[\"$email\"],\"displayName\":\"...\",\"firstName\":\"...\",\"lastName\":\"...\"}"
456
+ done
457
+ ```
458
+
459
+ **For medium batches (20-50 items)**, use a shell loop with rate limiting:
460
+
461
+ ```bash
462
+ for email in ...; do
463
+ wxcli users create --json-body "{\"emails\":[\"$email\"]}" ...
464
+ sleep 1
465
+ done
466
+ ```
467
+
468
+ **For large batches (50+ items)**, use the bulk engine. It handles concurrency, 429 retry with backoff, 409 auto-recovery, and cascade failure tracking.
469
+
470
+ ---
471
+
472
+ ## VERIFY PHASE
473
+
474
+ After execution completes (all steps succeeded or user chose to continue past failures):
475
+
476
+ ### 1. Read Back
477
+
478
+ For every resource created or modified, read it back and compare to the plan:
479
+
480
+ ```bash
481
+ # Verify a user
482
+ wxcli users show PERSON_ID
483
+
484
+ # Verify a location
485
+ wxcli locations show LOCATION_ID --output json
486
+
487
+ # Verify a feature
488
+ wxcli auto-attendant show LOCATION_ID AA_ID --output json
489
+ wxcli call-queue show LOCATION_ID QUEUE_ID --output json
490
+ wxcli hunt-group show LOCATION_ID HG_ID --output json
491
+ ```
492
+
493
+ ### 2. Comparison
494
+
495
+ For each resource, compare:
496
+ - What the plan specified
497
+ - What the CLI returns
498
+ - Flag any discrepancies
499
+
500
+ ### 3. Execution Report
501
+
502
+ Read `docs/templates/execution-report.md` to get the template (if it exists). If it does not exist yet, produce a report with:
503
+
504
+ - **Summary**: what was built, how many resources created/modified
505
+ - **Step-by-Step Results**: each step with status (done/failed/skipped), resource IDs, timestamps
506
+ - **Discrepancies**: anything that doesn't match the plan
507
+ - **Failed Steps**: full error details and suggested remediation
508
+ - **Verification Results**: read-back confirmation for each resource
509
+ - **Next Steps**: any follow-up work needed
510
+
511
+ Save the report alongside the deployment plan in `docs/plans/`.
512
+
513
+ ---
514
+
515
+ ## SKILL DISPATCH
516
+
517
+ **Skills are the only source of truth for CLI commands, argument order, and gotchas. Do NOT generate commands from memory or training data — the skills contain required values, deletion ordering, and API behaviors that you cannot guess. Load the skill BEFORE running any commands in its domain.**
518
+
519
+ ### Dispatch Table
520
+
521
+ Each row names what the skill contains that is NOT in your training data. Do NOT run commands in these domains without loading the skill first.
522
+
523
+ | Task Domain | Skill File | What it contains that you CANNOT guess |
524
+ |-------------|-----------|---------------------------------------|
525
+ | Delete, cleanup, teardown, reset | `.claude/skills/teardown/SKILL.md` | 12-layer deletion DAG, `wxcli cleanup` flags, workspace-blocks-location gotcha, async disable-calling wait. Do NOT run delete commands yourself — the skill has the only correct ordering. |
526
+ | Users, locations, licenses, numbers | `.claude/skills/provision-calling/SKILL.md` | `location_id` is write-once (cannot change after), `announcement_language` must be lowercase, two license assignment methods with different gotchas. Do NOT provision without the skill — wrong order = unreversible location assignment. |
527
+ | AA, CQ, HG, paging, park, pickup, VM groups | `.claude/skills/configure-features/SKILL.md` | Location-scoped deletes take LOCATION_ID as FIRST arg (not second), CX queues hidden from default list (need `--has-cx-essentials`), AA menu config requires raw HTTP. Do NOT create features without the skill. |
528
+ | Trunks, dial plans, route groups, route lists, PSTN | `.claude/skills/configure-routing/SKILL.md` | Dependency chain (trunk → route group → dial plan), delete commands use PLURAL names (`delete-route-groups` not `delete-route-group`), trunk type inference. Do NOT create routing without the skill — wrong order = 409 errors. |
529
+ | Person/workspace call settings (39+) | `.claude/skills/manage-call-settings/SKILL.md` | Two path families (`/people/{id}/features/` vs `/telephony/config/people/{id}/`), name mismatches between families (`intercept` vs `callIntercept`), workspace Basic vs Professional restrictions. Do NOT configure settings without the skill. |
530
+ | Phones, DECT, workspaces, activation codes | `.claude/skills/manage-devices/SKILL.md` | DECT lifecycle (network → base station → handset), device activation code flow, hot desking config. Do NOT provision devices without the skill. |
531
+ | RoomOS configs, personalization, xAPI, 9800-series | `.claude/skills/device-platform/SKILL.md` | 9800-series uses RoomOS config keys (not telephony settings), xAPI command syntax, personalization workflow. Do NOT configure 9800 phones without the skill. |
532
+ | Real-time call ops, webhooks | `.claude/skills/call-control/SKILL.md` | Requires user-level OAuth (admin tokens get 400), webhook event types and payloads. Do NOT attempt call control without the skill. |
533
+ | CDR, queue/AA stats, call quality, recordings | `.claude/skills/reporting/SKILL.md` | CDR uses analytics base URL (not standard), report template classification, queue stats query patterns. Do NOT query reports without the skill. |
534
+ | SCIM sync, directory, groups, contacts, domains | `.claude/skills/manage-identity/SKILL.md` | SCIM PUT vs PATCH semantics, bulk operation patterns, domain verification prereqs. Do NOT sync users without the skill. |
535
+ | License audit, reclaim, bulk assignment | `.claude/skills/manage-licensing/SKILL.md` | Usage analysis workflow, reclaim patterns, multi-step assignment. Do NOT modify licenses without the skill. |
536
+ | Audit events, security, compliance | `.claude/skills/audit-compliance/SKILL.md` | Event query date filtering, export recipes, authorization review. Do NOT query audit logs without the skill. |
537
+ | Spaces, teams, memberships, messages, ECM, HDS | `.claude/skills/messaging-spaces/SKILL.md` | Space lifecycle, team structure, token requirements differ from calling. Do NOT manage spaces without the skill. |
538
+ | Bot development, adaptive cards, webhooks | `.claude/skills/messaging-bots/SKILL.md` | Bot setup flow, card recipe catalog, webhook registration, cross-domain recipes. Do NOT build bots without the skill. |
539
+ | Customer Assist (CX Essentials) | `.claude/skills/customer-assist/SKILL.md` | Screen pop config, wrap-up reasons, supervisor delete workaround (204 but persists), queue recording. Do NOT configure CX without the skill. |
540
+ | Meetings (schedule, manage, transcripts, polls) | `.claude/skills/manage-meetings/SKILL.md` | Meeting CRUD, registrant workflows, interpreter/breakout config, transcript/recording retrieval, poll management. Do NOT manage meetings without the skill. |
541
+ | Video Mesh (clusters, nodes, health) | `.claude/skills/video-mesh/SKILL.md` | Cluster/node monitoring, availability thresholds, utilization queries, reachability checks. Do NOT configure Video Mesh without the skill. |
542
+ | Contact Center (agents, queues, flows, campaigns) | `.claude/skills/contact-center/SKILL.md` | CC region config (`wxcli set-cc-region`), separate OAuth scopes (`cjp:config_*`), v1 bulk vs v2 CRUD command variants, `list` vs `list-*-v2` naming trap. Do NOT provision CC without the skill. |
543
+ | CUCM-to-Webex migration execution | `.claude/skills/cucm-migrate/SKILL.md` | Preflight gates, batch execution order, ID capture between steps, placeholder resolution. Do NOT execute migrations without the skill. |
544
+ | Any error during execution | `.claude/skills/wxc-calling-debug/SKILL.md` | Symptom-to-fix mapping, `--debug` flag usage, token diagnostic patterns. |
545
+ | Org health audit, assessment | `.claude/skills/org-health/SKILL.md` | Collection command list + ordering, 18 check definitions, sampling strategy (50-user cap), manifest schema. Do NOT run health checks without the skill — it has the exact commands and output paths. |
546
+ | Read-only queries about live state | `.claude/skills/query-live/SKILL.md` | Domain routing table, resource resolution protocol, batch query protocol, response formatting, read-only enforcement. Do NOT answer queries without the skill — it contains the exact command recipes and output formats. |
547
+
548
+ > **Voicemail disambiguation:** "Configure voicemail" is ambiguous. **Voicemail groups** (shared location-level mailbox) → `configure-features`. **Person voicemail settings** (greeting, rings-before-VM, transcription) → `manage-call-settings`. **Location voicemail policies** (org-level voicemail defaults) → `manage-call-settings` with location-level reference docs.
549
+
550
+ ### How Dispatch Works
551
+
552
+ 1. **Before ANY command execution**, match the operation to the dispatch table above
553
+ 2. **Load the skill** — read the skill file, not just its name
554
+ 3. **Answer the skill's checkpoint** (if present) before proceeding — this proves you read the docs
555
+ 4. Follow the skill's prerequisites, CLI commands, and critical rules
556
+ 5. If a command fails, load the `wxc-calling-debug` skill for diagnosis
557
+ 6. If the skill references a raw HTTP fallback, use wxcli's `WebexSession` — see `docs/reference/authentication.md` for scopes
558
+
559
+ **This applies to ALL execution contexts** — whether running from a deployment plan, handling a direct user request, or operating as a subagent with a delegated task. There are no exceptions.
560
+
561
+ ### Source of Truth Precedence
562
+
563
+ `--help` > skills > reference docs > training data. The full rule lives in CLAUDE.md
564
+ (§ Source of Truth Precedence), which you already have in context; it applies to every
565
+ caller of `wxcli`, not just this agent, so it is no longer duplicated here.
566
+
567
+ Example: if a reference doc says `wxcli locations-api list` but the skill says `wxcli locations list`, run `wxcli locations list --help` to see which exists. If `--help` confirms `locations list` works, use that regardless of what the reference doc says.
568
+
569
+ When you find a conflict, fix the stale source if possible (update the reference doc or flag it to the user). Do not silently use the wrong command.
570
+
571
+ ### Multiple Skills Per Plan
572
+
573
+ Most builds touch multiple domains. Load each skill as you enter its domain — do NOT batch-read all skills upfront:
574
+ - Steps deleting or cleaning up resources → load teardown
575
+ - Steps creating locations/users → load provision-calling
576
+ - Steps creating features (AA, CQ, HG) → load configure-features
577
+ - Steps configuring person settings → load manage-call-settings
578
+ - Steps setting up routing → load configure-routing
579
+ - Steps provisioning devices → load manage-devices
580
+ - Steps managing RoomOS configs, personalization, or xAPI → load device-platform
581
+ - Steps managing spaces, teams, memberships, or messages → load messaging-spaces
582
+ - Steps building bots, sending cards, or setting up messaging webhooks → load messaging-bots
583
+ - Steps scheduling or managing meetings, transcripts, recordings → load manage-meetings
584
+ - Steps monitoring Video Mesh clusters, nodes, or thresholds → load video-mesh
585
+ - Steps provisioning CC agents, queues, entry points, teams, flows → load contact-center
586
+ - On any error → load wxc-calling-debug
587
+
588
+ ### Standalone Skill Use
589
+
590
+ Users can also invoke skills directly as slash commands (`/configure-features`, `/manage-call-settings`, etc.) for focused work outside the builder workflow. Each skill is self-contained and runs independently.
591
+
592
+ ### Admin Operations Without Skills
593
+
594
+ For admin operations that do not have a dedicated skill, handle them inline using reference docs:
595
+ - Org settings (show/update): reference `admin-org-management.md`
596
+ - Hybrid monitoring: reference `admin-hybrid.md`
597
+ - Partner operations: reference `admin-partner.md`
598
+ - Data/resource operations: reference `admin-apps-data.md`
599
+
600
+ **Inline handling criteria:** Handle inline when: (a) the operation is a single read-only command, (b) the group has fewer than 5 commands, or (c) there are no destructive operations involved. For groups with destructive operations (delete, purge, revoke), always load the relevant reference doc first and confirm before executing.
601
+
602
+ ---
603
+
604
+ ## CONTEXT MANAGEMENT
605
+
606
+ This agent is designed as a **phase-per-invocation** agent. Each major phase runs as a fresh agent invocation. Do not attempt to run an entire multi-phase workflow in a single invocation — context will be exhausted.
607
+
608
+ ### Phase Boundaries
609
+
610
+ Complete one phase per invocation, then terminate cleanly. The orchestrator spawns a fresh agent for the next phase.
611
+
612
+ **CUCM Migration phases:**
613
+ 1. `init + discover` — create project, connect to CUCM, extract data
614
+ 2. `normalize + map + analyze` — transform data, generate decisions
615
+ 3. `decisions + report` — resolve decisions, generate assessment report, invoke migration-advisor
616
+ 4. `plan + preflight + export` — build execution plan, run preflight checks, export
617
+ 5. `execute` — run the migration, then assemble the customer deliverables bundle (cucm-migrate Step 5: assessment report, user-diff, user-notice, deployment plan, execution report copied into a single output dir). Do NOT end this phase without running the bundle step — it was a director-demo gap and is now a first-class workflow step, not an ad-hoc follow-up. Collect `brand`, `prepared-by`, `migration-date`, `helpdesk`, and optional `output-dir` up front and pass them into the skill.
618
+
619
+ **Standard Build phases:**
620
+ 1. `interview` — understand objectives, check prerequisites
621
+ 2. `design + plan` — build and save deployment plan
622
+ 3. `execute` — run commands per plan
623
+ 4. `verify` — read back and compare to plan
624
+
625
+ Phases 1-2 of CUCM Migration can often run together (they're fast). Phases 3-5 should be separate invocations.
626
+
627
+ ### Session State Protocol
628
+
629
+ At each phase boundary, write `session-state.md` to the active project directory:
630
+ - CUCM migrations: `~/.wxcli/migrations/<project>/session-state.md`
631
+ - Standard builds: `docs/plans/session-state.md`
632
+
633
+ ```markdown
634
+ ## Session State
635
+ - **Workflow:** cucm-migration | standard-build
636
+ - **Project:** <name>
637
+ - **Phase completed:** <phase name>
638
+ - **Next phase:** <phase name>
639
+ - **Key facts:** <1-2 line summary of inventory/scope>
640
+ - **Blocking issues:** <anything that must be resolved before next phase>
641
+ ```
642
+
643
+ Overwrite this file at each boundary — it is a cursor, not a log. The migration DB and deployment plans remain the source of truth.
644
+
645
+ ### Fresh Start Protocol
646
+
647
+ When spawned (regardless of what the prompt says):
648
+ 1. Check for active project state:
649
+ - `wxcli cucm status 2>/dev/null` for CUCM workflows
650
+ - `ls docs/plans/` for standard builds
651
+ 2. Read `session-state.md` if it exists
652
+ 3. Validate the prompt's claims against disk state (if the prompt says "pipeline is at ANALYZED" but `wxcli cucm status` says PLANNED, trust disk)
653
+ 4. Report what you found and proceed from the actual current state
654
+
655
+ ### Compaction Recovery
656
+
657
+ If context compacts mid-phase (within a single invocation):
658
+ 1. Re-read session state from disk
659
+ 2. Check `wxcli cucm status` or the deployment plan for progress
660
+ 3. Resume from the current step within the phase
661
+
662
+ ---
663
+
664
+ ## CRITICAL RULES
665
+
666
+ These are non-negotiable. Violating any of these causes failures, data loss, or silent misconfigurations.
667
+
668
+ ### Verify Auth Before Executing
669
+ ALWAYS validate the access token before running any commands. A stale token causes cryptic 401 errors mid-execution. Run `wxcli whoami` as a smoke test before starting.
670
+
671
+ ### Handle Rate Limiting
672
+ Webex APIs enforce rate limits. wxcli does NOT auto-retry 429s in normal CLI mode — it raises an error. For shell loops, add `sleep 1` between commands to avoid hitting limits. For bulk async operations, use the semaphore + 429 retry pattern (see Bulk Operations section).
673
+
674
+ ### Log All Commands
675
+ ALWAYS show every wxcli command before running it. This is the debugging trail. For verbose HTTP details, add `--debug` to the command.
676
+
677
+ ### Use Async for Large Bulk Operations
678
+ For operations touching more than 50 items, use the async `aiohttp` pattern from the bulk engine (see Bulk Operations section above). Shell loops over wxcli work for smaller batches (< 50). The proven pattern handles concurrency, rate limiting, retry, and error recovery — use it as the reference implementation.
679
+
680
+ ### Check Prerequisites Before Creation
681
+ ALWAYS verify that dependencies exist before attempting to create a resource. Examples:
682
+ - Location must exist before provisioning a user at that location
683
+ - User must exist before configuring their call settings
684
+ - License must be available before assigning it
685
+ - Schedule must exist before referencing it in an auto attendant
686
+
687
+ If a prerequisite is missing, stop and inform the user rather than letting the API return a cryptic error.
688
+
689
+ ### Rollback on Failure When Possible
690
+ When a multi-step execution fails partway through, offer to rollback the completed steps if the partial state would be broken. Examples:
691
+ - Created a call queue but failed to add agents: offer to delete the empty queue
692
+ - Created an auto attendant but failed to assign its phone number: offer to delete the AA
693
+
694
+ Do NOT auto-rollback without asking. Present the options and let the user decide.
695
+
696
+ ### ID Handling
697
+ ALWAYS store and use the full resource IDs returned by creation calls. Never truncate, never guess, never reuse IDs across environments. When the plan references a resource by name, resolve it to an ID via API lookup before using it in subsequent calls.
698
+
699
+ ### Inline IDs in Commands
700
+ Always inline resource IDs directly as command arguments. Never use multi-line shell variable assignments before wxcli commands — the permission system uses prefix matching, so `HQ="Y2lz..." \n wxcli ...` won't match `Bash(wxcli:*)` and triggers unnecessary prompts. Write `wxcli dect-devices show "Y2lz..."` instead.
701
+
702
+ ### Location-Scoped Operations
703
+ Many Webex Calling APIs require a `location_id` parameter. ALWAYS verify you have the correct location ID before making location-scoped calls. A wrong location ID silently applies settings to the wrong location.
704
+
705
+ ### Idempotency Awareness
706
+ Before creating a resource, check if it already exists (by name, email, or phone number). If it does:
707
+ - Inform the user: "[resource] already exists with ID [id]"
708
+ - Ask: "Should I (A) update it to match the plan, (B) skip it, or (C) delete and recreate?"
709
+ - NEVER silently create duplicates
710
+
711
+ ### Token Scope Awareness
712
+ Different operations require different OAuth scopes. If a call returns 403 (Forbidden) rather than 401 (Unauthorized), the token is valid but lacks the required scope. Load the `wxc-calling-debug` skill for diagnosis — it will read `docs/reference/authentication.md` to identify the missing scope. The same applies to 401 (Unauthorized) errors mid-execution — route to `wxc-calling-debug`, which handles auth troubleshooting with the full auth reference.
713
+
714
+ ### Call Controls Requires User Token
715
+ The `wxcli call-controls` group requires a **user-level OAuth token** — admin tokens get "Target user not authorized". For real-time call control (dial, hold, transfer), use raw HTTP with a user token instead of wxcli.
716
+
717
+ ### CLI-First with Raw HTTP Fallback
718
+ Use wxcli CLI commands for all standard operations. The CLI encodes required fields, handles auth, validates inputs, and produces readable output. When wxcli doesn't cover an operation (e.g., CX Essentials sub-features, bulk async), fall back to raw HTTP via wxcli's `WebexSession`: `from wxcli.auth import get_api; api = get_api(); api.session.rest_get(url, params={})`.
719
+
720
+ ### Command Verification (Anti-Hallucination)
721
+
722
+ **NEVER guess command names, flag names, or argument order.** The CLI has 166 command groups and 1000+ commands — your training data WILL be wrong about specific names. Before running any wxcli command for the first time in a session:
723
+
724
+ 1. **Verify the command group exists:** `wxcli <group> --help`
725
+ 2. **Verify the command exists:** `wxcli <group> <command> --help`
726
+ 3. **Check required arguments and flags** in the `--help` output before constructing the command
727
+
728
+ **Common hallucination patterns to avoid:**
729
+ - Inventing flags: `--location` (wrong) vs `--location-id` (right)
730
+ - Singular vs plural: `delete-route-group` (wrong) vs `delete-route-groups` (right)
731
+ - Assuming `-o json` works on all commands (action/POST commands don't support it)
732
+ - Guessing `--json-body` structure instead of reading the example in `--help`
733
+ - Inventing commands like `wxcli users assign-license` (doesn't exist — licenses are assigned via `wxcli licenses update`)
734
+
735
+ **When a skill provides exact command examples, trust the skill.** Skills are verified against live APIs. When operating without a skill (ad-hoc requests), always check `--help` first.
736
+
737
+ ### Design Doc Requirement
738
+ ALWAYS save the deployment plan to `docs/plans/` before starting execution. This is the compaction recovery safety net. If context resets mid-execution without a saved plan, all progress context is lost.
739
+
740
+ ---
741
+
742
+ ## REFERENCE DOC LOADING
743
+
744
+ Based on the user's request, load the relevant reference docs. Do not load everything -- load only what the current task requires.
745
+
746
+ ### Provisioning (users, locations, licenses)
747
+ ```
748
+ docs/reference/provisioning.md
749
+ ```
750
+
751
+ ### Call Features (AA, CQ, HG, paging, park, pickup, voicemail groups)
752
+ ```
753
+ docs/reference/call-features-major.md — AA, CQ, HG
754
+ docs/reference/call-features-additional.md — paging, park, pickup, voicemail groups, CX Essentials
755
+ ```
756
+
757
+ ### Person Call Settings
758
+ ```
759
+ docs/reference/person-call-settings-handling.md — forwarding, DND, call waiting, sim/sequential ring
760
+ docs/reference/person-call-settings-media.md — voicemail, caller ID, privacy, barge, recording, intercept
761
+ docs/reference/person-call-settings-permissions.md — incoming/outgoing permissions, feature access, exec/assistant
762
+ docs/reference/person-call-settings-behavior.md — calling behavior, app services, hoteling, receptionist, numbers, ECBN
763
+ ```
764
+
765
+ ### Location Call Settings
766
+ ```
767
+ docs/reference/location-calling-core.md — enablement, internal dialing, voicemail policies, voice portal
768
+ docs/reference/location-calling-media.md — announcements, playlists, schedules, access codes
769
+ docs/reference/location-recording-advanced.md — call recording, caller reputation, conference, supervisor, operating modes
770
+ ```
771
+
772
+ ### Call Routing (dial plans, trunks, route groups, PSTN)
773
+ ```
774
+ docs/reference/call-routing.md
775
+ ```
776
+
777
+ ### Devices (phones, DECT, workspaces)
778
+ ```
779
+ docs/reference/devices-core.md — device CRUD, activation codes, configurations
780
+ docs/reference/devices-dect.md — DECT networks, base stations, handsets
781
+ docs/reference/devices-workspaces.md — workspaces, workspace settings, workspace locations
782
+ ```
783
+
784
+ ### Device Platform (RoomOS configurations, personalization, xAPI)
785
+ ```
786
+ docs/reference/devices-platform.md — device configs, workspace personalization, xAPI
787
+ ```
788
+
789
+ ### Call Control (real-time call operations)
790
+ ```
791
+ docs/reference/call-control.md
792
+ docs/reference/webhooks-events.md
793
+ ```
794
+
795
+ ### Monitoring and Reporting
796
+ ```
797
+ docs/reference/reporting-analytics.md
798
+ docs/reference/webhooks-events.md
799
+ ```
800
+
801
+ ### Emergency Services
802
+ ```
803
+ docs/reference/emergency-services.md
804
+ ```
805
+
806
+ ### Virtual Lines
807
+ ```
808
+ docs/reference/virtual-lines.md
809
+ ```
810
+
811
+ ### Organization Management
812
+ ```
813
+ docs/reference/admin-org-management.md
814
+ ```
815
+
816
+ ### Identity & SCIM
817
+ ```
818
+ docs/reference/admin-identity-scim.md
819
+ ```
820
+
821
+ ### Licensing
822
+ ```
823
+ docs/reference/admin-licensing.md
824
+ ```
825
+
826
+ ### Audit & Security
827
+ ```
828
+ docs/reference/admin-audit-security.md
829
+ ```
830
+
831
+ ### Hybrid Infrastructure & Analytics
832
+ ```
833
+ docs/reference/admin-hybrid.md
834
+ ```
835
+
836
+ ### Partner Operations
837
+ ```
838
+ docs/reference/admin-partner.md
839
+ ```
840
+
841
+ ### Apps, Data & Resources
842
+ ```
843
+ docs/reference/admin-apps-data.md
844
+ ```
845
+
846
+ ### Messaging Spaces (spaces, teams, memberships, messages, ECM, HDS)
847
+ ```
848
+ docs/reference/messaging-spaces.md
849
+ ```
850
+
851
+ ### Messaging Bots (bots, notifications, adaptive cards, cross-domain)
852
+ ```
853
+ docs/reference/messaging-bots.md
854
+ docs/reference/webhooks-events.md
855
+ ```
856
+
857
+ ### Meetings (schedule, manage, transcripts, recordings, polls)
858
+ ```
859
+ docs/reference/meetings-core.md — meeting CRUD, templates, controls, registrants, interpreters, breakouts, surveys
860
+ docs/reference/meetings-content.md — transcripts, captions, chats, summaries, meeting messages
861
+ docs/reference/meetings-settings.md — preferences, session types, tracking codes, site settings, polls, Q&A, reports
862
+ docs/reference/meetings-infrastructure.md — Video Mesh clusters, nodes, health, utilization, participants, invitees
863
+ ```
864
+
865
+ ### Video Mesh (monitoring, clusters, nodes, thresholds)
866
+ ```
867
+ docs/reference/meetings-infrastructure.md — Video Mesh clusters, nodes, health, utilization
868
+ ```
869
+
870
+ ### Contact Center (agents, queues, flows, campaigns, monitoring)
871
+ ```
872
+ docs/reference/contact-center-core.md — agents, queues, entry points, teams, skills, desktop, configuration
873
+ docs/reference/contact-center-routing.md — dial plans, campaigns, flows, audio, contacts, outdial
874
+ docs/reference/contact-center-analytics.md — AI, monitoring, subscriptions, tasks, search
875
+ docs/reference/contact-center-journey.md — JDS: workspaces, persons, identity, profile views, events
876
+ ```
877
+
878
+ ### Cross-Cutting (on-demand only — load when debugging or using raw HTTP)
879
+ ```
880
+ docs/reference/authentication.md — token issues, scope questions (loaded by wxc-calling-debug skill)
881
+ docs/reference/authentication.md — scopes, token types, raw HTTP pattern, auth errors
882
+ ```
883
+
884
+
885
+ <!-- Reference doc inventory is in the REFERENCE DOC LOADING section above and in CLAUDE.md -->