@pnp/cli-microsoft365 6.0.0-beta.78fdd2c → 6.0.0-beta.7920dfd

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 (1017) hide show
  1. package/.devcontainer/Dockerfile +3 -1
  2. package/.devcontainer/devcontainer.json +1 -0
  3. package/.eslintrc.js +20 -3
  4. package/LICENSE +1 -3
  5. package/README.md +5 -0
  6. package/dist/Auth.js +3 -4
  7. package/dist/Command.js +80 -51
  8. package/dist/api.js +3 -3
  9. package/dist/appInsights.js +2 -0
  10. package/dist/cli/Cli.js +100 -37
  11. package/dist/index.js +2 -2
  12. package/dist/m365/aad/commands/app/app-add.js +224 -61
  13. package/dist/m365/aad/commands/app/app-get.js +22 -25
  14. package/dist/m365/aad/commands/app/app-list.js +38 -0
  15. package/dist/m365/aad/commands/app/app-remove.js +44 -51
  16. package/dist/m365/aad/commands/app/app-role-add.js +37 -38
  17. package/dist/m365/aad/commands/app/app-role-list.js +19 -26
  18. package/dist/m365/aad/commands/app/app-role-remove.js +32 -48
  19. package/dist/m365/aad/commands/app/app-set.js +19 -20
  20. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +102 -109
  21. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +55 -61
  22. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +103 -108
  23. package/dist/m365/aad/commands/group/group-list.js +36 -24
  24. package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +35 -34
  25. package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +19 -16
  26. package/dist/m365/aad/commands/groupsetting/groupsetting-list.js +20 -8
  27. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +33 -32
  28. package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +35 -32
  29. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +21 -22
  30. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-list.js +20 -8
  31. package/dist/m365/aad/commands/o365group/o365group-add.js +88 -104
  32. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +13 -9
  33. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +20 -21
  34. package/dist/m365/aad/commands/o365group/o365group-get.js +22 -27
  35. package/dist/m365/aad/commands/o365group/o365group-list.js +40 -44
  36. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +34 -22
  37. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +30 -17
  38. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +37 -39
  39. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +27 -26
  40. package/dist/m365/aad/commands/o365group/o365group-remove.js +41 -43
  41. package/dist/m365/aad/commands/o365group/o365group-renew.js +19 -14
  42. package/dist/m365/aad/commands/o365group/o365group-set.js +98 -116
  43. package/dist/m365/aad/commands/o365group/o365group-teamify.js +44 -43
  44. package/dist/m365/aad/commands/o365group/o365group-user-add.js +35 -34
  45. package/dist/m365/aad/commands/o365group/o365group-user-list.js +20 -21
  46. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +66 -71
  47. package/dist/m365/aad/commands/o365group/o365group-user-set.js +69 -72
  48. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +28 -23
  49. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +24 -20
  50. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +43 -32
  51. package/dist/m365/aad/commands/oauth2grant/oauth2grant-set.js +31 -16
  52. package/dist/m365/aad/commands/policy/policy-list.js +27 -28
  53. package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +61 -53
  54. package/dist/m365/aad/commands/siteclassification/siteclassification-enable.js +84 -72
  55. package/dist/m365/aad/commands/siteclassification/siteclassification-get.js +66 -57
  56. package/dist/m365/aad/commands/siteclassification/siteclassification-set.js +96 -93
  57. package/dist/m365/aad/commands/sp/sp-add.js +32 -34
  58. package/dist/m365/aad/commands/sp/sp-get.js +41 -43
  59. package/dist/m365/aad/commands/user/user-get.js +45 -48
  60. package/dist/m365/aad/commands/user/user-guest-add.js +103 -0
  61. package/dist/m365/aad/commands/user/user-hibp.js +24 -24
  62. package/dist/m365/aad/commands/user/user-list.js +37 -15
  63. package/dist/m365/aad/commands/user/user-password-validate.js +29 -17
  64. package/dist/m365/aad/commands/user/user-set.js +25 -22
  65. package/dist/m365/aad/commands/user/user-signin-list.js +29 -24
  66. package/dist/m365/aad/commands.js +2 -1
  67. package/dist/m365/adaptivecard/commands/adaptivecard-send.js +43 -41
  68. package/dist/m365/app/commands/app-get.js +28 -16
  69. package/dist/m365/app/commands/app-open.js +20 -5
  70. package/dist/m365/app/commands/permission/permission-list.js +19 -17
  71. package/dist/m365/base/AnonymousCommand.js +14 -3
  72. package/dist/m365/base/AppCommand.js +54 -47
  73. package/dist/m365/base/DateAndPeriodBasedReport.js +8 -5
  74. package/dist/m365/base/PeriodBasedReport.js +24 -16
  75. package/dist/m365/base/SpoCommand.js +25 -20
  76. package/dist/m365/base/YammerCommand.js +4 -4
  77. package/dist/m365/booking/commands/business/business-get.js +97 -0
  78. package/dist/m365/booking/commands/business/business-list.js +39 -0
  79. package/dist/m365/booking/commands.js +8 -0
  80. package/dist/m365/cli/commands/cli-consent.js +15 -12
  81. package/dist/m365/cli/commands/cli-doctor.js +37 -27
  82. package/dist/m365/cli/commands/cli-issue.js +15 -15
  83. package/dist/m365/cli/commands/cli-reconsent.js +31 -19
  84. package/dist/m365/cli/commands/completion/completion-clink-update.js +13 -3
  85. package/dist/m365/cli/commands/completion/completion-pwsh-setup.js +47 -38
  86. package/dist/m365/cli/commands/completion/completion-pwsh-update.js +16 -6
  87. package/dist/m365/cli/commands/completion/completion-sh-setup.js +21 -11
  88. package/dist/m365/cli/commands/completion/completion-sh-update.js +16 -6
  89. package/dist/m365/cli/commands/config/config-get.js +5 -4
  90. package/dist/m365/cli/commands/config/config-reset.js +10 -9
  91. package/dist/m365/cli/commands/config/config-set.js +25 -20
  92. package/dist/m365/commands/commands.js +1 -0
  93. package/dist/m365/commands/login.js +72 -64
  94. package/dist/m365/commands/logout.js +34 -23
  95. package/dist/m365/commands/request.js +150 -0
  96. package/dist/m365/commands/status.js +55 -28
  97. package/dist/m365/commands/version.js +13 -3
  98. package/dist/m365/file/commands/convert/convert-pdf.js +58 -53
  99. package/dist/m365/file/commands/file-add.js +17 -12
  100. package/dist/m365/file/commands/file-list.js +33 -34
  101. package/dist/m365/flow/commands/environment/environment-get.js +35 -22
  102. package/dist/m365/flow/commands/environment/environment-list.js +33 -21
  103. package/dist/m365/flow/commands/flow-disable.js +30 -15
  104. package/dist/m365/flow/commands/flow-enable.js +30 -15
  105. package/dist/m365/flow/commands/flow-export.js +106 -105
  106. package/dist/m365/flow/commands/flow-get.js +35 -22
  107. package/dist/m365/flow/commands/flow-list.js +30 -17
  108. package/dist/m365/flow/commands/flow-remove.js +43 -46
  109. package/dist/m365/flow/commands/run/run-cancel.js +39 -37
  110. package/dist/m365/flow/commands/run/run-get.js +36 -23
  111. package/dist/m365/flow/commands/run/run-list.js +34 -21
  112. package/dist/m365/flow/commands/run/run-resubmit.js +44 -44
  113. package/dist/m365/{spo/commands/page/PageTemplateResponse.js → graph/Changelog.js} +1 -1
  114. package/dist/m365/graph/commands/changelog/changelog-list.js +164 -0
  115. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +32 -29
  116. package/dist/m365/graph/commands/schemaextension/schemaextension-get.js +30 -17
  117. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +40 -36
  118. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +43 -32
  119. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +59 -56
  120. package/dist/m365/graph/commands/subscription/subscription-add.js +30 -27
  121. package/dist/m365/graph/commands.js +1 -0
  122. package/dist/m365/onedrive/commands/onedrive-list.js +25 -15
  123. package/dist/m365/onenote/commands/notebook/notebook-list.js +140 -0
  124. package/dist/m365/onenote/commands.js +7 -0
  125. package/dist/m365/outlook/commands/mail/mail-send.js +101 -37
  126. package/dist/m365/outlook/commands/message/message-get.js +97 -0
  127. package/dist/m365/outlook/commands/message/message-list.js +19 -27
  128. package/dist/m365/outlook/commands/message/message-move.js +31 -49
  129. package/dist/m365/outlook/commands/room/room-list.js +24 -12
  130. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +20 -8
  131. package/dist/m365/outlook/commands.js +2 -2
  132. package/dist/m365/pa/commands/app/app-get.js +50 -53
  133. package/dist/m365/pa/commands/app/app-list.js +21 -17
  134. package/dist/m365/pa/commands/app/app-remove.js +42 -41
  135. package/dist/m365/pa/commands/connector/connector-export.js +104 -105
  136. package/dist/m365/pa/commands/connector/connector-list.js +31 -18
  137. package/dist/m365/pa/commands/environment/environment-get.js +35 -22
  138. package/dist/m365/pa/commands/environment/environment-list.js +33 -21
  139. package/dist/m365/pa/commands/pcf/pcf-init.js +39 -38
  140. package/dist/m365/pa/commands/solution/solution-init.js +50 -49
  141. package/dist/m365/pa/commands/solution/solution-reference-add.js +21 -20
  142. package/dist/m365/planner/commands/bucket/bucket-add.js +34 -35
  143. package/dist/m365/planner/commands/bucket/bucket-get.js +23 -22
  144. package/dist/m365/planner/commands/bucket/bucket-list.js +23 -21
  145. package/dist/m365/planner/commands/bucket/bucket-remove.js +40 -40
  146. package/dist/m365/planner/commands/bucket/bucket-set.js +32 -28
  147. package/dist/m365/planner/commands/plan/plan-add.js +39 -38
  148. package/dist/m365/planner/commands/plan/plan-get.js +37 -57
  149. package/dist/m365/planner/commands/plan/plan-list.js +23 -22
  150. package/dist/m365/planner/commands/plan/plan-remove.js +39 -41
  151. package/dist/m365/planner/commands/task/task-add.js +52 -64
  152. package/dist/m365/planner/commands/task/task-checklistitem-add.js +49 -38
  153. package/dist/m365/planner/commands/task/task-checklistitem-list.js +37 -22
  154. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +54 -43
  155. package/dist/m365/planner/commands/task/task-get.js +29 -17
  156. package/dist/m365/planner/commands/task/task-list.js +52 -59
  157. package/dist/m365/planner/commands/task/task-reference-add.js +26 -25
  158. package/dist/m365/planner/commands/task/task-reference-list.js +32 -19
  159. package/dist/m365/planner/commands/task/task-reference-remove.js +43 -44
  160. package/dist/m365/planner/commands/task/task-remove.js +39 -38
  161. package/dist/m365/planner/commands/task/task-set.js +40 -43
  162. package/dist/m365/planner/commands/tenant/tenant-settings-list.js +26 -14
  163. package/dist/m365/planner/commands/tenant/tenant-settings-set.js +27 -24
  164. package/dist/m365/{spo/commands/list/ListInstanceCollection.js → pp/commands/Environment.js} +1 -1
  165. package/dist/m365/pp/commands/card/card-clone.js +122 -0
  166. package/dist/m365/pp/commands/card/card-get.js +110 -0
  167. package/dist/m365/pp/commands/card/card-list.js +68 -0
  168. package/dist/m365/pp/commands/card/card-remove.js +130 -0
  169. package/dist/m365/pp/commands/chatbot/chatbot-list.js +108 -0
  170. package/dist/m365/pp/commands/dataverse/dataverse-table-get.js +77 -0
  171. package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +69 -0
  172. package/dist/m365/pp/commands/dataverse/dataverse-table-remove.js +95 -0
  173. package/dist/m365/pp/commands/environment/environment-get.js +75 -0
  174. package/dist/m365/pp/commands/environment/environment-list.js +41 -29
  175. package/dist/m365/pp/commands/gateway/gateway-get.js +71 -0
  176. package/dist/m365/pp/commands/gateway/gateway-list.js +29 -17
  177. package/dist/m365/pp/commands/managementapp/managementapp-add.js +29 -34
  178. package/dist/m365/pp/commands/managementapp/managementapp-list.js +21 -9
  179. package/dist/m365/{spo/commands/group/GroupPropertiesCollection.js → pp/commands/solution/Solution.js} +1 -1
  180. package/dist/m365/pp/commands/solution/solution-get.js +117 -0
  181. package/dist/m365/pp/commands/solution/solution-list.js +81 -0
  182. package/dist/m365/pp/commands/solution/solution-publisher-get.js +107 -0
  183. package/dist/m365/pp/commands/solution/solution-publisher-list.js +78 -0
  184. package/dist/m365/pp/commands/solution/solution-publisher-remove.js +130 -0
  185. package/dist/m365/pp/commands/solution/solution-remove.js +130 -0
  186. package/dist/m365/pp/commands/tenant/tenant-settings-list.js +45 -0
  187. package/dist/m365/pp/commands.js +18 -1
  188. package/dist/m365/search/commands/externalconnection/externalconnection-add.js +29 -24
  189. package/dist/m365/search/commands/externalconnection/externalconnection-get.js +39 -29
  190. package/dist/m365/search/commands/externalconnection/externalconnection-list.js +20 -8
  191. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +109 -0
  192. package/dist/m365/search/commands.js +2 -1
  193. package/dist/m365/spfx/commands/package/package-generate.js +106 -99
  194. package/dist/m365/spfx/commands/project/base-project-command.js +19 -18
  195. package/dist/m365/spfx/commands/project/project-doctor/doctor-1.16.0.js +23 -0
  196. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001008_DEP_react.js +2 -2
  197. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001009_DEP_react_dom.js +2 -2
  198. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  199. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002015_DEVDEP_types_react.js +2 -2
  200. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  201. package/dist/m365/spfx/commands/project/project-doctor.js +108 -107
  202. package/dist/m365/spfx/commands/project/project-externalize.js +49 -39
  203. package/dist/m365/spfx/commands/project/project-rename.js +38 -30
  204. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001005_DEP_types_react.js +2 -2
  205. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001006_DEP_types_react_dom.js +2 -2
  206. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001008_DEP_react.js +2 -2
  207. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001009_DEP_react_dom.js +2 -2
  208. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001015_DEP_types_react_addons_shallow_compare.js +2 -2
  209. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001016_DEP_types_react_addons_update.js +2 -2
  210. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001017_DEP_types_react_addons_update.js +2 -2
  211. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001019_DEP_knockout.js +2 -2
  212. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001020_DEP_types_knockout.js +2 -2
  213. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  214. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002015_DEVDEP_types_react.js +2 -2
  215. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  216. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002025_DEVDEP_eslint_plugin_react_hooks.js +2 -2
  217. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010001_YORC_version.js +2 -1
  218. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010002_YORC_isCreatingSolution.js +2 -1
  219. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010003_YORC_packageManager.js +2 -1
  220. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010004_YORC_componentType.js +2 -1
  221. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010005_YORC_environment.js +2 -1
  222. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010006_YORC_framework.js +3 -2
  223. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010007_YORC_isDomainIsolated.js +2 -1
  224. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010008_YORC_nodeVersion.js +48 -0
  225. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010009_YORC_sdkVersions_microsoft_graph_client.js +56 -0
  226. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN010010_YORC_sdkVersions_teams_js.js +56 -0
  227. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015008_FILE_eslintrc_js.js +2 -2
  228. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN020001_RES_types_react.js +2 -2
  229. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN021003_PKG_engines_node.js +48 -0
  230. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022001_SCSS_remove_fabric_react.js +2 -2
  231. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022002_SCSS_add_fabric_react.js +2 -2
  232. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.14.0.js +0 -2
  233. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.16.0.js +77 -0
  234. package/dist/m365/spfx/commands/project/project-upgrade.js +191 -192
  235. package/dist/m365/spfx/commands/spfx-doctor.js +195 -129
  236. package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +1 -1
  237. package/dist/m365/spo/commands/app/app-add.js +40 -40
  238. package/dist/m365/spo/commands/app/app-deploy.js +51 -54
  239. package/dist/m365/spo/commands/app/app-get.js +54 -56
  240. package/dist/m365/spo/commands/app/app-install.js +27 -21
  241. package/dist/m365/spo/commands/app/app-instance-list.js +27 -23
  242. package/dist/m365/spo/commands/app/app-list.js +32 -41
  243. package/dist/m365/spo/commands/app/app-remove.js +45 -46
  244. package/dist/m365/spo/commands/app/app-retract.js +45 -46
  245. package/dist/m365/spo/commands/app/app-teamspackage-download.js +44 -44
  246. package/dist/m365/spo/commands/app/app-uninstall.js +41 -39
  247. package/dist/m365/spo/commands/app/app-upgrade.js +27 -21
  248. package/dist/m365/spo/commands/apppage/apppage-add.js +39 -40
  249. package/dist/m365/spo/commands/apppage/apppage-set.js +22 -17
  250. package/dist/m365/spo/commands/cdn/cdn-get.js +36 -42
  251. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +31 -38
  252. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +34 -40
  253. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +46 -59
  254. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +48 -55
  255. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +44 -52
  256. package/dist/m365/spo/commands/cdn/cdn-set.js +64 -68
  257. package/dist/m365/spo/commands/contenttype/contenttype-add.js +127 -91
  258. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +134 -118
  259. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +131 -155
  260. package/dist/m365/spo/commands/contenttype/contenttype-get.js +62 -42
  261. package/dist/m365/spo/commands/contenttype/contenttype-list.js +18 -21
  262. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +70 -82
  263. package/dist/m365/spo/commands/contenttype/contenttype-set.js +168 -0
  264. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +51 -48
  265. package/dist/m365/spo/commands/customaction/customaction-add.js +47 -44
  266. package/dist/m365/spo/commands/customaction/customaction-clear.js +32 -30
  267. package/dist/m365/spo/commands/customaction/customaction-get.js +51 -44
  268. package/dist/m365/spo/commands/customaction/customaction-list.js +37 -44
  269. package/dist/m365/spo/commands/customaction/customaction-remove.js +43 -40
  270. package/dist/m365/spo/commands/customaction/customaction-set.js +28 -22
  271. package/dist/m365/spo/commands/eventreceiver/EventReceiver.js +3 -0
  272. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +64 -43
  273. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +34 -36
  274. package/dist/m365/spo/commands/eventreceiver/eventreceiver-remove.js +167 -0
  275. package/dist/m365/spo/commands/externaluser/externaluser-list.js +55 -58
  276. package/dist/m365/spo/commands/feature/feature-disable.js +28 -23
  277. package/dist/m365/spo/commands/feature/feature-enable.js +30 -25
  278. package/dist/m365/spo/commands/feature/feature-list.js +20 -24
  279. package/dist/m365/spo/commands/field/field-add.js +54 -26
  280. package/dist/m365/spo/commands/field/field-get.js +42 -43
  281. package/dist/m365/spo/commands/field/field-list.js +27 -29
  282. package/dist/m365/spo/commands/field/field-remove.js +88 -95
  283. package/dist/m365/spo/commands/field/field-set.js +82 -83
  284. package/dist/m365/spo/commands/file/file-add.js +166 -184
  285. package/dist/m365/spo/commands/file/file-checkin.js +46 -43
  286. package/dist/m365/spo/commands/file/file-checkout.js +33 -30
  287. package/dist/m365/spo/commands/file/file-copy.js +57 -133
  288. package/dist/m365/spo/commands/file/file-get.js +99 -77
  289. package/dist/m365/spo/commands/file/file-list.js +17 -11
  290. package/dist/m365/spo/commands/file/file-move.js +91 -103
  291. package/dist/m365/spo/commands/file/file-remove.js +63 -67
  292. package/dist/m365/spo/commands/file/file-rename.js +54 -51
  293. package/dist/m365/spo/commands/file/file-roleassignment-add.js +217 -0
  294. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +180 -0
  295. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +129 -0
  296. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +125 -0
  297. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +64 -64
  298. package/dist/m365/spo/commands/file/file-version-clear.js +114 -0
  299. package/dist/m365/spo/commands/file/file-version-get.js +104 -0
  300. package/dist/m365/spo/commands/file/file-version-list.js +92 -0
  301. package/dist/m365/spo/commands/file/file-version-remove.js +119 -0
  302. package/dist/m365/spo/commands/file/file-version-restore.js +119 -0
  303. package/dist/m365/spo/commands/folder/folder-add.js +29 -25
  304. package/dist/m365/spo/commands/folder/folder-copy.js +49 -44
  305. package/dist/m365/spo/commands/folder/folder-get.js +85 -28
  306. package/dist/m365/spo/commands/folder/folder-list.js +44 -24
  307. package/dist/m365/spo/commands/folder/folder-move.js +50 -45
  308. package/dist/m365/spo/commands/folder/folder-remove.js +46 -43
  309. package/dist/m365/spo/commands/folder/folder-rename.js +35 -39
  310. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +215 -0
  311. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +169 -0
  312. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +104 -0
  313. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +100 -0
  314. package/dist/m365/spo/commands/group/AssociatedGroupPropertiesCollection.js +3 -0
  315. package/dist/m365/spo/commands/group/group-add.js +29 -26
  316. package/dist/m365/spo/commands/group/group-get.js +44 -40
  317. package/dist/m365/spo/commands/group/group-list.js +60 -23
  318. package/dist/m365/spo/commands/group/{group-user-add.js → group-member-add.js} +52 -64
  319. package/dist/m365/spo/commands/group/group-member-list.js +85 -0
  320. package/dist/m365/spo/commands/group/group-member-remove.js +114 -0
  321. package/dist/m365/spo/commands/group/group-remove.js +53 -59
  322. package/dist/m365/spo/commands/group/group-set.js +32 -27
  323. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +30 -20
  324. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +23 -20
  325. package/dist/m365/spo/commands/homesite/homesite-get.js +29 -19
  326. package/dist/m365/spo/commands/homesite/homesite-remove.js +50 -49
  327. package/dist/m365/spo/commands/homesite/homesite-set.js +28 -31
  328. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +101 -22
  329. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +27 -24
  330. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +98 -42
  331. package/dist/m365/spo/commands/hubsite/hubsite-get.js +25 -38
  332. package/dist/m365/spo/commands/hubsite/hubsite-list.js +59 -63
  333. package/dist/m365/spo/commands/hubsite/hubsite-register.js +23 -21
  334. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +34 -37
  335. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +49 -56
  336. package/dist/m365/spo/commands/hubsite/hubsite-set.js +38 -41
  337. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +36 -36
  338. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +35 -32
  339. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +52 -53
  340. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +30 -34
  341. package/dist/m365/spo/commands/list/list-add.js +28 -25
  342. package/dist/m365/spo/commands/list/list-contenttype-add.js +52 -48
  343. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +115 -106
  344. package/dist/m365/spo/commands/list/list-contenttype-list.js +39 -38
  345. package/dist/m365/spo/commands/list/list-contenttype-remove.js +61 -57
  346. package/dist/m365/spo/commands/list/list-get.js +49 -40
  347. package/dist/m365/spo/commands/list/list-label-get.js +68 -59
  348. package/dist/m365/spo/commands/list/list-label-set.js +55 -51
  349. package/dist/m365/spo/commands/list/list-list.js +19 -24
  350. package/dist/m365/spo/commands/list/list-remove.js +50 -54
  351. package/dist/m365/spo/commands/list/list-roleassignment-add.js +200 -0
  352. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +189 -0
  353. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +67 -32
  354. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +63 -28
  355. package/dist/m365/spo/commands/list/list-set.js +60 -34
  356. package/dist/m365/spo/commands/list/list-sitescript-get.js +70 -63
  357. package/dist/m365/spo/commands/list/list-view-add.js +38 -33
  358. package/dist/m365/spo/commands/list/list-view-field-add.js +84 -85
  359. package/dist/m365/spo/commands/list/list-view-field-remove.js +72 -75
  360. package/dist/m365/spo/commands/list/list-view-field-set.js +63 -60
  361. package/dist/m365/spo/commands/list/list-view-get.js +46 -47
  362. package/dist/m365/spo/commands/list/list-view-list.js +35 -37
  363. package/dist/m365/spo/commands/list/list-view-remove.js +65 -65
  364. package/dist/m365/spo/commands/list/list-view-set.js +55 -47
  365. package/dist/m365/spo/commands/list/list-webhook-add.js +59 -52
  366. package/dist/m365/spo/commands/list/list-webhook-get.js +49 -43
  367. package/dist/m365/spo/commands/list/list-webhook-list.js +45 -74
  368. package/dist/m365/spo/commands/list/list-webhook-remove.js +64 -61
  369. package/dist/m365/spo/commands/list/list-webhook-set.js +57 -51
  370. package/dist/m365/spo/commands/listitem/listitem-add.js +121 -120
  371. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +46 -35
  372. package/dist/m365/spo/commands/listitem/listitem-batch-add.js +202 -0
  373. package/dist/m365/spo/commands/listitem/listitem-get.js +70 -36
  374. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +81 -75
  375. package/dist/m365/spo/commands/listitem/listitem-list.js +77 -75
  376. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +69 -65
  377. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +65 -65
  378. package/dist/m365/spo/commands/listitem/listitem-remove.js +68 -63
  379. package/dist/m365/spo/commands/listitem/listitem-roleassignment-add.js +239 -0
  380. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +195 -0
  381. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +67 -32
  382. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +63 -25
  383. package/dist/m365/spo/commands/listitem/listitem-set.js +183 -195
  384. package/dist/m365/spo/commands/mail/mail-send.js +50 -45
  385. package/dist/m365/spo/commands/navigation/navigation-node-add.js +31 -28
  386. package/dist/m365/spo/commands/navigation/navigation-node-list.js +22 -26
  387. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +38 -38
  388. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +30 -33
  389. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +49 -45
  390. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +50 -50
  391. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +35 -31
  392. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +41 -50
  393. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +26 -29
  394. package/dist/m365/spo/commands/page/Page.js +4 -3
  395. package/dist/m365/spo/commands/page/page-add.js +198 -218
  396. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +191 -196
  397. package/dist/m365/spo/commands/page/page-column-get.js +26 -23
  398. package/dist/m365/spo/commands/page/page-column-list.js +21 -18
  399. package/dist/m365/spo/commands/page/page-control-get.js +41 -37
  400. package/dist/m365/spo/commands/page/page-control-list.js +37 -33
  401. package/dist/m365/spo/commands/page/page-control-set.js +102 -101
  402. package/dist/m365/spo/commands/page/page-copy.js +53 -53
  403. package/dist/m365/spo/commands/page/page-get.js +53 -53
  404. package/dist/m365/spo/commands/page/page-header-set.js +232 -235
  405. package/dist/m365/spo/commands/page/page-list.js +29 -42
  406. package/dist/m365/spo/commands/page/page-remove.js +48 -47
  407. package/dist/m365/spo/commands/page/page-section-add.js +70 -71
  408. package/dist/m365/spo/commands/page/page-section-get.js +17 -14
  409. package/dist/m365/spo/commands/page/page-section-list.js +26 -23
  410. package/dist/m365/spo/commands/page/page-set.js +254 -239
  411. package/dist/m365/spo/commands/page/page-template-list.js +20 -28
  412. package/dist/m365/spo/commands/page/page-text-add.js +45 -43
  413. package/dist/m365/spo/commands/propertybag/propertybag-base.js +4 -3
  414. package/dist/m365/spo/commands/propertybag/propertybag-get.js +27 -24
  415. package/dist/m365/spo/commands/propertybag/propertybag-list.js +22 -19
  416. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +36 -40
  417. package/dist/m365/spo/commands/propertybag/propertybag-set.js +25 -29
  418. package/dist/m365/spo/commands/roledefinition/roledefinition-add.js +117 -0
  419. package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +27 -24
  420. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +29 -20
  421. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +38 -37
  422. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +40 -35
  423. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +43 -39
  424. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +36 -31
  425. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +35 -38
  426. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +30 -33
  427. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +45 -41
  428. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +47 -56
  429. package/dist/m365/spo/commands/site/site-add.js +189 -206
  430. package/dist/m365/spo/commands/site/site-appcatalog-add.js +34 -37
  431. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +34 -37
  432. package/dist/m365/spo/commands/site/site-apppermission-add.js +76 -43
  433. package/dist/m365/spo/commands/site/site-apppermission-get.js +23 -20
  434. package/dist/m365/spo/commands/site/site-apppermission-list.js +17 -19
  435. package/dist/m365/spo/commands/site/site-apppermission-remove.js +41 -52
  436. package/dist/m365/spo/commands/site/site-apppermission-set.js +41 -40
  437. package/dist/m365/spo/commands/site/site-chrome-set.js +53 -48
  438. package/dist/m365/spo/commands/site/site-commsite-enable.js +30 -33
  439. package/dist/m365/spo/commands/site/site-ensure.js +47 -37
  440. package/dist/m365/spo/commands/site/site-get.js +19 -16
  441. package/dist/m365/spo/commands/site/site-groupify.js +38 -35
  442. package/dist/m365/spo/commands/site/site-hubsite-connect.js +76 -0
  443. package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +93 -0
  444. package/dist/m365/spo/commands/site/site-hubsite-theme-sync.js +64 -0
  445. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +27 -22
  446. package/dist/m365/spo/commands/site/site-list.js +20 -20
  447. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +29 -26
  448. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +36 -28
  449. package/dist/m365/spo/commands/site/site-remove.js +66 -73
  450. package/dist/m365/spo/commands/site/site-rename.js +72 -82
  451. package/dist/m365/spo/commands/site/site-set.js +48 -51
  452. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +40 -42
  453. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +31 -29
  454. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +30 -35
  455. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +28 -18
  456. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +38 -42
  457. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +31 -31
  458. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +30 -32
  459. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +43 -47
  460. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +30 -26
  461. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +25 -21
  462. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +53 -51
  463. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +27 -25
  464. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +19 -15
  465. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +39 -39
  466. package/dist/m365/spo/commands/sitescript/sitescript-add.js +24 -26
  467. package/dist/m365/spo/commands/sitescript/sitescript-get.js +25 -27
  468. package/dist/m365/spo/commands/sitescript/sitescript-list.js +31 -25
  469. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +38 -42
  470. package/dist/m365/spo/commands/sitescript/sitescript-set.js +38 -40
  471. package/dist/m365/spo/commands/spo-get.js +16 -6
  472. package/dist/m365/spo/commands/spo-search.js +26 -25
  473. package/dist/m365/spo/commands/spo-set.js +11 -9
  474. package/dist/m365/spo/commands/storageentity/storageentity-get.js +38 -27
  475. package/dist/m365/spo/commands/storageentity/storageentity-list.js +36 -38
  476. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +43 -51
  477. package/dist/m365/spo/commands/storageentity/storageentity-set.js +33 -36
  478. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +21 -22
  479. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +32 -22
  480. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +39 -35
  481. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +57 -63
  482. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +25 -23
  483. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +57 -53
  484. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +56 -66
  485. package/dist/m365/spo/commands/term/term-add.js +102 -110
  486. package/dist/m365/spo/commands/term/term-get.js +53 -60
  487. package/dist/m365/spo/commands/term/term-group-add.js +74 -81
  488. package/dist/m365/spo/commands/term/term-group-get.js +40 -46
  489. package/dist/m365/spo/commands/term/term-group-list.js +43 -39
  490. package/dist/m365/spo/commands/term/term-list.js +44 -56
  491. package/dist/m365/spo/commands/term/term-set-add.js +88 -96
  492. package/dist/m365/spo/commands/term/term-set-get.js +42 -54
  493. package/dist/m365/spo/commands/term/term-set-list.js +43 -49
  494. package/dist/m365/spo/commands/theme/theme-apply.js +56 -60
  495. package/dist/m365/spo/commands/theme/theme-get.js +39 -34
  496. package/dist/m365/spo/commands/theme/theme-list.js +36 -26
  497. package/dist/m365/spo/commands/theme/theme-remove.js +47 -39
  498. package/dist/m365/spo/commands/theme/theme-set.js +33 -34
  499. package/dist/m365/spo/commands/user/user-get.js +38 -39
  500. package/dist/m365/spo/commands/user/user-list.js +25 -22
  501. package/dist/m365/spo/commands/user/user-remove.js +47 -48
  502. package/dist/m365/spo/commands/userprofile/userprofile-get.js +26 -24
  503. package/dist/m365/spo/commands/userprofile/userprofile-set.js +42 -34
  504. package/dist/m365/spo/commands/web/web-add.js +77 -101
  505. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +31 -28
  506. package/dist/m365/spo/commands/web/web-get.js +48 -22
  507. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +22 -19
  508. package/dist/m365/spo/commands/web/web-list.js +21 -25
  509. package/dist/m365/spo/commands/web/web-reindex.js +45 -56
  510. package/dist/m365/spo/commands/web/web-remove.js +37 -36
  511. package/dist/m365/spo/commands/web/web-roleassignment-add.js +175 -0
  512. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +164 -0
  513. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +100 -0
  514. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +94 -0
  515. package/dist/m365/spo/commands/web/web-set.js +54 -49
  516. package/dist/m365/spo/commands.js +31 -4
  517. package/dist/m365/teams/commands/Meeting.js +3 -0
  518. package/dist/m365/teams/commands/app/app-install.js +40 -43
  519. package/dist/m365/teams/commands/app/app-list.js +20 -65
  520. package/dist/m365/teams/commands/app/app-publish.js +22 -20
  521. package/dist/m365/teams/commands/app/app-remove.js +32 -31
  522. package/dist/m365/teams/commands/app/app-uninstall.js +32 -31
  523. package/dist/m365/teams/commands/app/app-update.js +29 -28
  524. package/dist/m365/teams/commands/cache/cache-remove.js +66 -34
  525. package/dist/m365/teams/commands/channel/channel-add.js +26 -26
  526. package/dist/m365/teams/commands/channel/channel-get.js +41 -60
  527. package/dist/m365/teams/commands/channel/channel-list.js +24 -25
  528. package/dist/m365/teams/commands/channel/channel-member-add.js +25 -33
  529. package/dist/m365/teams/commands/channel/channel-member-list.js +30 -43
  530. package/dist/m365/teams/commands/channel/channel-member-remove.js +34 -36
  531. package/dist/m365/teams/commands/channel/channel-member-set.js +36 -57
  532. package/dist/m365/teams/commands/channel/channel-remove.js +82 -70
  533. package/dist/m365/teams/commands/channel/channel-set.js +79 -37
  534. package/dist/m365/teams/commands/chat/chat-get.js +19 -28
  535. package/dist/m365/teams/commands/chat/chat-list.js +13 -10
  536. package/dist/m365/teams/commands/chat/chat-member-list.js +14 -10
  537. package/dist/m365/teams/commands/chat/chat-message-list.js +30 -26
  538. package/dist/m365/teams/commands/chat/chat-message-send.js +21 -30
  539. package/dist/m365/teams/commands/chat/chatUtil.js +2 -13
  540. package/dist/m365/teams/commands/funsettings/funsettings-list.js +20 -16
  541. package/dist/m365/teams/commands/funsettings/funsettings-set.js +29 -23
  542. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +20 -16
  543. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +26 -20
  544. package/dist/m365/teams/commands/meeting/meeting-get.js +134 -0
  545. package/dist/m365/teams/commands/meeting/meeting-list.js +153 -0
  546. package/dist/m365/teams/commands/membersettings/membersettings-list.js +20 -16
  547. package/dist/m365/teams/commands/membersettings/membersettings-set.js +26 -20
  548. package/dist/m365/teams/commands/message/message-get.js +22 -19
  549. package/dist/m365/teams/commands/message/message-list.js +22 -18
  550. package/dist/m365/teams/commands/message/message-reply-list.js +19 -15
  551. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +20 -16
  552. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +27 -21
  553. package/dist/m365/teams/commands/report/report-directroutingcalls.js +22 -18
  554. package/dist/m365/teams/commands/report/report-pstncalls.js +22 -18
  555. package/dist/m365/teams/commands/tab/tab-add.js +24 -20
  556. package/dist/m365/teams/commands/tab/tab-get.js +39 -58
  557. package/dist/m365/teams/commands/tab/tab-list.js +19 -14
  558. package/dist/m365/teams/commands/tab/tab-remove.js +38 -34
  559. package/dist/m365/teams/commands/team/team-add.js +53 -55
  560. package/dist/m365/teams/commands/team/team-app-list.js +109 -0
  561. package/dist/m365/teams/commands/team/team-archive.js +30 -39
  562. package/dist/m365/teams/commands/team/team-clone.js +38 -49
  563. package/dist/m365/teams/commands/team/team-get.js +25 -26
  564. package/dist/m365/teams/commands/team/team-list.js +29 -19
  565. package/dist/m365/teams/commands/team/team-remove.js +38 -50
  566. package/dist/m365/teams/commands/team/team-set.js +22 -35
  567. package/dist/m365/teams/commands/team/team-unarchive.js +26 -34
  568. package/dist/m365/teams/commands/user/user-app-add.js +25 -20
  569. package/dist/m365/teams/commands/user/user-app-list.js +37 -39
  570. package/dist/m365/teams/commands/user/user-app-remove.js +34 -33
  571. package/dist/m365/teams/commands/user/user-list.js +21 -22
  572. package/dist/m365/teams/commands.js +3 -3
  573. package/dist/m365/tenant/commands/id/id-get.js +37 -26
  574. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +38 -24
  575. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +38 -24
  576. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +38 -24
  577. package/dist/m365/tenant/commands/security/security-alerts-list.js +21 -8
  578. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-get.js +19 -7
  579. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-health-list.js +19 -7
  580. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +27 -14
  581. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +25 -12
  582. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-get.js +20 -17
  583. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +25 -12
  584. package/dist/m365/todo/commands/list/list-add.js +31 -19
  585. package/dist/m365/todo/commands/list/list-get.js +89 -0
  586. package/dist/m365/todo/commands/list/list-list.js +20 -8
  587. package/dist/m365/todo/commands/list/list-remove.js +52 -61
  588. package/dist/m365/todo/commands/list/list-set.js +29 -34
  589. package/dist/m365/todo/commands/task/task-add.js +73 -28
  590. package/dist/m365/todo/commands/task/task-get.js +108 -0
  591. package/dist/m365/todo/commands/task/task-list.js +28 -35
  592. package/dist/m365/todo/commands/task/task-remove.js +52 -61
  593. package/dist/m365/todo/commands/task/task-set.js +80 -29
  594. package/dist/m365/todo/commands.js +2 -0
  595. package/dist/m365/util/commands/accesstoken/accesstoken-get.js +26 -14
  596. package/dist/m365/viva/commands/connections/connections-app-create.js +108 -110
  597. package/dist/m365/yammer/commands/group/group-list.js +23 -35
  598. package/dist/m365/yammer/commands/group/group-user-add.js +27 -22
  599. package/dist/m365/yammer/commands/group/group-user-remove.js +45 -44
  600. package/dist/m365/yammer/commands/message/message-add.js +27 -24
  601. package/dist/m365/yammer/commands/message/message-get.js +18 -15
  602. package/dist/m365/yammer/commands/message/message-like-set.js +48 -49
  603. package/dist/m365/yammer/commands/message/message-list.js +24 -21
  604. package/dist/m365/yammer/commands/message/message-remove.js +31 -30
  605. package/dist/m365/yammer/commands/network/network-list.js +29 -17
  606. package/dist/m365/yammer/commands/user/user-get.js +29 -25
  607. package/dist/m365/yammer/commands/user/user-list.js +11 -8
  608. package/dist/m365/yammer/commands/yammer-search.js +82 -75
  609. package/dist/request.js +10 -6
  610. package/dist/settingsNames.js +1 -1
  611. package/dist/utils/aadGroup.js +2 -1
  612. package/dist/utils/cache.js +81 -0
  613. package/dist/utils/formatting.js +15 -15
  614. package/dist/utils/fsUtil.js +2 -4
  615. package/dist/utils/md.js +9 -2
  616. package/dist/utils/odata.js +2 -1
  617. package/dist/utils/pid.js +57 -0
  618. package/dist/utils/powerPlatform.js +43 -0
  619. package/dist/utils/spo.js +10 -8
  620. package/docs/docs/_clisettings.md +19 -0
  621. package/docs/docs/cmd/_global.md +2 -2
  622. package/docs/docs/cmd/aad/app/app-add.md +30 -19
  623. package/docs/docs/cmd/aad/app/app-list.md +149 -0
  624. package/docs/docs/cmd/aad/app/app-set.md +1 -1
  625. package/docs/docs/cmd/aad/approleassignment/approleassignment-add.md +5 -5
  626. package/docs/docs/cmd/aad/approleassignment/approleassignment-list.md +5 -5
  627. package/docs/docs/cmd/aad/approleassignment/approleassignment-remove.md +5 -5
  628. package/docs/docs/cmd/aad/o365group/o365group-add.md +3 -3
  629. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-list.md +7 -7
  630. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.md +1 -7
  631. package/docs/docs/cmd/aad/o365group/o365group-teamify.md +4 -4
  632. package/docs/docs/cmd/aad/policy/policy-list.md +2 -2
  633. package/docs/docs/cmd/aad/sp/sp-get.md +5 -5
  634. package/docs/docs/cmd/aad/user/user-guest-add.md +107 -0
  635. package/docs/docs/cmd/aad/user/user-signin-list.md +1 -1
  636. package/docs/docs/cmd/adaptivecard/adaptivecard-send.md +10 -23
  637. package/docs/docs/cmd/app/app-get.md +156 -0
  638. package/docs/docs/cmd/app/app-open.md +21 -1
  639. package/docs/docs/cmd/app/permission/permission-list.md +43 -0
  640. package/docs/docs/cmd/booking/business/business-get.md +140 -0
  641. package/docs/docs/cmd/booking/business/business-list.md +55 -0
  642. package/docs/docs/cmd/cli/completion/completion-clink-update.md +1 -1
  643. package/docs/docs/cmd/cli/completion/completion-pwsh-setup.md +1 -1
  644. package/docs/docs/cmd/cli/completion/completion-pwsh-update.md +1 -1
  645. package/docs/docs/cmd/cli/completion/completion-sh-setup.md +1 -1
  646. package/docs/docs/cmd/cli/completion/completion-sh-update.md +1 -1
  647. package/docs/docs/cmd/flow/environment/environment-get.md +100 -0
  648. package/docs/docs/cmd/flow/environment/environment-list.md +97 -0
  649. package/docs/docs/cmd/flow/flow-disable.md +10 -6
  650. package/docs/docs/cmd/flow/flow-enable.md +5 -1
  651. package/docs/docs/cmd/flow/flow-export.md +25 -5
  652. package/docs/docs/cmd/flow/flow-get.md +375 -3
  653. package/docs/docs/cmd/flow/flow-list.md +110 -3
  654. package/docs/docs/cmd/flow/flow-remove.md +9 -5
  655. package/docs/docs/cmd/flow/run/run-cancel.md +7 -3
  656. package/docs/docs/cmd/flow/run/run-get.md +75 -3
  657. package/docs/docs/cmd/flow/run/run-list.md +71 -3
  658. package/docs/docs/cmd/flow/run/run-resubmit.md +8 -4
  659. package/docs/docs/cmd/graph/changelog/changelog-list.md +53 -0
  660. package/docs/docs/cmd/graph/schemaextension/schemaextension-add.md +4 -11
  661. package/docs/docs/cmd/graph/schemaextension/schemaextension-set.md +4 -10
  662. package/docs/docs/cmd/onedrive/report/report-activityusercounts.md +1 -1
  663. package/docs/docs/cmd/onenote/notebook/notebook-list.md +70 -0
  664. package/docs/docs/cmd/outlook/mail/mail-send.md +82 -17
  665. package/docs/docs/cmd/outlook/message/message-get.md +48 -0
  666. package/docs/docs/cmd/outlook/message/message-move.md +4 -4
  667. package/docs/docs/cmd/pa/app/app-get.md +184 -0
  668. package/docs/docs/cmd/pa/app/app-list.md +181 -0
  669. package/docs/docs/cmd/pa/app/app-remove.md +4 -0
  670. package/docs/docs/cmd/pa/connector/connector-export.md +7 -3
  671. package/docs/docs/cmd/pa/connector/connector-list.md +91 -2
  672. package/docs/docs/cmd/pa/environment/environment-get.md +113 -0
  673. package/docs/docs/cmd/pa/environment/environment-list.md +109 -0
  674. package/docs/docs/cmd/pa/pcf/pcf-init.md +4 -0
  675. package/docs/docs/cmd/pa/solution/solution-init.md +5 -0
  676. package/docs/docs/cmd/pa/solution/solution-reference-add.md +6 -2
  677. package/docs/docs/cmd/planner/bucket/bucket-add.md +29 -0
  678. package/docs/docs/cmd/planner/bucket/bucket-get.md +29 -0
  679. package/docs/docs/cmd/planner/bucket/bucket-list.md +30 -0
  680. package/docs/docs/cmd/planner/bucket/bucket-remove.md +4 -0
  681. package/docs/docs/cmd/planner/bucket/bucket-set.md +4 -0
  682. package/docs/docs/cmd/planner/plan/plan-add.md +123 -0
  683. package/docs/docs/cmd/planner/plan/plan-get.md +77 -8
  684. package/docs/docs/cmd/planner/plan/plan-list.md +45 -0
  685. package/docs/docs/cmd/planner/plan/plan-remove.md +4 -0
  686. package/docs/docs/cmd/planner/task/task-checklistitem-list.md +1 -1
  687. package/docs/docs/cmd/planner/task/task-get.md +0 -3
  688. package/docs/docs/cmd/planner/task/task-reference-add.md +1 -1
  689. package/docs/docs/cmd/pp/card/card-clone.md +77 -0
  690. package/docs/docs/cmd/pp/card/card-get.md +122 -0
  691. package/docs/docs/cmd/pp/card/card-list.md +104 -0
  692. package/docs/docs/cmd/pp/card/card-remove.md +82 -0
  693. package/docs/docs/cmd/pp/chatbot/chatbot-list.md +82 -0
  694. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.md +120 -0
  695. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +118 -0
  696. package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.md +49 -0
  697. package/docs/docs/cmd/pp/environment/environment-get.md +346 -0
  698. package/docs/docs/cmd/pp/environment/environment-list.md +314 -2
  699. package/docs/docs/cmd/pp/gateway/gateway-get.md +56 -0
  700. package/docs/docs/cmd/pp/gateway/gateway-list.md +35 -0
  701. package/docs/docs/cmd/pp/managementapp/managementapp-add.md +23 -0
  702. package/docs/docs/cmd/pp/managementapp/managementapp-list.md +27 -0
  703. package/docs/docs/cmd/pp/solution/solution-get.md +86 -0
  704. package/docs/docs/cmd/pp/solution/solution-list.md +70 -0
  705. package/docs/docs/cmd/pp/solution/solution-publisher-get.md +83 -0
  706. package/docs/docs/cmd/pp/solution/solution-publisher-list.md +71 -0
  707. package/docs/docs/cmd/pp/solution/solution-publisher-remove.md +58 -0
  708. package/docs/docs/cmd/pp/solution/solution-remove.md +82 -0
  709. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +88 -0
  710. package/docs/docs/cmd/request.md +76 -0
  711. package/docs/docs/cmd/search/externalconnection/externalconnection-remove.md +40 -0
  712. package/docs/docs/cmd/spfx/package/package-generate.md +6 -2
  713. package/docs/docs/cmd/spfx/project/project-doctor.md +92 -0
  714. package/docs/docs/cmd/spfx/project/project-externalize.md +116 -0
  715. package/docs/docs/cmd/spfx/project/project-rename.md +6 -15
  716. package/docs/docs/cmd/spfx/project/project-upgrade.md +101 -1
  717. package/docs/docs/cmd/spfx/spfx-doctor.md +51 -4
  718. package/docs/docs/cmd/spo/app/app-add.md +2 -2
  719. package/docs/docs/cmd/spo/app/app-deploy.md +2 -2
  720. package/docs/docs/cmd/spo/app/app-get.md +2 -2
  721. package/docs/docs/cmd/spo/app/app-install.md +2 -2
  722. package/docs/docs/cmd/spo/app/app-list.md +2 -2
  723. package/docs/docs/cmd/spo/app/app-remove.md +2 -2
  724. package/docs/docs/cmd/spo/app/app-retract.md +2 -2
  725. package/docs/docs/cmd/spo/app/app-uninstall.md +2 -2
  726. package/docs/docs/cmd/spo/app/app-upgrade.md +2 -2
  727. package/docs/docs/cmd/spo/apppage/apppage-set.md +2 -2
  728. package/docs/docs/cmd/spo/cdn/cdn-policy-list.md +3 -3
  729. package/docs/docs/cmd/spo/cdn/cdn-policy-set.md +3 -3
  730. package/docs/docs/cmd/spo/contenttype/contenttype-add.md +20 -2
  731. package/docs/docs/cmd/spo/contenttype/contenttype-field-remove.md +22 -4
  732. package/docs/docs/cmd/spo/contenttype/contenttype-field-set.md +4 -4
  733. package/docs/docs/cmd/spo/contenttype/contenttype-get.md +21 -3
  734. package/docs/docs/cmd/spo/contenttype/contenttype-set.md +45 -0
  735. package/docs/docs/cmd/spo/customaction/customaction-add.md +13 -10
  736. package/docs/docs/cmd/spo/customaction/customaction-clear.md +4 -4
  737. package/docs/docs/cmd/spo/customaction/customaction-get.md +5 -5
  738. package/docs/docs/cmd/spo/customaction/customaction-list.md +4 -4
  739. package/docs/docs/cmd/spo/customaction/customaction-remove.md +9 -9
  740. package/docs/docs/cmd/spo/customaction/customaction-set.md +10 -9
  741. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-get.md +44 -4
  742. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-remove.md +74 -0
  743. package/docs/docs/cmd/spo/feature/feature-disable.md +4 -4
  744. package/docs/docs/cmd/spo/feature/feature-enable.md +2 -2
  745. package/docs/docs/cmd/spo/feature/feature-list.md +3 -3
  746. package/docs/docs/cmd/spo/field/field-add.md +20 -2
  747. package/docs/docs/cmd/spo/field/field-get.md +0 -3
  748. package/docs/docs/cmd/spo/field/field-remove.md +0 -3
  749. package/docs/docs/cmd/spo/field/field-set.md +15 -6
  750. package/docs/docs/cmd/spo/file/file-checkin.md +6 -6
  751. package/docs/docs/cmd/spo/file/file-checkout.md +4 -4
  752. package/docs/docs/cmd/spo/file/file-copy.md +26 -16
  753. package/docs/docs/cmd/spo/file/file-get.md +219 -8
  754. package/docs/docs/cmd/spo/file/file-roleassignment-add.md +57 -0
  755. package/docs/docs/cmd/spo/file/file-roleassignment-remove.md +54 -0
  756. package/docs/docs/cmd/spo/file/file-roleinheritance-break.md +54 -0
  757. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.md +39 -0
  758. package/docs/docs/cmd/spo/file/file-sharinginfo-get.md +7 -7
  759. package/docs/docs/cmd/spo/file/file-version-clear.md +55 -0
  760. package/docs/docs/cmd/spo/file/file-version-get.md +76 -0
  761. package/docs/docs/cmd/spo/file/file-version-list.md +76 -0
  762. package/docs/docs/cmd/spo/file/file-version-remove.md +58 -0
  763. package/docs/docs/cmd/spo/file/file-version-restore.md +58 -0
  764. package/docs/docs/cmd/spo/folder/folder-get.md +24 -4
  765. package/docs/docs/cmd/spo/folder/folder-list.md +45 -0
  766. package/docs/docs/cmd/spo/folder/folder-remove.md +3 -3
  767. package/docs/docs/cmd/spo/folder/folder-rename.md +2 -2
  768. package/docs/docs/cmd/spo/folder/folder-roleassignment-add.md +59 -0
  769. package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.md +57 -0
  770. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +45 -0
  771. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +42 -0
  772. package/docs/docs/cmd/spo/group/group-list.md +10 -1
  773. package/docs/docs/cmd/spo/group/{group-user-add.md → group-member-add.md} +11 -11
  774. package/docs/docs/cmd/spo/group/{group-user-list.md → group-member-list.md} +5 -5
  775. package/docs/docs/cmd/spo/group/group-member-remove.md +39 -0
  776. package/docs/docs/cmd/spo/homesite/homesite-get.md +31 -0
  777. package/docs/docs/cmd/spo/homesite/homesite-remove.md +20 -0
  778. package/docs/docs/cmd/spo/homesite/homesite-set.md +20 -0
  779. package/docs/docs/cmd/spo/hubsite/hubsite-connect.md +36 -14
  780. package/docs/docs/cmd/spo/hubsite/hubsite-data-get.md +57 -3
  781. package/docs/docs/cmd/spo/hubsite/hubsite-disconnect.md +28 -12
  782. package/docs/docs/cmd/spo/hubsite/hubsite-get.md +92 -3
  783. package/docs/docs/cmd/spo/hubsite/hubsite-list.md +94 -0
  784. package/docs/docs/cmd/spo/hubsite/hubsite-register.md +57 -4
  785. package/docs/docs/cmd/spo/hubsite/hubsite-rights-grant.md +10 -9
  786. package/docs/docs/cmd/spo/hubsite/hubsite-rights-revoke.md +9 -8
  787. package/docs/docs/cmd/spo/hubsite/hubsite-set.md +47 -5
  788. package/docs/docs/cmd/spo/hubsite/hubsite-unregister.md +8 -4
  789. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-get.md +20 -0
  790. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-remove.md +20 -0
  791. package/docs/docs/cmd/spo/knowledgehub/knowledgehub-set.md +22 -2
  792. package/docs/docs/cmd/spo/list/list-add.md +133 -0
  793. package/docs/docs/cmd/spo/list/list-contenttype-add.md +105 -9
  794. package/docs/docs/cmd/spo/list/list-contenttype-default-set.md +20 -7
  795. package/docs/docs/cmd/spo/list/list-contenttype-list.md +75 -6
  796. package/docs/docs/cmd/spo/list/list-contenttype-remove.md +23 -10
  797. package/docs/docs/cmd/spo/list/list-get.md +154 -6
  798. package/docs/docs/cmd/spo/list/list-label-get.md +83 -7
  799. package/docs/docs/cmd/spo/list/list-label-set.md +4 -0
  800. package/docs/docs/cmd/spo/list/list-list.md +89 -0
  801. package/docs/docs/cmd/spo/list/list-remove.md +4 -0
  802. package/docs/docs/cmd/spo/list/list-roleassignment-add.md +82 -0
  803. package/docs/docs/cmd/spo/list/list-roleassignment-remove.md +61 -0
  804. package/docs/docs/cmd/spo/list/list-roleinheritance-break.md +24 -8
  805. package/docs/docs/cmd/spo/list/list-roleinheritance-reset.md +27 -5
  806. package/docs/docs/cmd/spo/list/list-set.md +22 -6
  807. package/docs/docs/cmd/spo/list/list-sitescript-get.md +94 -8
  808. package/docs/docs/cmd/spo/list/list-view-add.md +121 -0
  809. package/docs/docs/cmd/spo/list/list-view-field-add.md +24 -11
  810. package/docs/docs/cmd/spo/list/list-view-field-remove.md +21 -8
  811. package/docs/docs/cmd/spo/list/list-view-field-set.md +28 -9
  812. package/docs/docs/cmd/spo/list/list-view-get.md +128 -7
  813. package/docs/docs/cmd/spo/list/list-view-list.md +94 -7
  814. package/docs/docs/cmd/spo/list/list-view-remove.md +24 -11
  815. package/docs/docs/cmd/spo/list/list-view-set.md +29 -11
  816. package/docs/docs/cmd/spo/list/list-webhook-add.md +48 -16
  817. package/docs/docs/cmd/spo/list/list-webhook-get.md +49 -7
  818. package/docs/docs/cmd/spo/list/list-webhook-list.md +45 -10
  819. package/docs/docs/cmd/spo/list/list-webhook-remove.md +16 -10
  820. package/docs/docs/cmd/spo/list/list-webhook-set.md +21 -12
  821. package/docs/docs/cmd/spo/listitem/listitem-add.md +70 -2
  822. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.md +45 -2
  823. package/docs/docs/cmd/spo/listitem/listitem-batch-add.md +61 -0
  824. package/docs/docs/cmd/spo/listitem/listitem-get.md +198 -5
  825. package/docs/docs/cmd/spo/listitem/listitem-isrecord.md +31 -2
  826. package/docs/docs/cmd/spo/listitem/listitem-list.md +58 -8
  827. package/docs/docs/cmd/spo/listitem/listitem-record-declare.md +40 -8
  828. package/docs/docs/cmd/spo/listitem/listitem-record-undeclare.md +18 -5
  829. package/docs/docs/cmd/spo/listitem/listitem-remove.md +15 -2
  830. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-add.md +85 -0
  831. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-remove.md +71 -0
  832. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-break.md +24 -8
  833. package/docs/docs/cmd/spo/listitem/listitem-roleinheritance-reset.md +18 -2
  834. package/docs/docs/cmd/spo/listitem/listitem-set.md +66 -4
  835. package/docs/docs/cmd/spo/mail/mail-send.md +4 -0
  836. package/docs/docs/cmd/spo/navigation/navigation-node-add.md +39 -0
  837. package/docs/docs/cmd/spo/navigation/navigation-node-list.md +29 -0
  838. package/docs/docs/cmd/spo/navigation/navigation-node-remove.md +4 -0
  839. package/docs/docs/cmd/spo/page/page-add.md +2 -2
  840. package/docs/docs/cmd/spo/page/page-clientsidewebpart-add.md +14 -19
  841. package/docs/docs/cmd/spo/page/page-column-get.md +3 -3
  842. package/docs/docs/cmd/spo/page/page-column-list.md +3 -3
  843. package/docs/docs/cmd/spo/page/page-control-get.md +3 -3
  844. package/docs/docs/cmd/spo/page/page-control-list.md +3 -3
  845. package/docs/docs/cmd/spo/page/page-control-set.md +6 -5
  846. package/docs/docs/cmd/spo/page/page-section-add.md +3 -3
  847. package/docs/docs/cmd/spo/page/page-section-get.md +3 -3
  848. package/docs/docs/cmd/spo/page/page-section-list.md +3 -3
  849. package/docs/docs/cmd/spo/page/page-set.md +15 -2
  850. package/docs/docs/cmd/spo/roledefinition/roledefinition-add.md +43 -0
  851. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-add.md +3 -1
  852. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-list.md +3 -1
  853. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-grant-revoke.md +5 -5
  854. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-approve.md +5 -5
  855. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-deny.md +5 -5
  856. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-permissionrequest-list.md +3 -1
  857. package/docs/docs/cmd/spo/serviceprincipal/serviceprincipal-set.md +3 -3
  858. package/docs/docs/cmd/spo/site/site-add.md +2 -5
  859. package/docs/docs/cmd/spo/site/site-appcatalog-add.md +2 -2
  860. package/docs/docs/cmd/spo/site/site-appcatalog-remove.md +2 -2
  861. package/docs/docs/cmd/spo/site/site-apppermission-add.md +1 -1
  862. package/docs/docs/cmd/spo/site/site-apppermission-get.md +2 -2
  863. package/docs/docs/cmd/spo/site/site-apppermission-remove.md +2 -2
  864. package/docs/docs/cmd/spo/site/site-apppermission-set.md +6 -6
  865. package/docs/docs/cmd/spo/site/site-chrome-set.md +4 -4
  866. package/docs/docs/cmd/spo/site/site-groupify.md +5 -11
  867. package/docs/docs/cmd/spo/site/site-hubsite-connect.md +37 -0
  868. package/docs/docs/cmd/spo/site/site-hubsite-disconnect.md +37 -0
  869. package/docs/docs/cmd/spo/site/site-hubsite-theme-sync.md +28 -0
  870. package/docs/docs/cmd/spo/site/site-rename.md +6 -6
  871. package/docs/docs/cmd/spo/sitedesign/sitedesign-get.md +2 -2
  872. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-grant.md +4 -4
  873. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-list.md +3 -3
  874. package/docs/docs/cmd/spo/sitedesign/sitedesign-rights-revoke.md +3 -3
  875. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-get.md +2 -2
  876. package/docs/docs/cmd/spo/sitedesign/sitedesign-task-remove.md +5 -5
  877. package/docs/docs/cmd/spo/spo-get.md +23 -0
  878. package/docs/docs/cmd/spo/spo-search.md +29 -0
  879. package/docs/docs/cmd/spo/spo-set.md +4 -0
  880. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-remove.md +3 -3
  881. package/docs/docs/cmd/spo/tenant/tenant-recyclebinitem-restore.md +6 -3
  882. package/docs/docs/cmd/spo/term/term-add.md +5 -0
  883. package/docs/docs/cmd/spo/term/term-set-add.md +6 -1
  884. package/docs/docs/cmd/spo/user/user-get.md +49 -2
  885. package/docs/docs/cmd/spo/user/user-list.md +41 -0
  886. package/docs/docs/cmd/spo/user/user-remove.md +4 -0
  887. package/docs/docs/cmd/spo/userprofile/userprofile-get.md +586 -0
  888. package/docs/docs/cmd/spo/userprofile/userprofile-set.md +4 -0
  889. package/docs/docs/cmd/spo/web/web-add.md +47 -4
  890. package/docs/docs/cmd/spo/web/web-clientsidewebpart-list.md +29 -0
  891. package/docs/docs/cmd/spo/web/web-get.md +388 -5
  892. package/docs/docs/cmd/spo/web/web-installedlanguage-list.md +29 -0
  893. package/docs/docs/cmd/spo/web/web-list.md +83 -2
  894. package/docs/docs/cmd/spo/web/web-reindex.md +6 -2
  895. package/docs/docs/cmd/spo/web/web-remove.md +6 -2
  896. package/docs/docs/cmd/spo/web/web-roleassignment-add.md +61 -0
  897. package/docs/docs/cmd/spo/web/web-roleassignment-remove.md +58 -0
  898. package/docs/docs/cmd/spo/web/web-roleinheritance-break.md +44 -0
  899. package/docs/docs/cmd/spo/web/web-roleinheritance-reset.md +37 -0
  900. package/docs/docs/cmd/spo/web/web-set.md +13 -9
  901. package/docs/docs/cmd/teams/app/app-install.md +9 -5
  902. package/docs/docs/cmd/teams/app/app-list.md +32 -24
  903. package/docs/docs/cmd/teams/app/app-publish.md +31 -1
  904. package/docs/docs/cmd/teams/app/app-remove.md +4 -0
  905. package/docs/docs/cmd/teams/app/app-uninstall.md +7 -3
  906. package/docs/docs/cmd/teams/app/app-update.md +4 -0
  907. package/docs/docs/cmd/teams/cache/cache-remove.md +5 -1
  908. package/docs/docs/cmd/teams/channel/channel-add.md +42 -5
  909. package/docs/docs/cmd/teams/channel/channel-get.md +49 -10
  910. package/docs/docs/cmd/teams/channel/channel-list.md +36 -1
  911. package/docs/docs/cmd/teams/channel/channel-member-add.md +9 -11
  912. package/docs/docs/cmd/teams/channel/channel-member-list.md +37 -6
  913. package/docs/docs/cmd/teams/channel/channel-member-remove.md +5 -7
  914. package/docs/docs/cmd/teams/channel/channel-member-set.md +37 -2
  915. package/docs/docs/cmd/teams/channel/channel-remove.md +18 -11
  916. package/docs/docs/cmd/teams/channel/channel-set.md +19 -9
  917. package/docs/docs/cmd/teams/chat/chat-get.md +42 -0
  918. package/docs/docs/cmd/teams/chat/chat-list.md +38 -0
  919. package/docs/docs/cmd/teams/chat/chat-member-list.md +35 -0
  920. package/docs/docs/cmd/teams/chat/chat-message-list.md +60 -0
  921. package/docs/docs/cmd/teams/chat/chat-message-send.md +4 -0
  922. package/docs/docs/cmd/teams/funsettings/funsettings-list.md +29 -0
  923. package/docs/docs/cmd/teams/funsettings/funsettings-set.md +10 -6
  924. package/docs/docs/cmd/teams/guestsettings/guestsettings-list.md +25 -0
  925. package/docs/docs/cmd/teams/guestsettings/guestsettings-set.md +4 -0
  926. package/docs/docs/cmd/teams/meeting/meeting-get.md +159 -0
  927. package/docs/docs/cmd/teams/meeting/meeting-list.md +149 -0
  928. package/docs/docs/cmd/teams/membersettings/membersettings-list.md +33 -0
  929. package/docs/docs/cmd/teams/membersettings/membersettings-set.md +4 -0
  930. package/docs/docs/cmd/teams/message/message-get.md +83 -3
  931. package/docs/docs/cmd/teams/message/message-list.md +63 -0
  932. package/docs/docs/cmd/teams/message/message-reply-list.md +63 -0
  933. package/docs/docs/cmd/teams/messagingsettings/messagingsettings-list.md +31 -0
  934. package/docs/docs/cmd/teams/messagingsettings/messagingsettings-set.md +4 -0
  935. package/docs/docs/cmd/teams/report/report-deviceusagedistributionusercounts.md +35 -0
  936. package/docs/docs/cmd/teams/report/report-deviceusageusercounts.md +36 -0
  937. package/docs/docs/cmd/teams/report/report-deviceusageuserdetail.md +41 -0
  938. package/docs/docs/cmd/teams/report/report-directroutingcalls.md +49 -0
  939. package/docs/docs/cmd/teams/report/report-pstncalls.md +49 -0
  940. package/docs/docs/cmd/teams/report/report-useractivitycounts.md +39 -0
  941. package/docs/docs/cmd/teams/report/report-useractivityusercounts.md +33 -0
  942. package/docs/docs/cmd/teams/report/report-useractivityuserdetail.md +58 -0
  943. package/docs/docs/cmd/teams/tab/tab-add.md +35 -0
  944. package/docs/docs/cmd/teams/tab/tab-get.md +41 -6
  945. package/docs/docs/cmd/teams/tab/tab-list.md +43 -0
  946. package/docs/docs/cmd/teams/tab/tab-remove.md +8 -4
  947. package/docs/docs/cmd/teams/team/team-add.md +145 -0
  948. package/docs/docs/cmd/teams/team/team-app-list.md +78 -0
  949. package/docs/docs/cmd/teams/team/team-archive.md +7 -6
  950. package/docs/docs/cmd/teams/team/team-clone.md +4 -6
  951. package/docs/docs/cmd/teams/team/team-get.md +78 -0
  952. package/docs/docs/cmd/teams/team/team-list.md +30 -0
  953. package/docs/docs/cmd/teams/team/team-remove.md +7 -6
  954. package/docs/docs/cmd/teams/team/team-set.md +4 -6
  955. package/docs/docs/cmd/teams/team/team-unarchive.md +5 -5
  956. package/docs/docs/cmd/teams/user/user-app-add.md +7 -3
  957. package/docs/docs/cmd/teams/user/user-app-list.md +40 -0
  958. package/docs/docs/cmd/teams/user/user-app-remove.md +7 -3
  959. package/docs/docs/cmd/teams/user/user-list.md +31 -0
  960. package/docs/docs/cmd/tenant/id/id-get.md +20 -0
  961. package/docs/docs/cmd/tenant/report/report-activeusercounts.md +35 -0
  962. package/docs/docs/cmd/tenant/report/report-activeuserdetail.md +49 -0
  963. package/docs/docs/cmd/tenant/report/report-office365activationcounts.md +32 -0
  964. package/docs/docs/cmd/tenant/report/report-office365activationsusercounts.md +30 -0
  965. package/docs/docs/cmd/tenant/report/report-office365activationsuserdetail.md +36 -0
  966. package/docs/docs/cmd/tenant/report/report-servicesusercounts.md +41 -0
  967. package/docs/docs/cmd/tenant/security/security-alerts-list.md +106 -1
  968. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +88 -1
  969. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +92 -1
  970. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-get.md +62 -0
  971. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-healthissue-list.md +51 -0
  972. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-get.md +64 -0
  973. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-message-list.md +52 -0
  974. package/docs/docs/cmd/todo/list/list-add.md +32 -1
  975. package/docs/docs/cmd/todo/list/list-get.md +61 -0
  976. package/docs/docs/cmd/todo/list/list-list.md +31 -0
  977. package/docs/docs/cmd/todo/list/list-remove.md +10 -6
  978. package/docs/docs/cmd/todo/list/list-set.md +9 -5
  979. package/docs/docs/cmd/todo/task/task-add.md +88 -5
  980. package/docs/docs/cmd/todo/task/task-get.md +75 -0
  981. package/docs/docs/cmd/todo/task/task-list.md +47 -0
  982. package/docs/docs/cmd/todo/task/task-remove.md +9 -4
  983. package/docs/docs/cmd/todo/task/task-set.md +88 -7
  984. package/docs/docs/cmd/util/accesstoken/accesstoken-get.md +20 -0
  985. package/docs/docs/cmd/viva/connections/connections-app-create.md +6 -2
  986. package/docs/docs/cmd/yammer/group/group-list.md +65 -0
  987. package/docs/docs/cmd/yammer/group/group-user-add.md +9 -5
  988. package/docs/docs/cmd/yammer/group/group-user-remove.md +9 -5
  989. package/docs/docs/cmd/yammer/message/message-add.md +55 -0
  990. package/docs/docs/cmd/yammer/message/message-get.md +64 -0
  991. package/docs/docs/cmd/yammer/message/message-like-set.md +8 -4
  992. package/docs/docs/cmd/yammer/message/message-list.md +60 -0
  993. package/docs/docs/cmd/yammer/message/message-remove.md +4 -0
  994. package/docs/docs/cmd/yammer/network/network-list.md +96 -0
  995. package/docs/docs/cmd/yammer/report/report-activitycounts.md +31 -0
  996. package/docs/docs/cmd/yammer/report/report-activityusercounts.md +31 -0
  997. package/docs/docs/cmd/yammer/report/report-activityuserdetail.md +36 -0
  998. package/docs/docs/cmd/yammer/report/report-deviceusagedistributionusercounts.md +33 -0
  999. package/docs/docs/cmd/yammer/report/report-deviceusageusercounts.md +34 -0
  1000. package/docs/docs/cmd/yammer/report/report-deviceusageuserdetail.md +38 -0
  1001. package/docs/docs/cmd/yammer/report/report-groupsactivitycounts.md +31 -0
  1002. package/docs/docs/cmd/yammer/report/report-groupsactivitydetail.md +37 -0
  1003. package/docs/docs/cmd/yammer/report/report-groupsactivitygroupcounts.md +30 -0
  1004. package/docs/docs/cmd/yammer/user/user-get.md +101 -2
  1005. package/docs/docs/cmd/yammer/user/user-list.md +97 -0
  1006. package/docs/docs/cmd/yammer/yammer-search.md +77 -0
  1007. package/npm-shrinkwrap.json +487 -446
  1008. package/package.json +57 -27
  1009. package/scripts/Register-CLIM365Completion.ps1 +1 -1
  1010. package/dist/cli/index.js +0 -21
  1011. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +0 -60
  1012. package/dist/m365/spo/commands/group/group-user-list.js +0 -91
  1013. package/dist/m365/spo/commands/group/group-user-remove.js +0 -117
  1014. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +0 -59
  1015. package/dist/utils/index.js +0 -31
  1016. package/docs/docs/cmd/spo/group/group-user-remove.md +0 -39
  1017. package/docs/docs/cmd/spo/hubsite/hubsite-theme-sync.md +0 -33
