@microsoft/managed-apps-cli 0.20.0 → 0.21.0

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 (605) hide show
  1. package/THIRD-PARTY-NOTICES.txt +9549 -0
  2. package/dist/AddConnector-4AMM746J.js +41 -0
  3. package/dist/AuthStatus-ZZIP3LBD.js +11 -0
  4. package/dist/AuthSwitch-HK7JU2FR.js +13 -0
  5. package/dist/Bin.js +8 -3
  6. package/dist/BuildMaafApp-MOTZOLJZ.js +11 -0
  7. package/dist/Cli-6CCXMCPX.js +54 -0
  8. package/dist/CreateMaafApp-TUO72CW7.js +20 -0
  9. package/dist/DeleteMaafApp-MZVGIAX3.js +11 -0
  10. package/dist/DeployMaafApp-KXATM3E3.js +14 -0
  11. package/dist/Dev-SHIA5S7X.js +14 -0
  12. package/dist/EnvironmentVariableAuthenticationProvider-5YTMRAE4.js +11 -0
  13. package/dist/GetMaafApp-ELB5KMHW.js +11 -0
  14. package/dist/GetMaafBuildStatus-3W7LI5TJ.js +11 -0
  15. package/dist/GetSettings-NM6H2U5F.js +11 -0
  16. package/dist/Init-CH5DUQWA.js +11 -0
  17. package/dist/ListConnectorActions-7SIFGPYR.js +11 -0
  18. package/dist/ListConnectors-TRKIWRVQ.js +11 -0
  19. package/dist/ListMaafApps-RT3PGZSJ.js +11 -0
  20. package/dist/Login-HG5S7LBC.js +11 -0
  21. package/dist/Logout-BUPHLOAH.js +11 -0
  22. package/dist/MockFetch-4CYTSNJ7.js +13 -0
  23. package/dist/NoOpAuthenticationProvider-DX3XNXF5.js +11 -0
  24. package/dist/NodeMsalAuthenticationProvider-HTH3V3G2.js +17 -0
  25. package/dist/Pack-AHKC2MYF.js +8 -0
  26. package/dist/PlayMaafApp-LWKJU2IN.js +12 -0
  27. package/dist/RefreshDataSource-ZFZJXJ5L.js +11 -0
  28. package/dist/RefreshGitAuth-5A3SX2HC.js +11 -0
  29. package/dist/RemoveDataSource-57JJLK5I.js +14 -0
  30. package/dist/ServicePrincipalAuthenticationProvider-SVKDZG6X.js +11 -0
  31. package/dist/SetSetting-RB3F7IXG.js +11 -0
  32. package/dist/ShareLinkCreate-7BCDPWY6.js +11 -0
  33. package/dist/ShareLinkList-4BI3WMNN.js +11 -0
  34. package/dist/ShareLinkRevoke-EEJVCRCY.js +11 -0
  35. package/dist/ShareList-LJDAEGI3.js +11 -0
  36. package/dist/ShareMaafApp-QFRXLYUD.js +11 -0
  37. package/dist/ShowMaafApp-3KK6NUG2.js +11 -0
  38. package/dist/TelemetrySettings-A474HALH.js +11 -0
  39. package/dist/UnshareMaafApp-423RNXCN.js +11 -0
  40. package/dist/acorn-CYBWGE5M.js +23 -0
  41. package/dist/angular-Q62TJP23.js +11 -0
  42. package/dist/babel-AOXBHIIS.js +22 -0
  43. package/dist/chunk-3BRAT6NP.js +11 -0
  44. package/dist/chunk-3YRE4IQ3.js +132 -0
  45. package/dist/chunk-5AUOEXAR.js +50 -0
  46. package/dist/chunk-6FFQN2SO.js +13 -0
  47. package/dist/chunk-6MXOK2LG.js +11 -0
  48. package/dist/chunk-7NXJAIJX.js +11 -0
  49. package/dist/chunk-DREO7EYO.js +20 -0
  50. package/dist/chunk-EV3TTTOT.js +8 -0
  51. package/dist/chunk-G33Q5FWT.js +42325 -0
  52. package/dist/chunk-HBLO3WDD.js +13 -0
  53. package/dist/chunk-MFPX2RFH.js +11 -0
  54. package/dist/chunk-NP2KJOYC.js +12 -0
  55. package/dist/chunk-OL6CTXQR.js +11 -0
  56. package/dist/chunk-PVAIJSAI.js +11 -0
  57. package/dist/chunk-QAFCXGBD.js +11 -0
  58. package/dist/chunk-QSB5P4RM.js +38 -0
  59. package/dist/chunk-RBG2H562.js +11 -0
  60. package/dist/chunk-S5HEU7XK.js +11 -0
  61. package/dist/chunk-TYRVM4PP.js +8 -0
  62. package/dist/chunk-U36HMOQW.js +77 -0
  63. package/dist/chunk-UBTSW22U.js +11 -0
  64. package/dist/chunk-USRRI5H4.js +11 -0
  65. package/dist/chunk-UT667QSU.js +8 -0
  66. package/dist/chunk-VFSTQAZ2.js +12 -0
  67. package/dist/chunk-VNEZZ3RI.js +11 -0
  68. package/dist/chunk-W7EWOZPO.js +104 -0
  69. package/dist/chunk-Y5AMO72S.js +10 -0
  70. package/dist/chunk-YIKNM523.js +15 -0
  71. package/dist/chunk-YMXXWGRV.js +11 -0
  72. package/dist/estree-HPTPQIMZ.js +51 -0
  73. package/dist/flow-B6JUMONE.js +27 -0
  74. package/dist/glimmer-36KZ3DJ5.js +44 -0
  75. package/dist/graphql-E6CIFZFV.js +35 -0
  76. package/dist/html-BUTTPQE6.js +32 -0
  77. package/dist/markdown-K2C5OZHT.js +69 -0
  78. package/dist/meriyah-27UE2OSX.js +12 -0
  79. package/dist/postcss-QUHZLBB7.js +68 -0
  80. package/dist/typescript-G2G6TDZF.js +28 -0
  81. package/dist/yaml-W5P5CGFK.js +166 -0
  82. package/package.json +21 -16
  83. package/dist/ArgumentProvider.d.ts +0 -144
  84. package/dist/ArgumentProvider.d.ts.map +0 -1
  85. package/dist/ArgumentProvider.js +0 -493
  86. package/dist/ArgumentProvider.js.map +0 -1
  87. package/dist/Authentication/ActiveAccountStore.d.ts +0 -24
  88. package/dist/Authentication/ActiveAccountStore.d.ts.map +0 -1
  89. package/dist/Authentication/ActiveAccountStore.js +0 -54
  90. package/dist/Authentication/ActiveAccountStore.js.map +0 -1
  91. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.d.ts +0 -26
  92. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.d.ts.map +0 -1
  93. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.js +0 -31
  94. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.js.map +0 -1
  95. package/dist/Authentication/NoOpAuthenticationProvider.d.ts +0 -25
  96. package/dist/Authentication/NoOpAuthenticationProvider.d.ts.map +0 -1
  97. package/dist/Authentication/NoOpAuthenticationProvider.js +0 -31
  98. package/dist/Authentication/NoOpAuthenticationProvider.js.map +0 -1
  99. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +0 -103
  100. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +0 -1
  101. package/dist/Authentication/NodeMsalAuthenticationProvider.js +0 -391
  102. package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +0 -1
  103. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts +0 -23
  104. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +0 -1
  105. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js +0 -60
  106. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js.map +0 -1
  107. package/dist/Bin.d.ts +0 -6
  108. package/dist/Bin.d.ts.map +0 -1
  109. package/dist/Bin.js.map +0 -1
  110. package/dist/Cli.d.ts +0 -2
  111. package/dist/Cli.d.ts.map +0 -1
  112. package/dist/Cli.js +0 -207
  113. package/dist/Cli.js.map +0 -1
  114. package/dist/CliSettings.d.ts +0 -17
  115. package/dist/CliSettings.d.ts.map +0 -1
  116. package/dist/CliSettings.js +0 -103
  117. package/dist/CliSettings.js.map +0 -1
  118. package/dist/CliUtils.d.ts +0 -108
  119. package/dist/CliUtils.d.ts.map +0 -1
  120. package/dist/CliUtils.js +0 -217
  121. package/dist/CliUtils.js.map +0 -1
  122. package/dist/Constants/CliConstants.d.ts +0 -6
  123. package/dist/Constants/CliConstants.d.ts.map +0 -1
  124. package/dist/Constants/CliConstants.js +0 -6
  125. package/dist/Constants/CliConstants.js.map +0 -1
  126. package/dist/Constants/CommandRegistry.d.ts +0 -22
  127. package/dist/Constants/CommandRegistry.d.ts.map +0 -1
  128. package/dist/Constants/CommandRegistry.js +0 -245
  129. package/dist/Constants/CommandRegistry.js.map +0 -1
  130. package/dist/Constants/HelpStrings.d.ts +0 -432
  131. package/dist/Constants/HelpStrings.d.ts.map +0 -1
  132. package/dist/Constants/HelpStrings.js +0 -623
  133. package/dist/Constants/HelpStrings.js.map +0 -1
  134. package/dist/Constants.d.ts +0 -18
  135. package/dist/Constants.d.ts.map +0 -1
  136. package/dist/Constants.js +0 -41
  137. package/dist/Constants.js.map +0 -1
  138. package/dist/Errors/CliError.d.ts +0 -5
  139. package/dist/Errors/CliError.d.ts.map +0 -1
  140. package/dist/Errors/CliError.js +0 -7
  141. package/dist/Errors/CliError.js.map +0 -1
  142. package/dist/Errors/GitHubErrorMap.d.ts +0 -68
  143. package/dist/Errors/GitHubErrorMap.d.ts.map +0 -1
  144. package/dist/Errors/GitHubErrorMap.js +0 -238
  145. package/dist/Errors/GitHubErrorMap.js.map +0 -1
  146. package/dist/FS/CliFs.d.ts +0 -41
  147. package/dist/FS/CliFs.d.ts.map +0 -1
  148. package/dist/FS/CliFs.js +0 -136
  149. package/dist/FS/CliFs.js.map +0 -1
  150. package/dist/HttpClient/CliHttpClient.d.ts +0 -43
  151. package/dist/HttpClient/CliHttpClient.d.ts.map +0 -1
  152. package/dist/HttpClient/CliHttpClient.js +0 -320
  153. package/dist/HttpClient/CliHttpClient.js.map +0 -1
  154. package/dist/HttpClient/HttpForward.d.ts +0 -9
  155. package/dist/HttpClient/HttpForward.d.ts.map +0 -1
  156. package/dist/HttpClient/HttpForward.js +0 -56
  157. package/dist/HttpClient/HttpForward.js.map +0 -1
  158. package/dist/Logger/BufferedTelemetryWriter.d.ts +0 -20
  159. package/dist/Logger/BufferedTelemetryWriter.d.ts.map +0 -1
  160. package/dist/Logger/BufferedTelemetryWriter.js +0 -163
  161. package/dist/Logger/BufferedTelemetryWriter.js.map +0 -1
  162. package/dist/Logger/CliLogger.d.ts +0 -59
  163. package/dist/Logger/CliLogger.d.ts.map +0 -1
  164. package/dist/Logger/CliLogger.js +0 -364
  165. package/dist/Logger/CliLogger.js.map +0 -1
  166. package/dist/Logger/ConsoleWriter.d.ts +0 -23
  167. package/dist/Logger/ConsoleWriter.d.ts.map +0 -1
  168. package/dist/Logger/ConsoleWriter.js +0 -66
  169. package/dist/Logger/ConsoleWriter.js.map +0 -1
  170. package/dist/Logger/Constants.d.ts +0 -6
  171. package/dist/Logger/Constants.d.ts.map +0 -1
  172. package/dist/Logger/Constants.js +0 -15
  173. package/dist/Logger/Constants.js.map +0 -1
  174. package/dist/Logger/LoggerSettings.d.ts +0 -18
  175. package/dist/Logger/LoggerSettings.d.ts.map +0 -1
  176. package/dist/Logger/LoggerSettings.js +0 -78
  177. package/dist/Logger/LoggerSettings.js.map +0 -1
  178. package/dist/Logger/OneDSWriter.d.ts +0 -26
  179. package/dist/Logger/OneDSWriter.d.ts.map +0 -1
  180. package/dist/Logger/OneDSWriter.js +0 -211
  181. package/dist/Logger/OneDSWriter.js.map +0 -1
  182. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts +0 -5
  183. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts.map +0 -1
  184. package/dist/Logger/Scrubber/ScrubCustomDimensions.js +0 -46
  185. package/dist/Logger/Scrubber/ScrubCustomDimensions.js.map +0 -1
  186. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts +0 -27
  187. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts.map +0 -1
  188. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js +0 -168
  189. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js.map +0 -1
  190. package/dist/Logger/Scrubber/ScrubUtils.d.ts +0 -8
  191. package/dist/Logger/Scrubber/ScrubUtils.d.ts.map +0 -1
  192. package/dist/Logger/Scrubber/ScrubUtils.js +0 -34
  193. package/dist/Logger/Scrubber/ScrubUtils.js.map +0 -1
  194. package/dist/Middletier/FunctionsBundler.d.ts +0 -17
  195. package/dist/Middletier/FunctionsBundler.d.ts.map +0 -1
  196. package/dist/Middletier/FunctionsBundler.js +0 -169
  197. package/dist/Middletier/FunctionsBundler.js.map +0 -1
  198. package/dist/Middletier/PackFunctions.d.ts +0 -53
  199. package/dist/Middletier/PackFunctions.d.ts.map +0 -1
  200. package/dist/Middletier/PackFunctions.js +0 -123
  201. package/dist/Middletier/PackFunctions.js.map +0 -1
  202. package/dist/Testing/MockFetch.d.ts +0 -23
  203. package/dist/Testing/MockFetch.d.ts.map +0 -1
  204. package/dist/Testing/MockFetch.js +0 -177
  205. package/dist/Testing/MockFetch.js.map +0 -1
  206. package/dist/Testing/MockRoutes.d.ts +0 -34
  207. package/dist/Testing/MockRoutes.d.ts.map +0 -1
  208. package/dist/Testing/MockRoutes.js +0 -226
  209. package/dist/Testing/MockRoutes.js.map +0 -1
  210. package/dist/Testing/fixtures/connectors/commondataserviceforapps.d.ts +0 -6
  211. package/dist/Testing/fixtures/connectors/commondataserviceforapps.d.ts.map +0 -1
  212. package/dist/Testing/fixtures/connectors/commondataserviceforapps.js +0 -25
  213. package/dist/Testing/fixtures/connectors/commondataserviceforapps.js.map +0 -1
  214. package/dist/Testing/fixtures/connectors/dataverseContactEntity.d.ts +0 -6
  215. package/dist/Testing/fixtures/connectors/dataverseContactEntity.d.ts.map +0 -1
  216. package/dist/Testing/fixtures/connectors/dataverseContactEntity.js +0 -55
  217. package/dist/Testing/fixtures/connectors/dataverseContactEntity.js.map +0 -1
  218. package/dist/Testing/fixtures/connectors/excelonlinebusiness.d.ts +0 -6
  219. package/dist/Testing/fixtures/connectors/excelonlinebusiness.d.ts.map +0 -1
  220. package/dist/Testing/fixtures/connectors/excelonlinebusiness.js +0 -1970
  221. package/dist/Testing/fixtures/connectors/excelonlinebusiness.js.map +0 -1
  222. package/dist/Testing/fixtures/connectors/kusto.d.ts +0 -6
  223. package/dist/Testing/fixtures/connectors/kusto.d.ts.map +0 -1
  224. package/dist/Testing/fixtures/connectors/kusto.js +0 -1333
  225. package/dist/Testing/fixtures/connectors/kusto.js.map +0 -1
  226. package/dist/Testing/fixtures/connectors/msnweather.d.ts +0 -6
  227. package/dist/Testing/fixtures/connectors/msnweather.d.ts.map +0 -1
  228. package/dist/Testing/fixtures/connectors/msnweather.js +0 -917
  229. package/dist/Testing/fixtures/connectors/msnweather.js.map +0 -1
  230. package/dist/Testing/fixtures/connectors/office365groups.d.ts +0 -6
  231. package/dist/Testing/fixtures/connectors/office365groups.d.ts.map +0 -1
  232. package/dist/Testing/fixtures/connectors/office365groups.js +0 -2144
  233. package/dist/Testing/fixtures/connectors/office365groups.js.map +0 -1
  234. package/dist/Testing/fixtures/connectors/office365users.d.ts +0 -6
  235. package/dist/Testing/fixtures/connectors/office365users.d.ts.map +0 -1
  236. package/dist/Testing/fixtures/connectors/office365users.js +0 -1969
  237. package/dist/Testing/fixtures/connectors/office365users.js.map +0 -1
  238. package/dist/Testing/fixtures/connectors/onedriveforbusiness.d.ts +0 -6
  239. package/dist/Testing/fixtures/connectors/onedriveforbusiness.d.ts.map +0 -1
  240. package/dist/Testing/fixtures/connectors/onedriveforbusiness.js +0 -4873
  241. package/dist/Testing/fixtures/connectors/onedriveforbusiness.js.map +0 -1
  242. package/dist/Testing/fixtures/connectors/powerappsforappmakers.d.ts +0 -6
  243. package/dist/Testing/fixtures/connectors/powerappsforappmakers.d.ts.map +0 -1
  244. package/dist/Testing/fixtures/connectors/powerappsforappmakers.js +0 -4682
  245. package/dist/Testing/fixtures/connectors/powerappsforappmakers.js.map +0 -1
  246. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.d.ts +0 -6
  247. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.d.ts.map +0 -1
  248. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.js +0 -1078
  249. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.js.map +0 -1
  250. package/dist/Testing/fixtures/connectors/sharepointonline.d.ts +0 -6
  251. package/dist/Testing/fixtures/connectors/sharepointonline.d.ts.map +0 -1
  252. package/dist/Testing/fixtures/connectors/sharepointonline.js +0 -28
  253. package/dist/Testing/fixtures/connectors/sharepointonline.js.map +0 -1
  254. package/dist/Testing/fixtures/connectors/teams.d.ts +0 -6
  255. package/dist/Testing/fixtures/connectors/teams.d.ts.map +0 -1
  256. package/dist/Testing/fixtures/connectors/teams.js +0 -9987
  257. package/dist/Testing/fixtures/connectors/teams.js.map +0 -1
  258. package/dist/Testing/fixtures/connectors/translatorv2.d.ts +0 -6
  259. package/dist/Testing/fixtures/connectors/translatorv2.d.ts.map +0 -1
  260. package/dist/Testing/fixtures/connectors/translatorv2.js +0 -307
  261. package/dist/Testing/fixtures/connectors/translatorv2.js.map +0 -1
  262. package/dist/Testing/fixtures/index.d.ts +0 -23
  263. package/dist/Testing/fixtures/index.d.ts.map +0 -1
  264. package/dist/Testing/fixtures/index.js +0 -96
  265. package/dist/Testing/fixtures/index.js.map +0 -1
  266. package/dist/Types/Argument.types.d.ts +0 -28
  267. package/dist/Types/Argument.types.d.ts.map +0 -1
  268. package/dist/Types/Argument.types.js +0 -5
  269. package/dist/Types/Argument.types.js.map +0 -1
  270. package/dist/Types/Cli.types.d.ts +0 -82
  271. package/dist/Types/Cli.types.d.ts.map +0 -1
  272. package/dist/Types/Cli.types.js +0 -5
  273. package/dist/Types/Cli.types.js.map +0 -1
  274. package/dist/Types/Command.types.d.ts +0 -69
  275. package/dist/Types/Command.types.d.ts.map +0 -1
  276. package/dist/Types/Command.types.js +0 -20
  277. package/dist/Types/Command.types.js.map +0 -1
  278. package/dist/Types/Datasource.types.d.ts +0 -30
  279. package/dist/Types/Datasource.types.d.ts.map +0 -1
  280. package/dist/Types/Datasource.types.js +0 -5
  281. package/dist/Types/Datasource.types.js.map +0 -1
  282. package/dist/Types/LoggerTypes.types.d.ts +0 -18
  283. package/dist/Types/LoggerTypes.types.d.ts.map +0 -1
  284. package/dist/Types/LoggerTypes.types.js +0 -5
  285. package/dist/Types/LoggerTypes.types.js.map +0 -1
  286. package/dist/Utils/BuildPolling.d.ts +0 -43
  287. package/dist/Utils/BuildPolling.d.ts.map +0 -1
  288. package/dist/Utils/BuildPolling.js +0 -139
  289. package/dist/Utils/BuildPolling.js.map +0 -1
  290. package/dist/Utils/BuildVerbDescriptionTable.d.ts +0 -29
  291. package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +0 -1
  292. package/dist/Utils/BuildVerbDescriptionTable.js +0 -147
  293. package/dist/Utils/BuildVerbDescriptionTable.js.map +0 -1
  294. package/dist/Utils/CoerceCliVersion.d.ts +0 -27
  295. package/dist/Utils/CoerceCliVersion.d.ts.map +0 -1
  296. package/dist/Utils/CoerceCliVersion.js +0 -67
  297. package/dist/Utils/CoerceCliVersion.js.map +0 -1
  298. package/dist/Utils/ConnectorIds.d.ts +0 -12
  299. package/dist/Utils/ConnectorIds.d.ts.map +0 -1
  300. package/dist/Utils/ConnectorIds.js +0 -20
  301. package/dist/Utils/ConnectorIds.js.map +0 -1
  302. package/dist/Utils/ConsoleOutput.d.ts +0 -86
  303. package/dist/Utils/ConsoleOutput.d.ts.map +0 -1
  304. package/dist/Utils/ConsoleOutput.js +0 -162
  305. package/dist/Utils/ConsoleOutput.js.map +0 -1
  306. package/dist/Utils/DcfRecovery.d.ts +0 -84
  307. package/dist/Utils/DcfRecovery.d.ts.map +0 -1
  308. package/dist/Utils/DcfRecovery.js +0 -246
  309. package/dist/Utils/DcfRecovery.js.map +0 -1
  310. package/dist/Utils/DetectPackageManager.d.ts +0 -9
  311. package/dist/Utils/DetectPackageManager.d.ts.map +0 -1
  312. package/dist/Utils/DetectPackageManager.js +0 -24
  313. package/dist/Utils/DetectPackageManager.js.map +0 -1
  314. package/dist/Utils/DownloadTemplate.d.ts +0 -45
  315. package/dist/Utils/DownloadTemplate.d.ts.map +0 -1
  316. package/dist/Utils/DownloadTemplate.js +0 -161
  317. package/dist/Utils/DownloadTemplate.js.map +0 -1
  318. package/dist/Utils/EnhanceNetworkError.d.ts +0 -14
  319. package/dist/Utils/EnhanceNetworkError.d.ts.map +0 -1
  320. package/dist/Utils/EnhanceNetworkError.js +0 -61
  321. package/dist/Utils/EnhanceNetworkError.js.map +0 -1
  322. package/dist/Utils/EnvVars.d.ts +0 -17
  323. package/dist/Utils/EnvVars.d.ts.map +0 -1
  324. package/dist/Utils/EnvVars.js +0 -38
  325. package/dist/Utils/EnvVars.js.map +0 -1
  326. package/dist/Utils/EnvironmentRoutingUtils.d.ts +0 -81
  327. package/dist/Utils/EnvironmentRoutingUtils.d.ts.map +0 -1
  328. package/dist/Utils/EnvironmentRoutingUtils.js +0 -204
  329. package/dist/Utils/EnvironmentRoutingUtils.js.map +0 -1
  330. package/dist/Utils/FindAvailablePort.d.ts +0 -39
  331. package/dist/Utils/FindAvailablePort.d.ts.map +0 -1
  332. package/dist/Utils/FindAvailablePort.js +0 -105
  333. package/dist/Utils/FindAvailablePort.js.map +0 -1
  334. package/dist/Utils/GitCredentialConfig.d.ts +0 -12
  335. package/dist/Utils/GitCredentialConfig.d.ts.map +0 -1
  336. package/dist/Utils/GitCredentialConfig.js +0 -32
  337. package/dist/Utils/GitCredentialConfig.js.map +0 -1
  338. package/dist/Utils/GitErrorClassifier.d.ts +0 -40
  339. package/dist/Utils/GitErrorClassifier.d.ts.map +0 -1
  340. package/dist/Utils/GitErrorClassifier.js +0 -120
  341. package/dist/Utils/GitErrorClassifier.js.map +0 -1
  342. package/dist/Utils/GitHubDcfFlow.d.ts +0 -59
  343. package/dist/Utils/GitHubDcfFlow.d.ts.map +0 -1
  344. package/dist/Utils/GitHubDcfFlow.js +0 -165
  345. package/dist/Utils/GitHubDcfFlow.js.map +0 -1
  346. package/dist/Utils/GitRunner.d.ts +0 -107
  347. package/dist/Utils/GitRunner.d.ts.map +0 -1
  348. package/dist/Utils/GitRunner.js +0 -89
  349. package/dist/Utils/GitRunner.js.map +0 -1
  350. package/dist/Utils/GitUtils.d.ts +0 -59
  351. package/dist/Utils/GitUtils.d.ts.map +0 -1
  352. package/dist/Utils/GitUtils.js +0 -198
  353. package/dist/Utils/GitUtils.js.map +0 -1
  354. package/dist/Utils/GitVersionChecker.d.ts +0 -38
  355. package/dist/Utils/GitVersionChecker.d.ts.map +0 -1
  356. package/dist/Utils/GitVersionChecker.js +0 -64
  357. package/dist/Utils/GitVersionChecker.js.map +0 -1
  358. package/dist/Utils/HelpBanner.d.ts +0 -11
  359. package/dist/Utils/HelpBanner.d.ts.map +0 -1
  360. package/dist/Utils/HelpBanner.js +0 -15
  361. package/dist/Utils/HelpBanner.js.map +0 -1
  362. package/dist/Utils/MaafAppConfig.d.ts +0 -24
  363. package/dist/Utils/MaafAppConfig.d.ts.map +0 -1
  364. package/dist/Utils/MaafAppConfig.js +0 -38
  365. package/dist/Utils/MaafAppConfig.js.map +0 -1
  366. package/dist/Utils/NodeVersionChecker.d.ts +0 -10
  367. package/dist/Utils/NodeVersionChecker.d.ts.map +0 -1
  368. package/dist/Utils/NodeVersionChecker.js +0 -21
  369. package/dist/Utils/NodeVersionChecker.js.map +0 -1
  370. package/dist/Utils/Paging.d.ts +0 -29
  371. package/dist/Utils/Paging.d.ts.map +0 -1
  372. package/dist/Utils/Paging.js +0 -102
  373. package/dist/Utils/Paging.js.map +0 -1
  374. package/dist/Utils/PinCli.d.ts +0 -33
  375. package/dist/Utils/PinCli.d.ts.map +0 -1
  376. package/dist/Utils/PinCli.js +0 -77
  377. package/dist/Utils/PinCli.js.map +0 -1
  378. package/dist/Utils/ReadPackageJson.d.ts +0 -9
  379. package/dist/Utils/ReadPackageJson.d.ts.map +0 -1
  380. package/dist/Utils/ReadPackageJson.js +0 -13
  381. package/dist/Utils/ReadPackageJson.js.map +0 -1
  382. package/dist/Utils/RepoDetails.d.ts +0 -29
  383. package/dist/Utils/RepoDetails.d.ts.map +0 -1
  384. package/dist/Utils/RepoDetails.js +0 -37
  385. package/dist/Utils/RepoDetails.js.map +0 -1
  386. package/dist/Utils/RepoOption.d.ts +0 -42
  387. package/dist/Utils/RepoOption.d.ts.map +0 -1
  388. package/dist/Utils/RepoOption.js +0 -63
  389. package/dist/Utils/RepoOption.js.map +0 -1
  390. package/dist/Utils/RepoUrl.d.ts +0 -18
  391. package/dist/Utils/RepoUrl.d.ts.map +0 -1
  392. package/dist/Utils/RepoUrl.js +0 -6
  393. package/dist/Utils/RepoUrl.js.map +0 -1
  394. package/dist/Utils/ResolveCommand.d.ts +0 -62
  395. package/dist/Utils/ResolveCommand.d.ts.map +0 -1
  396. package/dist/Utils/ResolveCommand.js +0 -141
  397. package/dist/Utils/ResolveCommand.js.map +0 -1
  398. package/dist/Utils/RunCommand.d.ts +0 -33
  399. package/dist/Utils/RunCommand.d.ts.map +0 -1
  400. package/dist/Utils/RunCommand.js +0 -83
  401. package/dist/Utils/RunCommand.js.map +0 -1
  402. package/dist/Utils/ShareAccessRouting.d.ts +0 -78
  403. package/dist/Utils/ShareAccessRouting.d.ts.map +0 -1
  404. package/dist/Utils/ShareAccessRouting.js +0 -93
  405. package/dist/Utils/ShareAccessRouting.js.map +0 -1
  406. package/dist/Utils/Spinner.d.ts +0 -23
  407. package/dist/Utils/Spinner.d.ts.map +0 -1
  408. package/dist/Utils/Spinner.js +0 -94
  409. package/dist/Utils/Spinner.js.map +0 -1
  410. package/dist/Utils/zipBuildArtifact.d.ts +0 -35
  411. package/dist/Utils/zipBuildArtifact.d.ts.map +0 -1
  412. package/dist/Utils/zipBuildArtifact.js +0 -100
  413. package/dist/Utils/zipBuildArtifact.js.map +0 -1
  414. package/dist/Verbs/AddAction.d.ts +0 -6
  415. package/dist/Verbs/AddAction.d.ts.map +0 -1
  416. package/dist/Verbs/AddAction.js +0 -59
  417. package/dist/Verbs/AddAction.js.map +0 -1
  418. package/dist/Verbs/AddConnector.d.ts +0 -26
  419. package/dist/Verbs/AddConnector.d.ts.map +0 -1
  420. package/dist/Verbs/AddConnector.js +0 -223
  421. package/dist/Verbs/AddConnector.js.map +0 -1
  422. package/dist/Verbs/AddConnectorFlows.d.ts +0 -97
  423. package/dist/Verbs/AddConnectorFlows.d.ts.map +0 -1
  424. package/dist/Verbs/AddConnectorFlows.js +0 -298
  425. package/dist/Verbs/AddConnectorFlows.js.map +0 -1
  426. package/dist/Verbs/AddDataSource.d.ts +0 -18
  427. package/dist/Verbs/AddDataSource.d.ts.map +0 -1
  428. package/dist/Verbs/AddDataSource.js +0 -163
  429. package/dist/Verbs/AddDataSource.js.map +0 -1
  430. package/dist/Verbs/AddFlow.d.ts +0 -12
  431. package/dist/Verbs/AddFlow.d.ts.map +0 -1
  432. package/dist/Verbs/AddFlow.js +0 -63
  433. package/dist/Verbs/AddFlow.js.map +0 -1
  434. package/dist/Verbs/AddTable.d.ts +0 -6
  435. package/dist/Verbs/AddTable.d.ts.map +0 -1
  436. package/dist/Verbs/AddTable.js +0 -79
  437. package/dist/Verbs/AddTable.js.map +0 -1
  438. package/dist/Verbs/AuthStatus.d.ts +0 -6
  439. package/dist/Verbs/AuthStatus.d.ts.map +0 -1
  440. package/dist/Verbs/AuthStatus.js +0 -49
  441. package/dist/Verbs/AuthStatus.js.map +0 -1
  442. package/dist/Verbs/AuthSwitch.d.ts +0 -6
  443. package/dist/Verbs/AuthSwitch.d.ts.map +0 -1
  444. package/dist/Verbs/AuthSwitch.js +0 -67
  445. package/dist/Verbs/AuthSwitch.js.map +0 -1
  446. package/dist/Verbs/BuildMaafApp.d.ts +0 -6
  447. package/dist/Verbs/BuildMaafApp.d.ts.map +0 -1
  448. package/dist/Verbs/BuildMaafApp.js +0 -171
  449. package/dist/Verbs/BuildMaafApp.js.map +0 -1
  450. package/dist/Verbs/ConnectorHelpers.d.ts +0 -164
  451. package/dist/Verbs/ConnectorHelpers.d.ts.map +0 -1
  452. package/dist/Verbs/ConnectorHelpers.js +0 -563
  453. package/dist/Verbs/ConnectorHelpers.js.map +0 -1
  454. package/dist/Verbs/CreateMaafApp.d.ts +0 -100
  455. package/dist/Verbs/CreateMaafApp.d.ts.map +0 -1
  456. package/dist/Verbs/CreateMaafApp.js +0 -1022
  457. package/dist/Verbs/CreateMaafApp.js.map +0 -1
  458. package/dist/Verbs/DeleteMaafApp.d.ts +0 -27
  459. package/dist/Verbs/DeleteMaafApp.d.ts.map +0 -1
  460. package/dist/Verbs/DeleteMaafApp.js +0 -114
  461. package/dist/Verbs/DeleteMaafApp.js.map +0 -1
  462. package/dist/Verbs/DeployMaafApp.d.ts +0 -6
  463. package/dist/Verbs/DeployMaafApp.d.ts.map +0 -1
  464. package/dist/Verbs/DeployMaafApp.js +0 -495
  465. package/dist/Verbs/DeployMaafApp.js.map +0 -1
  466. package/dist/Verbs/Dev.d.ts +0 -6
  467. package/dist/Verbs/Dev.d.ts.map +0 -1
  468. package/dist/Verbs/Dev.js +0 -276
  469. package/dist/Verbs/Dev.js.map +0 -1
  470. package/dist/Verbs/FindDataverseApi.d.ts +0 -12
  471. package/dist/Verbs/FindDataverseApi.d.ts.map +0 -1
  472. package/dist/Verbs/FindDataverseApi.js +0 -87
  473. package/dist/Verbs/FindDataverseApi.js.map +0 -1
  474. package/dist/Verbs/GetMaafApp.d.ts +0 -6
  475. package/dist/Verbs/GetMaafApp.d.ts.map +0 -1
  476. package/dist/Verbs/GetMaafApp.js +0 -80
  477. package/dist/Verbs/GetMaafApp.js.map +0 -1
  478. package/dist/Verbs/GetMaafBuildStatus.d.ts +0 -6
  479. package/dist/Verbs/GetMaafBuildStatus.d.ts.map +0 -1
  480. package/dist/Verbs/GetMaafBuildStatus.js +0 -132
  481. package/dist/Verbs/GetMaafBuildStatus.js.map +0 -1
  482. package/dist/Verbs/GetSettings.d.ts +0 -12
  483. package/dist/Verbs/GetSettings.d.ts.map +0 -1
  484. package/dist/Verbs/GetSettings.js +0 -39
  485. package/dist/Verbs/GetSettings.js.map +0 -1
  486. package/dist/Verbs/Init.d.ts +0 -6
  487. package/dist/Verbs/Init.d.ts.map +0 -1
  488. package/dist/Verbs/Init.js +0 -453
  489. package/dist/Verbs/Init.js.map +0 -1
  490. package/dist/Verbs/ListConnectionReferences.d.ts +0 -6
  491. package/dist/Verbs/ListConnectionReferences.d.ts.map +0 -1
  492. package/dist/Verbs/ListConnectionReferences.js +0 -56
  493. package/dist/Verbs/ListConnectionReferences.js.map +0 -1
  494. package/dist/Verbs/ListConnectorActions.d.ts +0 -6
  495. package/dist/Verbs/ListConnectorActions.d.ts.map +0 -1
  496. package/dist/Verbs/ListConnectorActions.js +0 -94
  497. package/dist/Verbs/ListConnectorActions.js.map +0 -1
  498. package/dist/Verbs/ListConnectors.d.ts +0 -6
  499. package/dist/Verbs/ListConnectors.d.ts.map +0 -1
  500. package/dist/Verbs/ListConnectors.js +0 -97
  501. package/dist/Verbs/ListConnectors.js.map +0 -1
  502. package/dist/Verbs/ListDatasets.d.ts +0 -6
  503. package/dist/Verbs/ListDatasets.d.ts.map +0 -1
  504. package/dist/Verbs/ListDatasets.js +0 -73
  505. package/dist/Verbs/ListDatasets.js.map +0 -1
  506. package/dist/Verbs/ListEnvironmentVariables.d.ts +0 -14
  507. package/dist/Verbs/ListEnvironmentVariables.d.ts.map +0 -1
  508. package/dist/Verbs/ListEnvironmentVariables.js +0 -52
  509. package/dist/Verbs/ListEnvironmentVariables.js.map +0 -1
  510. package/dist/Verbs/ListFlows.d.ts +0 -13
  511. package/dist/Verbs/ListFlows.d.ts.map +0 -1
  512. package/dist/Verbs/ListFlows.js +0 -73
  513. package/dist/Verbs/ListFlows.js.map +0 -1
  514. package/dist/Verbs/ListMaafApps.d.ts +0 -84
  515. package/dist/Verbs/ListMaafApps.d.ts.map +0 -1
  516. package/dist/Verbs/ListMaafApps.js +0 -221
  517. package/dist/Verbs/ListMaafApps.js.map +0 -1
  518. package/dist/Verbs/ListSqlStoredProcedures.d.ts +0 -6
  519. package/dist/Verbs/ListSqlStoredProcedures.d.ts.map +0 -1
  520. package/dist/Verbs/ListSqlStoredProcedures.js +0 -75
  521. package/dist/Verbs/ListSqlStoredProcedures.js.map +0 -1
  522. package/dist/Verbs/ListTables.d.ts +0 -6
  523. package/dist/Verbs/ListTables.d.ts.map +0 -1
  524. package/dist/Verbs/ListTables.js +0 -85
  525. package/dist/Verbs/ListTables.js.map +0 -1
  526. package/dist/Verbs/Login.d.ts +0 -6
  527. package/dist/Verbs/Login.d.ts.map +0 -1
  528. package/dist/Verbs/Login.js +0 -39
  529. package/dist/Verbs/Login.js.map +0 -1
  530. package/dist/Verbs/Logout.d.ts +0 -6
  531. package/dist/Verbs/Logout.d.ts.map +0 -1
  532. package/dist/Verbs/Logout.js +0 -34
  533. package/dist/Verbs/Logout.js.map +0 -1
  534. package/dist/Verbs/MaafAppPermissions.d.ts +0 -40
  535. package/dist/Verbs/MaafAppPermissions.d.ts.map +0 -1
  536. package/dist/Verbs/MaafAppPermissions.js +0 -651
  537. package/dist/Verbs/MaafAppPermissions.js.map +0 -1
  538. package/dist/Verbs/Pack.d.ts +0 -71
  539. package/dist/Verbs/Pack.d.ts.map +0 -1
  540. package/dist/Verbs/Pack.js +0 -370
  541. package/dist/Verbs/Pack.js.map +0 -1
  542. package/dist/Verbs/PlayMaafApp.d.ts +0 -22
  543. package/dist/Verbs/PlayMaafApp.d.ts.map +0 -1
  544. package/dist/Verbs/PlayMaafApp.js +0 -147
  545. package/dist/Verbs/PlayMaafApp.js.map +0 -1
  546. package/dist/Verbs/RefreshDataSource.d.ts +0 -21
  547. package/dist/Verbs/RefreshDataSource.d.ts.map +0 -1
  548. package/dist/Verbs/RefreshDataSource.js +0 -89
  549. package/dist/Verbs/RefreshDataSource.js.map +0 -1
  550. package/dist/Verbs/RefreshGitAuth.d.ts +0 -6
  551. package/dist/Verbs/RefreshGitAuth.d.ts.map +0 -1
  552. package/dist/Verbs/RefreshGitAuth.js +0 -155
  553. package/dist/Verbs/RefreshGitAuth.js.map +0 -1
  554. package/dist/Verbs/RemoveDataSource.d.ts +0 -6
  555. package/dist/Verbs/RemoveDataSource.d.ts.map +0 -1
  556. package/dist/Verbs/RemoveDataSource.js +0 -173
  557. package/dist/Verbs/RemoveDataSource.js.map +0 -1
  558. package/dist/Verbs/RemoveFlow.d.ts +0 -12
  559. package/dist/Verbs/RemoveFlow.d.ts.map +0 -1
  560. package/dist/Verbs/RemoveFlow.js +0 -95
  561. package/dist/Verbs/RemoveFlow.js.map +0 -1
  562. package/dist/Verbs/SetSetting.d.ts +0 -12
  563. package/dist/Verbs/SetSetting.d.ts.map +0 -1
  564. package/dist/Verbs/SetSetting.js +0 -133
  565. package/dist/Verbs/SetSetting.js.map +0 -1
  566. package/dist/Verbs/ShareLinkCreate.d.ts +0 -23
  567. package/dist/Verbs/ShareLinkCreate.d.ts.map +0 -1
  568. package/dist/Verbs/ShareLinkCreate.js +0 -73
  569. package/dist/Verbs/ShareLinkCreate.js.map +0 -1
  570. package/dist/Verbs/ShareLinkList.d.ts +0 -16
  571. package/dist/Verbs/ShareLinkList.d.ts.map +0 -1
  572. package/dist/Verbs/ShareLinkList.js +0 -84
  573. package/dist/Verbs/ShareLinkList.js.map +0 -1
  574. package/dist/Verbs/ShareLinkRevoke.d.ts +0 -22
  575. package/dist/Verbs/ShareLinkRevoke.d.ts.map +0 -1
  576. package/dist/Verbs/ShareLinkRevoke.js +0 -137
  577. package/dist/Verbs/ShareLinkRevoke.js.map +0 -1
  578. package/dist/Verbs/ShareList.d.ts +0 -10
  579. package/dist/Verbs/ShareList.d.ts.map +0 -1
  580. package/dist/Verbs/ShareList.js +0 -254
  581. package/dist/Verbs/ShareList.js.map +0 -1
  582. package/dist/Verbs/ShareMaafApp.d.ts +0 -12
  583. package/dist/Verbs/ShareMaafApp.d.ts.map +0 -1
  584. package/dist/Verbs/ShareMaafApp.js +0 -14
  585. package/dist/Verbs/ShareMaafApp.js.map +0 -1
  586. package/dist/Verbs/ShowMaafApp.d.ts +0 -100
  587. package/dist/Verbs/ShowMaafApp.d.ts.map +0 -1
  588. package/dist/Verbs/ShowMaafApp.js +0 -224
  589. package/dist/Verbs/ShowMaafApp.js.map +0 -1
  590. package/dist/Verbs/TelemetrySettings.d.ts +0 -8
  591. package/dist/Verbs/TelemetrySettings.d.ts.map +0 -1
  592. package/dist/Verbs/TelemetrySettings.js +0 -104
  593. package/dist/Verbs/TelemetrySettings.js.map +0 -1
  594. package/dist/Verbs/UnshareMaafApp.d.ts +0 -12
  595. package/dist/Verbs/UnshareMaafApp.d.ts.map +0 -1
  596. package/dist/Verbs/UnshareMaafApp.js +0 -14
  597. package/dist/Verbs/UnshareMaafApp.js.map +0 -1
  598. package/dist/Verbs/VerbConstants.d.ts +0 -629
  599. package/dist/Verbs/VerbConstants.d.ts.map +0 -1
  600. package/dist/Verbs/VerbConstants.js +0 -559
  601. package/dist/Verbs/VerbConstants.js.map +0 -1
  602. package/dist/Verbs/index.d.ts +0 -47
  603. package/dist/Verbs/index.d.ts.map +0 -1
  604. package/dist/Verbs/index.js +0 -47
  605. package/dist/Verbs/index.js.map +0 -1
@@ -1,563 +0,0 @@
1
- /*!
2
- * Copyright (C) Microsoft Corporation. All rights reserved.
3
- */
4
- import { connectorSupportsSso, createConnectionAsync, getConnectorAsync, getEffectiveConnectorDataPolicyAsync, getPlayerServiceConfig, isSsoConnection, isSsoOnlyConnector, listConnectionsForConnectorAsync, listConnectorsServiceAsync, requestConnectionUserConsentAsync, } from '@microsoft/managed-apps-actions';
5
- import { createMaafConnectionUrl, HttpClientError } from '@microsoft/managed-apps-common/services';
6
- import * as http from 'http';
7
- import open from 'open';
8
- import { getCliLogger, getSettings } from '../CliSettings.js';
9
- import { promptSelect } from '../CliUtils.js';
10
- import { CLI_BINARY_NAME } from '../Constants/CliConstants.js';
11
- import { AppError, NotFoundError, UsageError } from '../Errors/CliError.js';
12
- import { printInfo, printSuccess, printTable, printWarning } from '../Utils/ConsoleOutput.js';
13
- import { getCliEnvVarBool } from '../Utils/EnvVars.js';
14
- const ALLOW_ALL_POLICY = {
15
- defaultBehavior: 'Allow',
16
- allowedConnectors: [],
17
- };
18
- /**
19
- * Resolves a raw `--connector` argument to a canonical connector API ID.
20
- *
21
- * - If `input` starts with `shared_` → returned unchanged (fast path, no network call).
22
- * - Otherwise the full connector list is fetched. Resolution proceeds in two passes:
23
- * 1. **Exact match** (case-insensitive `displayName === input`).
24
- * 2. **Partial match** (case-insensitive `displayName.includes(input)`) —
25
- * only attempted when the exact pass yields zero results.
26
- *
27
- * Outcomes:
28
- * - One candidate → returns the connector's `name` (its API ID).
29
- * A notice is printed when the match was partial.
30
- * - Multiple matches → throws `UsageError` with a disambiguation list.
31
- * - Zero matches → returns `input` unchanged so that bare aliases
32
- * such as `commondataserviceforapps` are still
33
- * accepted by the downstream `getConnectorAsync`.
34
- */
35
- export async function resolveConnectorIdAsync(input, logger) {
36
- // Fast path: already a canonical ID format — no network call needed.
37
- if (input.toLowerCase().startsWith('shared_')) {
38
- return input;
39
- }
40
- // Fetch the full connector list and try to resolve the input as a display name.
41
- // This covers exact names ("Office 365 Users"), partial names ("Office 365"),
42
- // and single-word partials ("office") — giving a clear disambiguation error
43
- // instead of a cryptic API rejection. Zero matches fall through to getConnectorAsync
44
- // so bare aliases like `commondataserviceforapps` continue to work.
45
- const connectors = await listConnectorsServiceAsync(undefined, logger ?? undefined);
46
- const lower = input.toLowerCase();
47
- // Pass 1: exact display name match (case-insensitive).
48
- const exactMatches = connectors.filter((c) => c.properties.displayName.toLowerCase() === lower);
49
- // Pass 2: partial (contains) match, only when exact pass found nothing.
50
- const isPartial = exactMatches.length === 0;
51
- const candidates = isPartial
52
- ? connectors.filter((c) => c.properties.displayName.toLowerCase().includes(lower))
53
- : exactMatches;
54
- if (candidates.length === 0) {
55
- // No match — pass through unchanged (bare alias or will fail downstream with a clear error).
56
- return input;
57
- }
58
- if (candidates.length === 1) {
59
- // Unambiguous — print a notice when the match was partial so the user knows what was resolved.
60
- if (isPartial) {
61
- printInfo(`Resolved '${input}' → '${candidates[0].properties.displayName}' (${candidates[0].name})`);
62
- }
63
- return candidates[0].name;
64
- }
65
- // Multiple candidates — surface them so the user can specify an exact ID.
66
- const idList = candidates.map((c) => ` ${c.name} (${c.properties.displayName})`).join('\n');
67
- throw new UsageError(`Multiple connectors match '${input}'. Specify the connector ID directly:\n${idList}`);
68
- }
69
- const CREATE_NEW_CONNECTION = '__create__';
70
- const CONNECTION_CREATION_TIMEOUT_MS = 10 * 60 * 1000; // 10 minutes
71
- const PROTOCOL_VERSION = '1';
72
- /**
73
- * Preflight step shared by `app add action` and `app add table`. Fetches the
74
- * connector and effective connector policy in parallel, then enforces the policy.
75
- *
76
- * Failure modes:
77
- * - tenantId missing: surfaces a `DlpSkippedNoTenantId` telemetry event and a
78
- * user-visible warning, then degrades to "allow all" so the verb can still
79
- * proceed (the alternative — failing — would block users in auth states
80
- * where tenant resolution legitimately can't happen).
81
- * - Policy fetch error: relies on `getEffectiveConnectorDataPolicyAsync`'s own
82
- * `scenario.failure` telemetry; we only print a user warning and degrade
83
- * to "allow all" rather than re-emitting a duplicate error event.
84
- *
85
- * Throws `NotFoundError` when the connector itself cannot be found, and
86
- * `UsageError` when the connector is blocked by the effective connector policy.
87
- */
88
- export async function runConnectorDlpPreflightAsync(argumentProvider, apiId) {
89
- const logger = getCliLogger();
90
- const tenantId = await argumentProvider.getTenantIdAsync();
91
- if (!tenantId) {
92
- logger.trackErrorEvent('DlpSkippedNoTenantId', { apiId });
93
- printWarning(`Could not resolve tenant ID; skipping connector policy check. Sign in with '${CLI_BINARY_NAME} auth login' for full enforcement.`);
94
- }
95
- const [connector, policy] = await Promise.all([
96
- getConnectorAsync(apiId, logger),
97
- tenantId
98
- ? getEffectiveConnectorDataPolicyAsync(logger, tenantId).catch(() => {
99
- // GovernanceService already records `scenario.failure` internally,
100
- // so we don't re-emit telemetry here — just surface the warning
101
- // and degrade to allow-all.
102
- printWarning('Could not verify connector policy; proceeding without enforcement.');
103
- return ALLOW_ALL_POLICY;
104
- })
105
- : Promise.resolve(ALLOW_ALL_POLICY),
106
- ]);
107
- if (!connector) {
108
- throw new NotFoundError(`Connector '${apiId}' not found. Run '${CLI_BINARY_NAME} connector list' to see available connector IDs.`);
109
- }
110
- const shortName = (connector.name ?? apiId).toLowerCase();
111
- const allowedMap = new Map(policy.allowedConnectors.map((e) => [e.connectorId.toLowerCase(), e]));
112
- const blockedSet = new Set((policy.blockedConnectors ?? []).map((e) => e.connectorId.toLowerCase()));
113
- const isBlocked = policy.defaultBehavior === 'Block' ? !allowedMap.has(shortName) : blockedSet.has(shortName);
114
- if (isBlocked) {
115
- throw new UsageError(`Connector '${connector.properties.displayName ?? apiId}' is blocked by your organization's connector policy.`);
116
- }
117
- return { connector, tenantId, policy };
118
- }
119
- /**
120
- * Resolves a connection for a connector, choosing the strategy based on mode.
121
- *
122
- * Interactive mode: lists existing connections and prompts the user to pick one
123
- * (or create a new one).
124
- *
125
- * Non-interactive mode (deterministic auto-resolution — see
126
- * {@link resolveConnectionNonInteractivelyAsync}): reuses the sole existing
127
- * connection, silently creates one for SSO-only connectors when none exist,
128
- * prints the connection table and errors when multiple connections are ambiguous,
129
- * or errors without a table when zero connections exist for a non-auto-creatable
130
- * connector.
131
- *
132
- * `--use-sso` (`useSso`) short-circuits both modes: it reuses the first existing
133
- * SSO connection when one exists, otherwise silently creates one via the OBO
134
- * flow (even when non-SSO connections already exist). It errors up front when the
135
- * connector cannot use SSO at all. In interactive mode it skips the picker.
136
- */
137
- export async function resolveConnectionAsync(options) {
138
- const { argumentProvider, apiId, connector, useSso } = options;
139
- const settings = getSettings();
140
- const logger = getCliLogger();
141
- const playerServiceConfig = getPlayerServiceConfig();
142
- const connections = await listConnectionsForConnectorAsync(apiId, logger);
143
- if (!settings.interactive) {
144
- return resolveConnectionNonInteractivelyAsync({
145
- argumentProvider,
146
- apiId,
147
- connector,
148
- connections: connections ?? [],
149
- useSso,
150
- });
151
- }
152
- // `--use-sso` in interactive mode: skip the connection picker and use SSO
153
- // deterministically. Reuse the first existing SSO connection if any exist;
154
- // otherwise silently create one via the on-behalf-of flow. Errors up front
155
- // when the connector cannot use SSO at all.
156
- if (useSso) {
157
- if (!connectorSupportsSso(connector)) {
158
- throw new UsageError(`--use-sso was set but '${connector.properties.displayName ?? apiId}' does not support ` +
159
- `single sign-on (SSO) authentication.\n` +
160
- ` To fix: Re-run without --use-sso to create a connection interactively.`);
161
- }
162
- const ssoConnections = (connections ?? []).filter((c) => isSsoConnection(c, connector));
163
- if (ssoConnections.length > 0) {
164
- const [first] = ssoConnections;
165
- printInfo(`Using existing SSO connection '${first.properties.displayName}' (${first.name}).`);
166
- if (ssoConnections.length > 1) {
167
- printWarning(`Multiple SSO connections found for '${connector.properties.displayName ?? apiId}'. ` +
168
- `Re-run with --connection-id <id> or -c <id> to use a specific one.`);
169
- }
170
- return { connectionId: first.name, autoSelected: true };
171
- }
172
- const created = await createSsoConnectionAsync(argumentProvider, apiId);
173
- printSuccess(`Created a new connection '${created.properties.displayName}' (${created.name}).`);
174
- return { connectionId: created.name, autoSelected: false };
175
- }
176
- const choices = [
177
- ...connections.map((c) => ({
178
- value: c.name,
179
- label: c.properties.displayName,
180
- hint: c.name,
181
- })),
182
- { value: CREATE_NEW_CONNECTION, label: '(Create a new connection)' },
183
- ];
184
- const selected = await promptSelect({
185
- message: 'Select a connection:',
186
- options: choices,
187
- });
188
- if (selected === CREATE_NEW_CONNECTION) {
189
- // Only attempt SSO when the connector has a single auth type that is SSO-eligible.
190
- // Connectors with multiple auth types need the browser flow so the user can choose.
191
- if (isSsoOnlyConnector(connector)) {
192
- try {
193
- const newConnection = await createSsoConnectionAsync(argumentProvider, apiId);
194
- return { connectionId: newConnection.name, autoSelected: false };
195
- }
196
- catch (ssoError) {
197
- printWarning(`Silent connection creation failed: ${ssoError instanceof Error ? ssoError.message : String(ssoError)}`);
198
- printInfo('Falling back to browser-based connection creation...\n');
199
- }
200
- }
201
- else {
202
- printInfo('This connector requires manual interaction. Opening browser for connection creation...\n');
203
- }
204
- // Browser-based fallback: open the maaf-player connection dialog
205
- const connectorName = apiId.startsWith('shared_') ? apiId : `shared_${apiId}`;
206
- const environmentId = argumentProvider.getEnvironmentId();
207
- if (!environmentId) {
208
- throw new UsageError('Missing required information. Make sure you are running this command in a Managed Apps directory.');
209
- }
210
- const result = await startConnectionServerAsync({
211
- connectorName,
212
- region: playerServiceConfig.region,
213
- environmentId,
214
- });
215
- if (result.status === 'created' && result.connectionName) {
216
- printSuccess('Connection created successfully!');
217
- if (result.displayName) {
218
- printInfo(` Display Name: ${result.displayName}`);
219
- }
220
- printInfo(` Connection ID: ${result.connectionName}`);
221
- return { connectionId: result.connectionName, autoSelected: false };
222
- }
223
- else if (result.status === 'error') {
224
- throw new AppError(result.errorMessage ?? 'Connection creation failed in the browser.');
225
- }
226
- else {
227
- throw new UsageError('Connection creation was cancelled.');
228
- }
229
- }
230
- return { connectionId: selected, autoSelected: false };
231
- }
232
- /**
233
- * Deterministic connection resolution for non-interactive mode (the default —
234
- * no flag required). Runs when `--connection-id` was not supplied.
235
- *
236
- * When `--use-sso` (`useSso`) is set, an SSO-specific path takes precedence over
237
- * all cases below:
238
- * - Connector not SSO-capable → `UsageError` up front (the flag cannot be
239
- * satisfied).
240
- * - One or more existing **SSO** connections → reuse the first one. This is an
241
- * explicit opt-in to picking an SSO connection, so it is safe even when
242
- * multiple connections (SSO or not) exist — no ambiguity error.
243
- * - No existing SSO connection → create one silently via the OBO flow
244
- * ({@link createSsoConnectionAsync}), even when non-SSO connections exist.
245
- *
246
- * Otherwise (no `--use-sso`):
247
- * 1. **Exactly one** existing connection → reuse it. There is no ambiguity, so
248
- * this is safe for automation and never binds to an arbitrarily-chosen
249
- * identity. A confirmation line is printed to stdout.
250
- * 2. **Zero** connections **and** an **SSO-only** connector → create one
251
- * silently via the OBO flow ({@link createSsoConnectionAsync}). A
252
- * confirmation line is printed to stdout.
253
- * 3. **Multiple** connections (ambiguous) → print the connection table to stdout
254
- * so the user can copy an ID, then throw a `UsageError` directing them to
255
- * select one via `--connection-id` (or interactively).
256
- * 4. **Zero** connections **and** a connector that needs credentials/a browser
257
- * (not auto-creatable) → throw a `UsageError` directing them to create one
258
- * interactively. No table is printed — there is nothing to show.
259
- *
260
- * Success paths print to stdout; failure paths surface their message via the
261
- * thrown `UsageError` (rendered to stderr by the top-level handler).
262
- */
263
- async function resolveConnectionNonInteractivelyAsync(options) {
264
- const { argumentProvider, apiId, connector, connections, useSso } = options;
265
- const label = connector.properties.displayName ?? apiId;
266
- // `--use-sso`: force an SSO connection deterministically, taking precedence
267
- // over the default cases below.
268
- // - Not SSO-capable → error up front (the flag cannot be satisfied).
269
- // - One or more existing SSO connections → reuse the first. This is an
270
- // explicit opt-in to picking an SSO connection, so it is safe even when
271
- // multiple connections (SSO or not) exist.
272
- // - No existing SSO connection → create one silently via the OBO flow, even
273
- // when non-SSO connections already exist.
274
- if (useSso) {
275
- if (!connectorSupportsSso(connector)) {
276
- throw new UsageError(`--use-sso was set but '${label}' does not support single sign-on (SSO) authentication.\n` +
277
- ` To fix: Re-run without both --use-sso and --non-interactive to create a connection interactively.`);
278
- }
279
- const ssoConnections = connections.filter((c) => isSsoConnection(c, connector));
280
- if (ssoConnections.length > 0) {
281
- const [first] = ssoConnections;
282
- printInfo(`Using existing SSO connection '${first.properties.displayName}' (${first.name}).`);
283
- if (ssoConnections.length > 1) {
284
- printWarning(`Multiple SSO connections found for '${label}'. ` +
285
- `Re-run with --connection-id <id> or -c <id> to use a specific one.`);
286
- }
287
- return { connectionId: first.name, autoSelected: true };
288
- }
289
- try {
290
- const created = await createSsoConnectionAsync(argumentProvider, apiId);
291
- printSuccess(`Created a new connection '${created.properties.displayName}' (${created.name}).`);
292
- return { connectionId: created.name, autoSelected: false };
293
- }
294
- catch (ssoError) {
295
- const detail = ssoError instanceof Error ? ssoError.message : String(ssoError);
296
- throw new UsageError(`No SSO connection exists for '${label}' and automatic connection creation failed.\n` +
297
- ` Reason: ${detail}\n` +
298
- ` To fix: Create one interactively (re-run without --non-interactive),\n` +
299
- ` then re-run with --connection-id <id> or -c <id>.`);
300
- }
301
- }
302
- // 1. Exactly one existing connection → reuse it (deterministic, no side effect).
303
- if (connections.length === 1) {
304
- const [only] = connections;
305
- printInfo(`Using existing connection '${only.properties.displayName}' (${only.name}).`);
306
- return { connectionId: only.name, autoSelected: true };
307
- }
308
- // 2. No existing connection + auto-creatable via SSO → create one silently.
309
- // Only SSO-only connectors here; the broader --use-sso path is handled above.
310
- const canAutoCreateSso = connections.length === 0 && isSsoOnlyConnector(connector);
311
- if (canAutoCreateSso) {
312
- try {
313
- const created = await createSsoConnectionAsync(argumentProvider, apiId);
314
- printSuccess(`Created a new connection '${created.properties.displayName}' (${created.name}).`);
315
- return { connectionId: created.name, autoSelected: false };
316
- }
317
- catch (ssoError) {
318
- const detail = ssoError instanceof Error ? ssoError.message : String(ssoError);
319
- throw new UsageError(`No connection exists for '${label}' and automatic connection creation failed.\n` +
320
- ` Reason: ${detail}\n` +
321
- ` To fix: Create one interactively (re-run without --non-interactive),\n` +
322
- ` then re-run with --connection-id <id> or -c <id>.`);
323
- }
324
- }
325
- // 3. Ambiguous — multiple connections exist. Print the list so the user can
326
- // copy an ID, then error. Auto-selecting would bind to an arbitrary identity.
327
- if (connections.length > 1) {
328
- printTable({
329
- title: `Available connections for ${label}`,
330
- columns: [{ header: 'Display Name', maxWidth: 40 }, { header: 'Connection ID' }],
331
- rows: connections.map((c) => [c.properties.displayName, c.name]),
332
- totalLabel: 'connection(s) found',
333
- });
334
- throw new UsageError(`Multiple connections exist for '${label}', so one cannot be selected automatically.\n` +
335
- ` To fix: Re-run with --connection-id <id> or -c <id> to choose one,\n` +
336
- ` or re-run without --non-interactive to select one interactively.`);
337
- }
338
- // 4. Zero connections for a connector that cannot be auto-created (needs
339
- // credentials, a browser, or has multiple auth types). No table to show.
340
- throw new UsageError(`'${label}' requires a connection that cannot be created automatically in non-interactive mode.\n` +
341
- ` To fix: Create one interactively (re-run without --non-interactive),\n` +
342
- ` then re-run with --connection-id <id> or -c <id>.\n` +
343
- ` Tip: Run '${CLI_BINARY_NAME} connector list' to browse available connectors.`);
344
- }
345
- /**
346
- * Creates and authenticates a new SSO connection for an SSO-eligible connector
347
- * using the on-behalf-of flow. Shared by the interactive "(Create a new
348
- * connection)" path and the non-interactive auto-create path. Callers must first
349
- * confirm the connector is SSO-eligible via `isSsoOnlyConnector` (default gate)
350
- * or `connectorSupportsSso` (the `--use-sso` gate). For multi-auth connectors the
351
- * underlying `validateSsoEligible` selects the first SSO-eligible parameter set.
352
- */
353
- async function createSsoConnectionAsync(argumentProvider, apiId) {
354
- const logger = getCliLogger();
355
- const playerServiceConfig = getPlayerServiceConfig();
356
- return createConnectionAsync({
357
- authProvider: argumentProvider.getAuthenticationProvider(),
358
- region: playerServiceConfig.region,
359
- environmentName: playerServiceConfig.environmentName,
360
- actionsParams: { connectorId: apiId },
361
- logger,
362
- });
363
- }
364
- /**
365
- * Builds a remediation hint to append to a downstream failure when the connection
366
- * was **auto-selected** (no `--connection-id` was provided) rather than explicitly
367
- * chosen — either the sole connection for the connector, or the first SSO
368
- * connection under `--use-sso`. For tabular connectors the connection needs to
369
- * have access to the target resource, so a failure may not clearly indicate the
370
- * root cause — this spells out both possibilities so an operator or agent can act.
371
- */
372
- export function autoSelectedConnectionHint(connectionId, connectorLabel) {
373
- return (`Note: connection '${connectionId}' was auto-selected for connector '${connectorLabel}' ` +
374
- `because no --connection-id was provided. For tabular connectors, the connection needs to ` +
375
- `have access to the target resource, so this failure may not clearly indicate the root cause:\n` +
376
- ` - If the connection is broken or expired, re-authenticate it and re-run.\n` +
377
- ` - If the connection is valid but targets the wrong resource, re-run with an explicit ` +
378
- `--connection-id <id> for the intended resource.`);
379
- }
380
- /**
381
- * Runs a downstream connector API call and, when the connection was
382
- * auto-selected, appends {@link autoSelectedConnectionHint} to the error message
383
- * on failure. The original error instance is preserved (message is mutated in
384
- * place) so its type and `exitCode` survive to the top-level handler.
385
- *
386
- * `UsageError`s are left untouched — they are the CLI's own control-flow errors
387
- * ("re-run with --dataset"), not backend failures, so the connection hint would
388
- * be noise.
389
- */
390
- export async function withAutoSelectedConnectionHintAsync(op, context) {
391
- try {
392
- return await op();
393
- }
394
- catch (err) {
395
- if (context.autoSelected && err instanceof Error && !(err instanceof UsageError)) {
396
- err.message = `${err.message}\n\n${autoSelectedConnectionHint(context.connectionId, context.connectorLabel)}`;
397
- }
398
- throw err;
399
- }
400
- }
401
- /**
402
- * Best-effort request that the calling application be added to a connection's
403
- * API Hubs ACL via the Power Platform user-consent endpoint. The server reads
404
- * the calling app's `appid` from the bearer token, and the gateway resolves
405
- * tenant + environment from the auth context and its routing config — so the
406
- * CLI only needs to supply connector + connection identifiers, no body.
407
- *
408
- * Gating: requires the opt-in feature flag
409
- * `MS_CLI_ENABLE_CONNECTOR_USER_CONSENT=true` (off by default while the
410
- * consent endpoint is rolling out). When the flag is unset, the call is
411
- * silently skipped — no warning, no telemetry, no HTTP traffic.
412
- *
413
- * Failure modes:
414
- * - HTTP 403: emits a permission-specific warning explaining that the tenant
415
- * admin must grant the calling app the
416
- * `Connectivity.Connections.UserConsent` delegated permission, then returns.
417
- * - Any other HTTP / network error: surfaces a generic warning and returns.
418
- * The underlying `ConnectivityService` already records its own
419
- * `scenario.failure` telemetry, so this helper doesn't re-emit a duplicate
420
- * error event.
421
- *
422
- * Silent on success: a 200 OK does not guarantee the ACL was modified (the
423
- * server has feature-gated silent-skip paths), so the success path emits no
424
- * user-facing message.
425
- *
426
- * Never throws.
427
- */
428
- export async function requestCliUserConsentAsync(opts) {
429
- if (!getCliEnvVarBool('ENABLE_CONNECTOR_USER_CONSENT')) {
430
- return;
431
- }
432
- const { apiId, connectionId } = opts;
433
- const logger = getCliLogger();
434
- const scenario = logger.trackScenario('ConnectorUserConsent', { apiId, connectionId });
435
- try {
436
- await requestConnectionUserConsentAsync(apiId, connectionId, logger);
437
- scenario.complete();
438
- }
439
- catch (error) {
440
- if (error instanceof HttpClientError && error.status === 403) {
441
- scenario.failure(error);
442
- printWarning(`Could not request user consent on connection '${connectionId}' (HTTP 403). ` +
443
- `The data source was added, but later calls against this connection may fail until ` +
444
- `your tenant admin grants the calling application the ` +
445
- `'Connectivity.Connections.UserConsent' delegated permission.`);
446
- return;
447
- }
448
- scenario.failure(error);
449
- const message = error instanceof Error ? error.message : String(error);
450
- printWarning(`Could not request user consent on connection '${connectionId}': ${message}. ` +
451
- `The data source was added, but later calls against this connection may fail.`);
452
- }
453
- }
454
- /**
455
- * Starts a local HTTP server, opens the maaf-player connection page in the
456
- * browser, and waits for a callback with the result. Uses the same pattern
457
- * as an OAuth authorization code flow: nonce for CSRF, protocol version for
458
- * drift detection, and a timeout for cleanup.
459
- */
460
- export async function startConnectionServerAsync(config) {
461
- const { connectorName, region, environmentId } = config;
462
- const nonce = crypto.randomUUID();
463
- return new Promise((resolve, reject) => {
464
- const server = http.createServer((req, res) => {
465
- const url = new URL(req.url ?? '/', `http://localhost`);
466
- if (url.pathname === '/callback' && req.method === 'GET') {
467
- const queryNonce = url.searchParams.get('nonce');
468
- if (queryNonce !== nonce) {
469
- res.writeHead(403, { 'Content-Type': 'text/html; charset=utf-8' });
470
- res.end('<html><body><h2>Connection request verification failed. Please run the CLI command again.</h2></body></html>');
471
- cleanup();
472
- resolve({ status: 'cancelled' });
473
- return;
474
- }
475
- const callbackVersion = url.searchParams.get('v');
476
- if (callbackVersion !== PROTOCOL_VERSION) {
477
- printWarning(`Warning: callback protocol version mismatch (expected ${PROTOCOL_VERSION}, got ${callbackVersion ?? 'none'}). Update the CLI to the latest version.`);
478
- }
479
- const status = url.searchParams.get('status');
480
- const errorMessage = url.searchParams.get('message') ?? undefined;
481
- res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
482
- let tabHtml;
483
- if (status === 'created') {
484
- tabHtml =
485
- '<html><body><h2>Connection created! You can close this tab.</h2></body></html>';
486
- }
487
- else if (status === 'error') {
488
- const safeMessage = errorMessage
489
- ? errorMessage.replace(/[&<>"']/g, (c) => `&#${c.charCodeAt(0)};`)
490
- : '';
491
- tabHtml = safeMessage
492
- ? `<html><body><h2>Connection creation failed. You can close this tab.</h2><p>${safeMessage}</p></body></html>`
493
- : '<html><body><h2>Connection creation failed. You can close this tab.</h2></body></html>';
494
- }
495
- else {
496
- tabHtml =
497
- '<html><body><h2>Connection creation cancelled. You can close this tab.</h2></body></html>';
498
- }
499
- res.end(tabHtml);
500
- cleanup();
501
- if (status === 'created') {
502
- resolve({
503
- status: 'created',
504
- connectionId: url.searchParams.get('connectionId') ?? undefined,
505
- connectionName: url.searchParams.get('connectionName') ?? undefined,
506
- displayName: url.searchParams.get('displayName') ?? undefined,
507
- });
508
- }
509
- else if (status === 'error') {
510
- resolve({ status: 'error', errorMessage });
511
- }
512
- else {
513
- resolve({ status: 'cancelled' });
514
- }
515
- return;
516
- }
517
- res.writeHead(404);
518
- res.end('Not found');
519
- });
520
- // Listen on port 0 to let the OS assign an available port
521
- server.listen(0, 'localhost', async () => {
522
- const address = server.address();
523
- const port = typeof address === 'object' && address ? address.port : 0;
524
- const callbackUrl = `http://localhost:${port}/callback`;
525
- const playerUrl = createMaafConnectionUrl(region, {
526
- connector: connectorName,
527
- callbackUrl,
528
- nonce,
529
- protocolVersion: PROTOCOL_VERSION,
530
- environmentId,
531
- });
532
- printInfo(`Opening browser at ${playerUrl}`);
533
- try {
534
- await open(playerUrl, { wait: false });
535
- }
536
- catch {
537
- printInfo(`Could not open browser automatically. Please navigate to:\n ${playerUrl}`);
538
- }
539
- printInfo('Waiting for connection creation... (press Ctrl+C to cancel)\n');
540
- });
541
- server.on('error', (error) => {
542
- cleanup();
543
- reject(error);
544
- });
545
- const timeoutId = setTimeout(() => {
546
- printInfo('\nConnection creation timed out after 10 minutes.');
547
- cleanup();
548
- resolve({ status: 'cancelled' });
549
- }, CONNECTION_CREATION_TIMEOUT_MS);
550
- const sigintHandler = () => {
551
- printInfo('\nCancelling...');
552
- cleanup();
553
- resolve({ status: 'cancelled' });
554
- };
555
- function cleanup() {
556
- clearTimeout(timeoutId);
557
- process.off('SIGINT', sigintHandler);
558
- server.close();
559
- }
560
- process.on('SIGINT', sigintHandler);
561
- });
562
- }
563
- //# sourceMappingURL=ConnectorHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConnectorHelpers.js","sourceRoot":"","sources":["../../src/Verbs/ConnectorHelpers.ts"],"names":[],"mappings":"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"}