package/dist/cli/Cli.js CHANGED
@@ -19,7 +19,9 @@ const Command_1 = require("../Command");
19
19
  const config_1 = require("../config");
20
20
  const request_1 = require("../request");
21
21
  const settingsNames_1 = require("../settingsNames");
22
- const utils_1 = require("../utils");
22
+ const formatting_1 = require("../utils/formatting");
23
+ const fsUtil_1 = require("../utils/fsUtil");
24
+ const md_1 = require("../utils/md");
23
25
  const packageJSON = require('../../package.json');
24
26
  class Cli {
25
27
  // eslint-disable-next-line @typescript-eslint/no-empty-function
@@ -96,7 +98,7 @@ class Cli {
96
98
  showHelp ||
97
99
  parsedArgs.h ||
98
100
  parsedArgs.help) {
99
- this.printHelp();
101
+ this.printHelp(this.getHelpMode(parsedArgs));
100
102
  return Promise.resolve();
101
103
  }
102
104
  const optionsWithoutShorts = Cli.removeShortOptions(this.optionsFromArgs);
@@ -116,7 +118,7 @@ class Cli {
116
118
  }
117
119
  // if output not specified, set the configured output value (if any)
118
120
  if (optionsWithoutShorts.options.output === undefined) {
119
- optionsWithoutShorts.options.output = this.getSettingWithDefaultValue(settingsNames_1.settingsNames.output, undefined);
121
+ optionsWithoutShorts.options.output = this.getSettingWithDefaultValue(settingsNames_1.settingsNames.output, 'json');
120
122
  }
121
123
  const validationResult = yield this.commandToExecute.command.validate(optionsWithoutShorts, this.commandToExecute);
122
124
  if (validationResult !== true) {
@@ -128,7 +130,7 @@ class Cli {
128
130
  });
129
131
  }
130
132
  static executeCommand(command, args) {
131
- return new Promise((resolve, reject) => {
133
+ return __awaiter(this, void 0, void 0, function* () {
132
134
  const logger = {
133
135
  log: (message) => {
134
136
  const output = Cli.formatOutput(message, args.options);
@@ -145,22 +147,21 @@ class Cli {
145
147
  const cli = Cli.getInstance();
146
148
  const parentCommandName = cli.currentCommandName;
147
149
  cli.currentCommandName = command.getCommandName(cli.currentCommandName);
148
- command.action(logger, args, (err) => {
149
- // restore the original command name
150
- cli.currentCommandName = parentCommandName;
151
- if (err) {
152
- return reject(err);
153
- }
150
+ try {
151
+ yield command.action(logger, args);
154
152
  if (args.options.debug || args.options.verbose) {
155
153
  const chalk = require('chalk');
156
154
  logger.logToStderr(chalk.green('DONE'));
157
155
  }
158
- resolve();
159
- });
156
+ }
157
+ finally {
158
+ // restore the original command name
159
+ cli.currentCommandName = parentCommandName;
160
+ }
160
161
  });
161
162
  }
162
163
  static executeCommandWithOutput(command, args, listener) {
163
- return new Promise((resolve, reject) => {
164
+ return __awaiter(this, void 0, void 0, function* () {
164
165
  const log = [];
165
166
  const logErr = [];
166
167
  const logger = {
@@ -199,26 +200,30 @@ class Cli {
199
200
  cli.currentCommandName = command.getCommandName();
200
201
  // store the current logger if any
201
202
  const currentLogger = request_1.default.logger;
202
- command.action(logger, args, (err) => {
203
+ try {
204
+ yield command.action(logger, args);
205
+ return ({
206
+ stdout: log.join(os.EOL),
207
+ stderr: logErr.join(os.EOL)
208
+ });
209
+ }
210
+ catch (err) {
211
+ throw {
212
+ error: err,
213
+ stderr: logErr.join(os.EOL)
214
+ };
215
+ }
216
+ /* c8 ignore next */
217
+ finally {
203
218
  // restore the original command name
204
219
  cli.currentCommandName = parentCommandName;
205
220
  // restore the original logger
206
221
  request_1.default.logger = currentLogger;
207
- if (err) {
208
- return reject({
209
- error: err,
210
- stderr: logErr.join(os.EOL)
211
- });
212
- }
213
- resolve({
214
- stdout: log.join(os.EOL),
215
- stderr: logErr.join(os.EOL)
216
- });
217
- });
222
+ }
218
223
  });
219
224
  }
220
225
  loadAllCommands() {
221
- const files = utils_1.fsUtil.readdirR(this.commandsFolder);
226
+ const files = fsUtil_1.fsUtil.readdirR(this.commandsFolder);
222
227
  files.forEach(file => {
223
228
  if (file.indexOf(`${path.sep}commands${path.sep}`) > -1 &&
224
229
  file.indexOf(`${path.sep}assets${path.sep}`) < 0 &&
@@ -429,7 +434,7 @@ class Cli {
429
434
  Array.isArray(logStatement[0].value)) {
430
435
  logStatement = logStatement[0].value;
431
436
  }
432
- logStatement = logStatement.map((s) => utils_1.formatting.filterObject(s, currentCommand.defaultProperties));
437
+ logStatement = logStatement.map((s) => formatting_1.formatting.filterObject(s, currentCommand.defaultProperties));
433
438
  }
434
439
  }
435
440
  }
@@ -489,11 +494,11 @@ class Cli {
489
494
  }
490
495
  return undefined;
491
496
  }
492
- printHelp(exitCode = 0) {
497
+ printHelp(helpMode, exitCode = 0) {
493
498
  const properties = {};
494
499
  if (this.commandToExecute) {
495
500
  properties.command = this.commandToExecute.name;
496
- this.printCommandHelp();
501
+ this.printCommandHelp(helpMode);
497
502
  }
498
503
  else {
499
504
  Cli.log();
@@ -510,7 +515,7 @@ class Cli {
510
515
  appInsights_1.default.flush();
511
516
  process.exit(exitCode);
512
517
  }
513
- printCommandHelp() {
518
+ printCommandHelp(helpMode) {
514
519
  let helpFilePath = '';
515
520
  let commandNameWords = [];
516
521
  if (this.commandToExecute) {
@@ -530,10 +535,66 @@ class Cli {
530
535
  }
531
536
  helpFilePath = path.join(...pathChunks);
532
537
  if (fs.existsSync(helpFilePath)) {
538
+ let helpContents = fs.readFileSync(helpFilePath, 'utf8');
539
+ helpContents = this.getHelpSection(helpMode, helpContents);
540
+ helpContents = md_1.md.md2plain(helpContents, path.join(this.commandsFolder, '..', '..', 'docs'));
533
541
  Cli.log();
534
- Cli.log(utils_1.md.md2plain(fs.readFileSync(helpFilePath, 'utf8'), path.join(this.commandsFolder, '..', '..', 'docs')));
542
+ Cli.log(helpContents);
535
543
  }
536
544
  }
545
+ getHelpMode(options) {
546
+ const h = options.h;
547
+ const help = options.help;
548
+ // user passed -h or --help, let's see if they passed a specific mode
549
+ // or requested the default
550
+ if (h || help) {
551
+ const helpMode = h !== null && h !== void 0 ? h : help;
552
+ if (typeof helpMode === 'boolean' || typeof helpMode !== 'string') {
553
+ // requested default mode or passed a number, let's use default
554
+ return this.getSettingWithDefaultValue(settingsNames_1.settingsNames.helpMode, Cli.defaultHelpMode);
555
+ }
556
+ else {
557
+ const lowerCaseHelpMode = helpMode.toLowerCase();
558
+ if (Cli.helpModes.indexOf(lowerCaseHelpMode) < 0) {
559
+ Cli.getInstance().closeWithError(`Unknown help mode ${helpMode}. Allowed values are ${Cli.helpModes.join(', ')}`, { options }, false);
560
+ return ''; // noop
561
+ }
562
+ else {
563
+ return lowerCaseHelpMode;
564
+ }
565
+ }
566
+ }
567
+ else {
568
+ return this.getSettingWithDefaultValue(settingsNames_1.settingsNames.helpMode, Cli.defaultHelpMode);
569
+ }
570
+ }
571
+ getHelpSection(helpMode, helpContents) {
572
+ if (helpMode === 'full') {
573
+ return helpContents;
574
+ }
575
+ // options is the first section, so get help up to options
576
+ const titleAndUsage = helpContents.substring(0, helpContents.indexOf('## Options'));
577
+ // find the requested section
578
+ const sectionLines = [];
579
+ const sectionName = helpMode[0].toUpperCase() + helpMode.substring(1);
580
+ const lines = helpContents.split('\n');
581
+ for (let i = 0; i < lines.length; i++) {
582
+ const line = lines[i];
583
+ if (line.indexOf(`## ${sectionName}`) === 0) {
584
+ sectionLines.push(line);
585
+ }
586
+ else if (sectionLines.length > 0) {
587
+ if (line.indexOf('## ') === 0) {
588
+ // we've reached the next section, stop
589
+ break;
590
+ }
591
+ else {
592
+ sectionLines.push(line);
593
+ }
594
+ }
595
+ }
596
+ return titleAndUsage + sectionLines.join('\n');
597
+ }
537
598
  printAvailableCommands() {
538
599
  // commands that match the current group
539
600
  const commandsToPrint = {};
@@ -637,7 +698,7 @@ class Cli {
637
698
  Cli.error(errorMessage);
638
699
  if (showHelpIfEnabled &&
639
700
  this.getSettingWithDefaultValue(settingsNames_1.settingsNames.showHelpOnFailure, showHelpIfEnabled)) {
640
- this.printHelp(exitCode);
701
+ this.printHelp(this.getHelpMode(args.options), exitCode);
641
702
  }
642
703
  else {
643
704
  process.exit(exitCode);
@@ -664,11 +725,11 @@ class Cli {
664
725
  console.error(message, ...optionalParams);
665
726
  }
666
727
  }
667
- static prompt(options, cb) {
668
- const inquirer = require('inquirer');
669
- inquirer
670
- .prompt(options)
671
- .then(result => cb(result));
728
+ static prompt(options) {
729
+ return __awaiter(this, void 0, void 0, function* () {
730
+ const inquirer = require('inquirer');
731
+ return yield inquirer.prompt(options);
732
+ });
672
733
  }
673
734
  static removeShortOptions(args) {
674
735
  const filteredArgs = JSON.parse(JSON.stringify(args));
@@ -696,4 +757,6 @@ class Cli {
696
757
  }
697
758
  }
698
759
  exports.Cli = Cli;
760
+ Cli.defaultHelpMode = 'full';
761
+ Cli.helpModes = ['options', 'examples', 'remarks', 'response', 'full'];
699
762
  //# sourceMappingURL=Cli.js.map
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const fs = require("fs");
5
5
  const path = require("path");
6
6
  const appInsights_1 = require("./appInsights");
7
- const cli_1 = require("./cli");
7
+ const Cli_1 = require("./cli/Cli");
8
8
  const packageJSON = require('../package.json');
9
9
  // required to make console.log() in combination with piped output synchronous
10
10
  // on Windows/in PowerShell so that the output is not trimmed by calling
@@ -19,7 +19,7 @@ if (!process.env.CLIMICROSOFT365_NOUPDATE) {
19
19
  }
20
20
  fs.realpath(__dirname, (err, resolvedPath) => {
21
21
  try {
22
- const cli = cli_1.Cli.getInstance();
22
+ const cli = Cli_1.Cli.getInstance();
23
23
  cli.execute(path.join(resolvedPath, 'm365'), process.argv.slice(2));
24
24
  }
25
25
  catch (e) {
@@ -13,13 +13,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
14
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
15
  };
16
- var _AadAppAddCommand_instances, _AadAppAddCommand_initTelemetry, _AadAppAddCommand_initOptions, _AadAppAddCommand_initValidators;
16
+ var _AadAppAddCommand_instances, _AadAppAddCommand_initTelemetry, _AadAppAddCommand_initOptions, _AadAppAddCommand_initValidators, _AadAppAddCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const fs = require("fs");
19
19
  const uuid_1 = require("uuid");
20
20
  const Auth_1 = require("../../../../Auth");
21
21
  const request_1 = require("../../../../request");
22
- const utils_1 = require("../../../../utils");
22
+ const accessToken_1 = require("../../../../utils/accessToken");
23
+ const odata_1 = require("../../../../utils/odata");
23
24
  const GraphCommand_1 = require("../../../base/GraphCommand");
24
25
  const commands_1 = require("../../commands");
25
26
  class AadAppAddCommand extends GraphCommand_1.default {
@@ -27,9 +28,11 @@ class AadAppAddCommand extends GraphCommand_1.default {
27
28
  super();
28
29
  _AadAppAddCommand_instances.add(this);
29
30
  this.appName = '';
31
+ this.appPermissions = [];
30
32
  __classPrivateFieldGet(this, _AadAppAddCommand_instances, "m", _AadAppAddCommand_initTelemetry).call(this);
31
33
  __classPrivateFieldGet(this, _AadAppAddCommand_instances, "m", _AadAppAddCommand_initOptions).call(this);
32
34
  __classPrivateFieldGet(this, _AadAppAddCommand_instances, "m", _AadAppAddCommand_initValidators).call(this);
35
+ __classPrivateFieldGet(this, _AadAppAddCommand_instances, "m", _AadAppAddCommand_initOptionSets).call(this);
33
36
  }
34
37
  get name() {
35
38
  return commands_1.default.APP_ADD;
@@ -37,37 +40,35 @@ class AadAppAddCommand extends GraphCommand_1.default {
37
40
  get description() {
38
41
  return 'Creates new Azure AD app registration';
39
42
  }
40
- commandAction(logger, args, cb) {
41
- this
42
- .resolveApis(args, logger)
43
- .then(apis => this.createAppRegistration(args, apis, logger))
44
- .then(appInfo => {
45
- // based on the assumption that we're adding AAD app to the current
46
- // directory. If we in the future extend the command with allowing
47
- // users to create AAD app in a different directory, we'll need to
48
- // adjust this
49
- appInfo.tenantId = utils_1.accessToken.getTenantIdFromAccessToken(Auth_1.default.service.accessTokens[Auth_1.default.defaultResource].accessToken);
50
- return Promise.resolve(appInfo);
51
- })
52
- .then(appInfo => this.updateAppFromManifest(args, appInfo))
53
- .then(appInfo => this.configureUri(args, appInfo, logger))
54
- .then(appInfo => this.configureSecret(args, appInfo, logger))
55
- .then(appInfo => this.saveAppInfo(args, appInfo, logger))
56
- .then((_appInfo) => {
57
- const appInfo = {
58
- appId: _appInfo.appId,
59
- objectId: _appInfo.id,
60
- tenantId: _appInfo.tenantId
61
- };
62
- if (_appInfo.secret) {
63
- appInfo.secret = _appInfo.secret;
43
+ commandAction(logger, args) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ try {
46
+ const apis = yield this.resolveApis(args, logger);
47
+ let appInfo = yield this.createAppRegistration(args, apis, logger);
48
+ // based on the assumption that we're adding AAD app to the current
49
+ // directory. If we in the future extend the command with allowing
50
+ // users to create AAD app in a different directory, we'll need to
51
+ // adjust this
52
+ appInfo.tenantId = accessToken_1.accessToken.getTenantIdFromAccessToken(Auth_1.default.service.accessTokens[Auth_1.default.defaultResource].accessToken);
53
+ appInfo = yield this.updateAppFromManifest(args, appInfo);
54
+ appInfo = yield this.grantAdminConsent(appInfo, args.options.grantAdminConsent, logger);
55
+ appInfo = yield this.configureUri(args, appInfo, logger);
56
+ appInfo = yield this.configureSecret(args, appInfo, logger);
57
+ const _appInfo = yield this.saveAppInfo(args, appInfo, logger);
58
+ appInfo = {
59
+ appId: _appInfo.appId,
60
+ objectId: _appInfo.id,
61
+ tenantId: _appInfo.tenantId
62
+ };
63
+ if (_appInfo.secrets) {
64
+ appInfo.secrets = _appInfo.secrets;
65
+ }
66
+ logger.log(appInfo);
64
67
  }
65
- if (_appInfo.secrets) {
66
- appInfo.secrets = _appInfo.secrets;
68
+ catch (err) {
69
+ this.handleRejectedODataJsonPromise(err);
67
70
  }
68
- logger.log(appInfo);
69
- cb();
70
- }, (rawRes) => this.handleRejectedODataJsonPromise(rawRes, logger, cb));
71
+ });
71
72
  }
72
73
  createAppRegistration(args, apis, logger) {
73
74
  return __awaiter(this, void 0, void 0, function* () {
@@ -120,6 +121,81 @@ class AadAppAddCommand extends GraphCommand_1.default {
120
121
  return request_1.default.post(createApplicationRequestOptions);
121
122
  });
122
123
  }
124
+ grantAdminConsent(appInfo, adminConsent, logger) {
125
+ if (!adminConsent || this.appPermissions.length === 0) {
126
+ return Promise.resolve(appInfo);
127
+ }
128
+ return this.createServicePrincipal(appInfo.appId)
129
+ .then((sp) => {
130
+ if (this.debug) {
131
+ logger.logToStderr("Service principal created, returned object id: " + sp.id);
132
+ }
133
+ const tasks = [];
134
+ this.appPermissions.forEach(permission => {
135
+ if (permission.scope.length > 0) {
136
+ tasks.push(this.grantOAuth2Permission(sp.id, permission.resourceId, permission.scope.join(' ')));
137
+ if (this.debug) {
138
+ logger.logToStderr(`Admin consent granted for following resource ${permission.resourceId}, with delegated permissions: ${permission.scope.join(',')}`);
139
+ }
140
+ }
141
+ permission.resourceAccess.filter(access => access.type === "Role").forEach((access) => {
142
+ tasks.push(this.addRoleToServicePrincipal(sp.id, permission.resourceId, access.id));
143
+ if (this.debug) {
144
+ logger.logToStderr(`Admin consent granted for following resource ${permission.resourceId}, with application permission: ${access.id}`);
145
+ }
146
+ });
147
+ });
148
+ return Promise.all(tasks)
149
+ .then(_ => {
150
+ return appInfo;
151
+ });
152
+ });
153
+ }
154
+ addRoleToServicePrincipal(objectId, resourceId, appRoleId) {
155
+ const requestOptions = {
156
+ url: `${this.resource}/v1.0/myorganization/servicePrincipals/${objectId}/appRoleAssignments`,
157
+ headers: {
158
+ 'Content-Type': 'application/json'
159
+ },
160
+ responseType: 'json',
161
+ data: {
162
+ appRoleId: appRoleId,
163
+ principalId: objectId,
164
+ resourceId: resourceId
165
+ }
166
+ };
167
+ return request_1.default.post(requestOptions);
168
+ }
169
+ grantOAuth2Permission(appId, resourceId, scopeName) {
170
+ const grantAdminConsentApplicationRequestOptions = {
171
+ url: `${this.resource}/v1.0/myorganization/oauth2PermissionGrants`,
172
+ headers: {
173
+ accept: 'application/json;odata.metadata=none'
174
+ },
175
+ responseType: 'json',
176
+ data: {
177
+ clientId: appId,
178
+ consentType: "AllPrincipals",
179
+ principalId: null,
180
+ resourceId: resourceId,
181
+ scope: scopeName
182
+ }
183
+ };
184
+ return request_1.default.post(grantAdminConsentApplicationRequestOptions);
185
+ }
186
+ createServicePrincipal(appId) {
187
+ const requestOptions = {
188
+ url: `${this.resource}/v1.0/myorganization/servicePrincipals`,
189
+ headers: {
190
+ 'content-type': 'application/json'
191
+ },
192
+ data: {
193
+ appId: appId
194
+ },
195
+ responseType: 'json'
196
+ };
197
+ return request_1.default.post(requestOptions);
198
+ }
123
199
  updateAppFromManifest(args, appInfo) {
124
200
  if (!args.options.manifest) {
125
201
  return Promise.resolve(appInfo);
@@ -131,10 +207,40 @@ class AadAppAddCommand extends GraphCommand_1.default {
131
207
  delete v2Manifest.appId;
132
208
  delete v2Manifest.publisherDomain;
133
209
  // extract secrets from the manifest. Store them in a separate variable
134
- // and remove them from the manifest because we need to create them
135
- // separately
136
210
  const secrets = this.getSecretsFromManifest(v2Manifest);
137
211
  // Azure Portal returns v2 manifest whereas the Graph API expects a v1.6
212
+ if (args.options.apisApplication || args.options.apisDelegated) {
213
+ // take submitted delegated / application permissions as options
214
+ // otherwise, they will be skipped in the app update
215
+ v2Manifest.requiredResourceAccess = appInfo.requiredResourceAccess;
216
+ }
217
+ if (args.options.redirectUris) {
218
+ // take submitted redirectUris/platform as options
219
+ // otherwise, they will be removed from the app
220
+ v2Manifest.replyUrlsWithType = args.options.redirectUris.split(',').map(u => {
221
+ return {
222
+ url: u.trim(),
223
+ type: this.translatePlatformToType(args.options.platform)
224
+ };
225
+ });
226
+ }
227
+ if (args.options.multitenant) {
228
+ // override manifest setting when using multitenant flag
229
+ v2Manifest.signInAudience = 'AzureADMultipleOrgs';
230
+ }
231
+ if (args.options.implicitFlow) {
232
+ // remove manifest settings when using implicitFlow flag
233
+ delete v2Manifest.oauth2AllowIdTokenImplicitFlow;
234
+ delete v2Manifest.oauth2AllowImplicitFlow;
235
+ }
236
+ if (args.options.scopeName) {
237
+ // override manifest setting when using options.
238
+ delete v2Manifest.oauth2Permissions;
239
+ }
240
+ if (args.options.certificateFile || args.options.certificateBase64Encoded) {
241
+ // override manifest setting when using options.
242
+ delete v2Manifest.keyCredentials;
243
+ }
138
244
  const graphManifest = this.transformManifest(v2Manifest);
139
245
  const updateAppRequestOptions = {
140
246
  url: `${this.resource}/v1.0/myorganization/applications/${appInfo.id}`,
@@ -334,36 +440,61 @@ class AadAppAddCommand extends GraphCommand_1.default {
334
440
  .then(_ => appInfo);
335
441
  }
336
442
  resolveApis(args, logger) {
337
- if (!args.options.apisDelegated && !args.options.apisApplication) {
443
+ var _a;
444
+ if (!args.options.apisDelegated && !args.options.apisApplication
445
+ && (typeof ((_a = this.manifest) === null || _a === void 0 ? void 0 : _a.requiredResourceAccess) === 'undefined' || this.manifest.requiredResourceAccess.length === 0)) {
338
446
  return Promise.resolve([]);
339
447
  }
340
448
  if (this.verbose) {
341
449
  logger.logToStderr('Resolving requested APIs...');
342
450
  }
343
- return utils_1.odata
344
- .getAllItems(`${this.resource}/v1.0/myorganization/servicePrincipals?$select=servicePrincipalNames,appId,oauth2PermissionScopes,appRoles`)
451
+ return odata_1.odata
452
+ .getAllItems(`${this.resource}/v1.0/myorganization/servicePrincipals?$select=appId,appRoles,id,oauth2PermissionScopes,servicePrincipalNames`)
345
453
  .then(servicePrincipals => {
454
+ let resolvedApis = [];
346
455
  try {
347
- const resolvedApis = this.getRequiredResourceAccessForApis(servicePrincipals, args.options.apisDelegated, 'Scope', logger);
348
- if (this.debug) {
349
- logger.logToStderr(`Resolved delegated permissions: ${JSON.stringify(resolvedApis, null, 2)}`);
350
- }
351
- const resolvedApplicationApis = this.getRequiredResourceAccessForApis(servicePrincipals, args.options.apisApplication, 'Role', logger);
352
- if (this.debug) {
353
- logger.logToStderr(`Resolved application permissions: ${JSON.stringify(resolvedApplicationApis, null, 2)}`);
354
- }
355
- // merge resolved application APIs onto resolved delegated APIs
356
- resolvedApplicationApis.forEach(resolvedRequiredResource => {
357
- const requiredResource = resolvedApis.find(api => api.resourceAppId === resolvedRequiredResource.resourceAppId);
358
- if (requiredResource) {
359
- requiredResource.resourceAccess.push(...resolvedRequiredResource.resourceAccess);
456
+ if (args.options.apisDelegated || args.options.apisApplication) {
457
+ resolvedApis = this.getRequiredResourceAccessForApis(servicePrincipals, args.options.apisDelegated, 'Scope', logger);
458
+ if (this.verbose) {
459
+ logger.logToStderr(`Resolved delegated permissions: ${JSON.stringify(resolvedApis, null, 2)}`);
360
460
  }
361
- else {
362
- resolvedApis.push(resolvedRequiredResource);
461
+ const resolvedApplicationApis = this.getRequiredResourceAccessForApis(servicePrincipals, args.options.apisApplication, 'Role', logger);
462
+ if (this.verbose) {
463
+ logger.logToStderr(`Resolved application permissions: ${JSON.stringify(resolvedApplicationApis, null, 2)}`);
363
464
  }
364
- });
365
- if (this.debug) {
465
+ // merge resolved application APIs onto resolved delegated APIs
466
+ resolvedApplicationApis.forEach(resolvedRequiredResource => {
467
+ const requiredResource = resolvedApis.find(api => api.resourceAppId === resolvedRequiredResource.resourceAppId);
468
+ if (requiredResource) {
469
+ requiredResource.resourceAccess.push(...resolvedRequiredResource.resourceAccess);
470
+ }
471
+ else {
472
+ resolvedApis.push(resolvedRequiredResource);
473
+ }
474
+ });
475
+ }
476
+ else {
477
+ const manifestApis = this.manifest.requiredResourceAccess;
478
+ manifestApis.forEach(manifestApi => {
479
+ resolvedApis.push(manifestApi);
480
+ const app = servicePrincipals.find(servicePrincipals => servicePrincipals.appId === manifestApi.resourceAppId);
481
+ if (app) {
482
+ manifestApi.resourceAccess.forEach((res => {
483
+ var _a;
484
+ const resourceAccessPermission = {
485
+ id: res.id,
486
+ type: res.type
487
+ };
488
+ const oAuthValue = (_a = app.oauth2PermissionScopes.find(scp => scp.id === res.id)) === null || _a === void 0 ? void 0 : _a.value;
489
+ this.updateAppPermissions(app.id, resourceAccessPermission, oAuthValue);
490
+ }));
491
+ }
492
+ });
493
+ }
494
+ if (this.verbose) {
366
495
  logger.logToStderr(`Merged delegated and application permissions: ${JSON.stringify(resolvedApis, null, 2)}`);
496
+ logger.logToStderr(`App role assignments: ${JSON.stringify(this.appPermissions.flatMap(permission => permission.resourceAccess.filter(access => access.type === "Role")), null, 2)}`);
497
+ logger.logToStderr(`OAuth2 permissions: ${JSON.stringify(this.appPermissions.flatMap(permission => permission.scope), null, 2)}`);
367
498
  }
368
499
  return Promise.resolve(resolvedApis);
369
500
  }
@@ -405,15 +536,36 @@ class AadAppAddCommand extends GraphCommand_1.default {
405
536
  };
406
537
  resolvedApis.push(resolvedApi);
407
538
  }
408
- resolvedApi.resourceAccess.push({
539
+ const resourceAccessPermission = {
409
540
  id: permission.id,
410
541
  type: scopeType
411
- });
542
+ };
543
+ resolvedApi.resourceAccess.push(resourceAccessPermission);
544
+ this.updateAppPermissions(servicePrincipal.id, resourceAccessPermission, permission.value);
412
545
  });
413
546
  return resolvedApis;
414
547
  }
548
+ updateAppPermissions(spId, resourceAccessPermission, oAuth2PermissionValue) {
549
+ // During API resolution, we store globally both app role assignments and oauth2permissions
550
+ // So that we'll be able to parse them during the admin consent process
551
+ let existingPermission = this.appPermissions.find(oauth => oauth.resourceId === spId);
552
+ if (!existingPermission) {
553
+ existingPermission = {
554
+ resourceId: spId,
555
+ resourceAccess: [],
556
+ scope: []
557
+ };
558
+ this.appPermissions.push(existingPermission);
559
+ }
560
+ if (resourceAccessPermission.type === 'Scope' && oAuth2PermissionValue && !existingPermission.scope.find(scp => scp === oAuth2PermissionValue)) {
561
+ existingPermission.scope.push(oAuth2PermissionValue);
562
+ }
563
+ if (!existingPermission.resourceAccess.find(res => res.id === resourceAccessPermission.id)) {
564
+ existingPermission.resourceAccess.push(resourceAccessPermission);
565
+ }
566
+ }
415
567
  configureSecret(args, appInfo, logger) {
416
- if (!args.options.withSecret) {
568
+ if (!args.options.withSecret || (appInfo.secrets && appInfo.secrets.length > 0)) {
417
569
  return Promise.resolve(appInfo);
418
570
  }
419
571
  if (this.verbose) {
@@ -422,7 +574,10 @@ class AadAppAddCommand extends GraphCommand_1.default {
422
574
  return this
423
575
  .createSecret({ appObjectId: appInfo.id })
424
576
  .then(secret => {
425
- appInfo.secret = secret.value;
577
+ if (!appInfo.secrets) {
578
+ appInfo.secrets = [];
579
+ }
580
+ appInfo.secrets.push(secret);
426
581
  return Promise.resolve(appInfo);
427
582
  });
428
583
  }
@@ -506,6 +661,12 @@ class AadAppAddCommand extends GraphCommand_1.default {
506
661
  }
507
662
  return Promise.resolve(appInfo);
508
663
  }
664
+ translatePlatformToType(platform) {
665
+ if (platform === 'publicClient') {
666
+ return 'InstalledClient';
667
+ }
668
+ return platform.charAt(0).toUpperCase() + platform.substring(1);
669
+ }
509
670
  }
510
671
  _AadAppAddCommand_instances = new WeakSet(), _AadAppAddCommand_initTelemetry = function _AadAppAddCommand_initTelemetry() {
511
672
  this.telemetry.push((args) => {
@@ -523,7 +684,8 @@ _AadAppAddCommand_instances = new WeakSet(), _AadAppAddCommand_initTelemetry = f
523
684
  withSecret: args.options.withSecret,
524
685
  certificateFile: typeof args.options.certificateFile !== 'undefined',
525
686
  certificateBase64Encoded: typeof args.options.certificateBase64Encoded !== 'undefined',
526
- certificateDisplayName: typeof args.options.certificateDisplayName !== 'undefined'
687
+ certificateDisplayName: typeof args.options.certificateDisplayName !== 'undefined',
688
+ grantAdminConsent: typeof args.options.grantAdminConsent !== 'undefined'
527
689
  });
528
690
  });
529
691
  }, _AadAppAddCommand_initOptions = function _AadAppAddCommand_initOptions() {
@@ -565,12 +727,11 @@ _AadAppAddCommand_instances = new WeakSet(), _AadAppAddCommand_initTelemetry = f
565
727
  option: '--manifest [manifest]'
566
728
  }, {
567
729
  option: '--save'
730
+ }, {
731
+ option: '--grantAdminConsent'
568
732
  });
569
733
  }, _AadAppAddCommand_initValidators = function _AadAppAddCommand_initValidators() {
570
734
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
571
- if (!args.options.manifest && !args.options.name) {
572
- return 'Specify either the name of the app to create or the manifest';
573
- }
574
735
  if (args.options.platform &&
575
736
  AadAppAddCommand.aadApplicationPlatform.indexOf(args.options.platform) < 0) {
576
737
  return `${args.options.platform} is not a valid value for platform. Allowed values are ${AadAppAddCommand.aadApplicationPlatform.join(', ')}`;
@@ -615,6 +776,8 @@ _AadAppAddCommand_instances = new WeakSet(), _AadAppAddCommand_initTelemetry = f
615
776
  }
616
777
  return true;
617
778
  }));
779
+ }, _AadAppAddCommand_initOptionSets = function _AadAppAddCommand_initOptionSets() {
780
+ this.optionSets.push({ options: ['name', 'manifest'] });
618
781
  };
619
782
  AadAppAddCommand.aadApplicationPlatform = ['spa', 'web', 'publicClient'];
620
783
  AadAppAddCommand.aadAppScopeConsentBy = ['admins', 'adminsAndUsers'];