@microsoft/managed-apps-cli 0.19.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 (606) hide show
  1. package/LICENSE +17 -149
  2. package/THIRD-PARTY-NOTICES.txt +9549 -0
  3. package/dist/AddConnector-4AMM746J.js +41 -0
  4. package/dist/AuthStatus-ZZIP3LBD.js +11 -0
  5. package/dist/AuthSwitch-HK7JU2FR.js +13 -0
  6. package/dist/Bin.js +8 -3
  7. package/dist/BuildMaafApp-MOTZOLJZ.js +11 -0
  8. package/dist/Cli-6CCXMCPX.js +54 -0
  9. package/dist/CreateMaafApp-TUO72CW7.js +20 -0
  10. package/dist/DeleteMaafApp-MZVGIAX3.js +11 -0
  11. package/dist/DeployMaafApp-KXATM3E3.js +14 -0
  12. package/dist/Dev-SHIA5S7X.js +14 -0
  13. package/dist/EnvironmentVariableAuthenticationProvider-5YTMRAE4.js +11 -0
  14. package/dist/GetMaafApp-ELB5KMHW.js +11 -0
  15. package/dist/GetMaafBuildStatus-3W7LI5TJ.js +11 -0
  16. package/dist/GetSettings-NM6H2U5F.js +11 -0
  17. package/dist/Init-CH5DUQWA.js +11 -0
  18. package/dist/ListConnectorActions-7SIFGPYR.js +11 -0
  19. package/dist/ListConnectors-TRKIWRVQ.js +11 -0
  20. package/dist/ListMaafApps-RT3PGZSJ.js +11 -0
  21. package/dist/Login-HG5S7LBC.js +11 -0
  22. package/dist/Logout-BUPHLOAH.js +11 -0
  23. package/dist/MockFetch-4CYTSNJ7.js +13 -0
  24. package/dist/NoOpAuthenticationProvider-DX3XNXF5.js +11 -0
  25. package/dist/NodeMsalAuthenticationProvider-HTH3V3G2.js +17 -0
  26. package/dist/Pack-AHKC2MYF.js +8 -0
  27. package/dist/PlayMaafApp-LWKJU2IN.js +12 -0
  28. package/dist/RefreshDataSource-ZFZJXJ5L.js +11 -0
  29. package/dist/RefreshGitAuth-5A3SX2HC.js +11 -0
  30. package/dist/RemoveDataSource-57JJLK5I.js +14 -0
  31. package/dist/ServicePrincipalAuthenticationProvider-SVKDZG6X.js +11 -0
  32. package/dist/SetSetting-RB3F7IXG.js +11 -0
  33. package/dist/ShareLinkCreate-7BCDPWY6.js +11 -0
  34. package/dist/ShareLinkList-4BI3WMNN.js +11 -0
  35. package/dist/ShareLinkRevoke-EEJVCRCY.js +11 -0
  36. package/dist/ShareList-LJDAEGI3.js +11 -0
  37. package/dist/ShareMaafApp-QFRXLYUD.js +11 -0
  38. package/dist/ShowMaafApp-3KK6NUG2.js +11 -0
  39. package/dist/TelemetrySettings-A474HALH.js +11 -0
  40. package/dist/UnshareMaafApp-423RNXCN.js +11 -0
  41. package/dist/acorn-CYBWGE5M.js +23 -0
  42. package/dist/angular-Q62TJP23.js +11 -0
  43. package/dist/babel-AOXBHIIS.js +22 -0
  44. package/dist/chunk-3BRAT6NP.js +11 -0
  45. package/dist/chunk-3YRE4IQ3.js +132 -0
  46. package/dist/chunk-5AUOEXAR.js +50 -0
  47. package/dist/chunk-6FFQN2SO.js +13 -0
  48. package/dist/chunk-6MXOK2LG.js +11 -0
  49. package/dist/chunk-7NXJAIJX.js +11 -0
  50. package/dist/chunk-DREO7EYO.js +20 -0
  51. package/dist/chunk-EV3TTTOT.js +8 -0
  52. package/dist/chunk-G33Q5FWT.js +42325 -0
  53. package/dist/chunk-HBLO3WDD.js +13 -0
  54. package/dist/chunk-MFPX2RFH.js +11 -0
  55. package/dist/chunk-NP2KJOYC.js +12 -0
  56. package/dist/chunk-OL6CTXQR.js +11 -0
  57. package/dist/chunk-PVAIJSAI.js +11 -0
  58. package/dist/chunk-QAFCXGBD.js +11 -0
  59. package/dist/chunk-QSB5P4RM.js +38 -0
  60. package/dist/chunk-RBG2H562.js +11 -0
  61. package/dist/chunk-S5HEU7XK.js +11 -0
  62. package/dist/chunk-TYRVM4PP.js +8 -0
  63. package/dist/chunk-U36HMOQW.js +77 -0
  64. package/dist/chunk-UBTSW22U.js +11 -0
  65. package/dist/chunk-USRRI5H4.js +11 -0
  66. package/dist/chunk-UT667QSU.js +8 -0
  67. package/dist/chunk-VFSTQAZ2.js +12 -0
  68. package/dist/chunk-VNEZZ3RI.js +11 -0
  69. package/dist/chunk-W7EWOZPO.js +104 -0
  70. package/dist/chunk-Y5AMO72S.js +10 -0
  71. package/dist/chunk-YIKNM523.js +15 -0
  72. package/dist/chunk-YMXXWGRV.js +11 -0
  73. package/dist/estree-HPTPQIMZ.js +51 -0
  74. package/dist/flow-B6JUMONE.js +27 -0
  75. package/dist/glimmer-36KZ3DJ5.js +44 -0
  76. package/dist/graphql-E6CIFZFV.js +35 -0
  77. package/dist/html-BUTTPQE6.js +32 -0
  78. package/dist/markdown-K2C5OZHT.js +69 -0
  79. package/dist/meriyah-27UE2OSX.js +12 -0
  80. package/dist/postcss-QUHZLBB7.js +68 -0
  81. package/dist/typescript-G2G6TDZF.js +28 -0
  82. package/dist/yaml-W5P5CGFK.js +166 -0
  83. package/package.json +22 -17
  84. package/dist/ArgumentProvider.d.ts +0 -144
  85. package/dist/ArgumentProvider.d.ts.map +0 -1
  86. package/dist/ArgumentProvider.js +0 -493
  87. package/dist/ArgumentProvider.js.map +0 -1
  88. package/dist/Authentication/ActiveAccountStore.d.ts +0 -24
  89. package/dist/Authentication/ActiveAccountStore.d.ts.map +0 -1
  90. package/dist/Authentication/ActiveAccountStore.js +0 -54
  91. package/dist/Authentication/ActiveAccountStore.js.map +0 -1
  92. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.d.ts +0 -26
  93. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.d.ts.map +0 -1
  94. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.js +0 -31
  95. package/dist/Authentication/EnvironmentVariableAuthenticationProvider.js.map +0 -1
  96. package/dist/Authentication/NoOpAuthenticationProvider.d.ts +0 -25
  97. package/dist/Authentication/NoOpAuthenticationProvider.d.ts.map +0 -1
  98. package/dist/Authentication/NoOpAuthenticationProvider.js +0 -31
  99. package/dist/Authentication/NoOpAuthenticationProvider.js.map +0 -1
  100. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +0 -103
  101. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +0 -1
  102. package/dist/Authentication/NodeMsalAuthenticationProvider.js +0 -391
  103. package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +0 -1
  104. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts +0 -23
  105. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +0 -1
  106. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js +0 -60
  107. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js.map +0 -1
  108. package/dist/Bin.d.ts +0 -6
  109. package/dist/Bin.d.ts.map +0 -1
  110. package/dist/Bin.js.map +0 -1
  111. package/dist/Cli.d.ts +0 -2
  112. package/dist/Cli.d.ts.map +0 -1
  113. package/dist/Cli.js +0 -207
  114. package/dist/Cli.js.map +0 -1
  115. package/dist/CliSettings.d.ts +0 -17
  116. package/dist/CliSettings.d.ts.map +0 -1
  117. package/dist/CliSettings.js +0 -103
  118. package/dist/CliSettings.js.map +0 -1
  119. package/dist/CliUtils.d.ts +0 -100
  120. package/dist/CliUtils.d.ts.map +0 -1
  121. package/dist/CliUtils.js +0 -204
  122. package/dist/CliUtils.js.map +0 -1
  123. package/dist/Constants/CliConstants.d.ts +0 -6
  124. package/dist/Constants/CliConstants.d.ts.map +0 -1
  125. package/dist/Constants/CliConstants.js +0 -6
  126. package/dist/Constants/CliConstants.js.map +0 -1
  127. package/dist/Constants/CommandRegistry.d.ts +0 -22
  128. package/dist/Constants/CommandRegistry.d.ts.map +0 -1
  129. package/dist/Constants/CommandRegistry.js +0 -245
  130. package/dist/Constants/CommandRegistry.js.map +0 -1
  131. package/dist/Constants/HelpStrings.d.ts +0 -432
  132. package/dist/Constants/HelpStrings.d.ts.map +0 -1
  133. package/dist/Constants/HelpStrings.js +0 -623
  134. package/dist/Constants/HelpStrings.js.map +0 -1
  135. package/dist/Constants.d.ts +0 -18
  136. package/dist/Constants.d.ts.map +0 -1
  137. package/dist/Constants.js +0 -41
  138. package/dist/Constants.js.map +0 -1
  139. package/dist/Errors/CliError.d.ts +0 -5
  140. package/dist/Errors/CliError.d.ts.map +0 -1
  141. package/dist/Errors/CliError.js +0 -7
  142. package/dist/Errors/CliError.js.map +0 -1
  143. package/dist/Errors/GitHubErrorMap.d.ts +0 -68
  144. package/dist/Errors/GitHubErrorMap.d.ts.map +0 -1
  145. package/dist/Errors/GitHubErrorMap.js +0 -238
  146. package/dist/Errors/GitHubErrorMap.js.map +0 -1
  147. package/dist/FS/CliFs.d.ts +0 -41
  148. package/dist/FS/CliFs.d.ts.map +0 -1
  149. package/dist/FS/CliFs.js +0 -136
  150. package/dist/FS/CliFs.js.map +0 -1
  151. package/dist/HttpClient/CliHttpClient.d.ts +0 -43
  152. package/dist/HttpClient/CliHttpClient.d.ts.map +0 -1
  153. package/dist/HttpClient/CliHttpClient.js +0 -320
  154. package/dist/HttpClient/CliHttpClient.js.map +0 -1
  155. package/dist/HttpClient/HttpForward.d.ts +0 -9
  156. package/dist/HttpClient/HttpForward.d.ts.map +0 -1
  157. package/dist/HttpClient/HttpForward.js +0 -56
  158. package/dist/HttpClient/HttpForward.js.map +0 -1
  159. package/dist/Logger/BufferedTelemetryWriter.d.ts +0 -20
  160. package/dist/Logger/BufferedTelemetryWriter.d.ts.map +0 -1
  161. package/dist/Logger/BufferedTelemetryWriter.js +0 -163
  162. package/dist/Logger/BufferedTelemetryWriter.js.map +0 -1
  163. package/dist/Logger/CliLogger.d.ts +0 -59
  164. package/dist/Logger/CliLogger.d.ts.map +0 -1
  165. package/dist/Logger/CliLogger.js +0 -364
  166. package/dist/Logger/CliLogger.js.map +0 -1
  167. package/dist/Logger/ConsoleWriter.d.ts +0 -23
  168. package/dist/Logger/ConsoleWriter.d.ts.map +0 -1
  169. package/dist/Logger/ConsoleWriter.js +0 -66
  170. package/dist/Logger/ConsoleWriter.js.map +0 -1
  171. package/dist/Logger/Constants.d.ts +0 -6
  172. package/dist/Logger/Constants.d.ts.map +0 -1
  173. package/dist/Logger/Constants.js +0 -15
  174. package/dist/Logger/Constants.js.map +0 -1
  175. package/dist/Logger/LoggerSettings.d.ts +0 -18
  176. package/dist/Logger/LoggerSettings.d.ts.map +0 -1
  177. package/dist/Logger/LoggerSettings.js +0 -78
  178. package/dist/Logger/LoggerSettings.js.map +0 -1
  179. package/dist/Logger/OneDSWriter.d.ts +0 -26
  180. package/dist/Logger/OneDSWriter.d.ts.map +0 -1
  181. package/dist/Logger/OneDSWriter.js +0 -211
  182. package/dist/Logger/OneDSWriter.js.map +0 -1
  183. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts +0 -5
  184. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts.map +0 -1
  185. package/dist/Logger/Scrubber/ScrubCustomDimensions.js +0 -46
  186. package/dist/Logger/Scrubber/ScrubCustomDimensions.js.map +0 -1
  187. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts +0 -27
  188. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts.map +0 -1
  189. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js +0 -168
  190. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js.map +0 -1
  191. package/dist/Logger/Scrubber/ScrubUtils.d.ts +0 -8
  192. package/dist/Logger/Scrubber/ScrubUtils.d.ts.map +0 -1
  193. package/dist/Logger/Scrubber/ScrubUtils.js +0 -34
  194. package/dist/Logger/Scrubber/ScrubUtils.js.map +0 -1
  195. package/dist/Middletier/FunctionsBundler.d.ts +0 -17
  196. package/dist/Middletier/FunctionsBundler.d.ts.map +0 -1
  197. package/dist/Middletier/FunctionsBundler.js +0 -169
  198. package/dist/Middletier/FunctionsBundler.js.map +0 -1
  199. package/dist/Middletier/PackFunctions.d.ts +0 -53
  200. package/dist/Middletier/PackFunctions.d.ts.map +0 -1
  201. package/dist/Middletier/PackFunctions.js +0 -123
  202. package/dist/Middletier/PackFunctions.js.map +0 -1
  203. package/dist/Testing/MockFetch.d.ts +0 -23
  204. package/dist/Testing/MockFetch.d.ts.map +0 -1
  205. package/dist/Testing/MockFetch.js +0 -177
  206. package/dist/Testing/MockFetch.js.map +0 -1
  207. package/dist/Testing/MockRoutes.d.ts +0 -34
  208. package/dist/Testing/MockRoutes.d.ts.map +0 -1
  209. package/dist/Testing/MockRoutes.js +0 -226
  210. package/dist/Testing/MockRoutes.js.map +0 -1
  211. package/dist/Testing/fixtures/connectors/commondataserviceforapps.d.ts +0 -6
  212. package/dist/Testing/fixtures/connectors/commondataserviceforapps.d.ts.map +0 -1
  213. package/dist/Testing/fixtures/connectors/commondataserviceforapps.js +0 -25
  214. package/dist/Testing/fixtures/connectors/commondataserviceforapps.js.map +0 -1
  215. package/dist/Testing/fixtures/connectors/dataverseContactEntity.d.ts +0 -6
  216. package/dist/Testing/fixtures/connectors/dataverseContactEntity.d.ts.map +0 -1
  217. package/dist/Testing/fixtures/connectors/dataverseContactEntity.js +0 -55
  218. package/dist/Testing/fixtures/connectors/dataverseContactEntity.js.map +0 -1
  219. package/dist/Testing/fixtures/connectors/excelonlinebusiness.d.ts +0 -6
  220. package/dist/Testing/fixtures/connectors/excelonlinebusiness.d.ts.map +0 -1
  221. package/dist/Testing/fixtures/connectors/excelonlinebusiness.js +0 -1970
  222. package/dist/Testing/fixtures/connectors/excelonlinebusiness.js.map +0 -1
  223. package/dist/Testing/fixtures/connectors/kusto.d.ts +0 -6
  224. package/dist/Testing/fixtures/connectors/kusto.d.ts.map +0 -1
  225. package/dist/Testing/fixtures/connectors/kusto.js +0 -1333
  226. package/dist/Testing/fixtures/connectors/kusto.js.map +0 -1
  227. package/dist/Testing/fixtures/connectors/msnweather.d.ts +0 -6
  228. package/dist/Testing/fixtures/connectors/msnweather.d.ts.map +0 -1
  229. package/dist/Testing/fixtures/connectors/msnweather.js +0 -917
  230. package/dist/Testing/fixtures/connectors/msnweather.js.map +0 -1
  231. package/dist/Testing/fixtures/connectors/office365groups.d.ts +0 -6
  232. package/dist/Testing/fixtures/connectors/office365groups.d.ts.map +0 -1
  233. package/dist/Testing/fixtures/connectors/office365groups.js +0 -2144
  234. package/dist/Testing/fixtures/connectors/office365groups.js.map +0 -1
  235. package/dist/Testing/fixtures/connectors/office365users.d.ts +0 -6
  236. package/dist/Testing/fixtures/connectors/office365users.d.ts.map +0 -1
  237. package/dist/Testing/fixtures/connectors/office365users.js +0 -1969
  238. package/dist/Testing/fixtures/connectors/office365users.js.map +0 -1
  239. package/dist/Testing/fixtures/connectors/onedriveforbusiness.d.ts +0 -6
  240. package/dist/Testing/fixtures/connectors/onedriveforbusiness.d.ts.map +0 -1
  241. package/dist/Testing/fixtures/connectors/onedriveforbusiness.js +0 -4873
  242. package/dist/Testing/fixtures/connectors/onedriveforbusiness.js.map +0 -1
  243. package/dist/Testing/fixtures/connectors/powerappsforappmakers.d.ts +0 -6
  244. package/dist/Testing/fixtures/connectors/powerappsforappmakers.d.ts.map +0 -1
  245. package/dist/Testing/fixtures/connectors/powerappsforappmakers.js +0 -4682
  246. package/dist/Testing/fixtures/connectors/powerappsforappmakers.js.map +0 -1
  247. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.d.ts +0 -6
  248. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.d.ts.map +0 -1
  249. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.js +0 -1078
  250. package/dist/Testing/fixtures/connectors/sharepointTestListMetadata.js.map +0 -1
  251. package/dist/Testing/fixtures/connectors/sharepointonline.d.ts +0 -6
  252. package/dist/Testing/fixtures/connectors/sharepointonline.d.ts.map +0 -1
  253. package/dist/Testing/fixtures/connectors/sharepointonline.js +0 -28
  254. package/dist/Testing/fixtures/connectors/sharepointonline.js.map +0 -1
  255. package/dist/Testing/fixtures/connectors/teams.d.ts +0 -6
  256. package/dist/Testing/fixtures/connectors/teams.d.ts.map +0 -1
  257. package/dist/Testing/fixtures/connectors/teams.js +0 -9987
  258. package/dist/Testing/fixtures/connectors/teams.js.map +0 -1
  259. package/dist/Testing/fixtures/connectors/translatorv2.d.ts +0 -6
  260. package/dist/Testing/fixtures/connectors/translatorv2.d.ts.map +0 -1
  261. package/dist/Testing/fixtures/connectors/translatorv2.js +0 -307
  262. package/dist/Testing/fixtures/connectors/translatorv2.js.map +0 -1
  263. package/dist/Testing/fixtures/index.d.ts +0 -23
  264. package/dist/Testing/fixtures/index.d.ts.map +0 -1
  265. package/dist/Testing/fixtures/index.js +0 -96
  266. package/dist/Testing/fixtures/index.js.map +0 -1
  267. package/dist/Types/Argument.types.d.ts +0 -28
  268. package/dist/Types/Argument.types.d.ts.map +0 -1
  269. package/dist/Types/Argument.types.js +0 -5
  270. package/dist/Types/Argument.types.js.map +0 -1
  271. package/dist/Types/Cli.types.d.ts +0 -82
  272. package/dist/Types/Cli.types.d.ts.map +0 -1
  273. package/dist/Types/Cli.types.js +0 -5
  274. package/dist/Types/Cli.types.js.map +0 -1
  275. package/dist/Types/Command.types.d.ts +0 -69
  276. package/dist/Types/Command.types.d.ts.map +0 -1
  277. package/dist/Types/Command.types.js +0 -20
  278. package/dist/Types/Command.types.js.map +0 -1
  279. package/dist/Types/Datasource.types.d.ts +0 -30
  280. package/dist/Types/Datasource.types.d.ts.map +0 -1
  281. package/dist/Types/Datasource.types.js +0 -5
  282. package/dist/Types/Datasource.types.js.map +0 -1
  283. package/dist/Types/LoggerTypes.types.d.ts +0 -18
  284. package/dist/Types/LoggerTypes.types.d.ts.map +0 -1
  285. package/dist/Types/LoggerTypes.types.js +0 -5
  286. package/dist/Types/LoggerTypes.types.js.map +0 -1
  287. package/dist/Utils/BuildPolling.d.ts +0 -43
  288. package/dist/Utils/BuildPolling.d.ts.map +0 -1
  289. package/dist/Utils/BuildPolling.js +0 -139
  290. package/dist/Utils/BuildPolling.js.map +0 -1
  291. package/dist/Utils/BuildVerbDescriptionTable.d.ts +0 -29
  292. package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +0 -1
  293. package/dist/Utils/BuildVerbDescriptionTable.js +0 -147
  294. package/dist/Utils/BuildVerbDescriptionTable.js.map +0 -1
  295. package/dist/Utils/CoerceCliVersion.d.ts +0 -27
  296. package/dist/Utils/CoerceCliVersion.d.ts.map +0 -1
  297. package/dist/Utils/CoerceCliVersion.js +0 -67
  298. package/dist/Utils/CoerceCliVersion.js.map +0 -1
  299. package/dist/Utils/ConnectorIds.d.ts +0 -12
  300. package/dist/Utils/ConnectorIds.d.ts.map +0 -1
  301. package/dist/Utils/ConnectorIds.js +0 -20
  302. package/dist/Utils/ConnectorIds.js.map +0 -1
  303. package/dist/Utils/ConsoleOutput.d.ts +0 -86
  304. package/dist/Utils/ConsoleOutput.d.ts.map +0 -1
  305. package/dist/Utils/ConsoleOutput.js +0 -162
  306. package/dist/Utils/ConsoleOutput.js.map +0 -1
  307. package/dist/Utils/DcfRecovery.d.ts +0 -84
  308. package/dist/Utils/DcfRecovery.d.ts.map +0 -1
  309. package/dist/Utils/DcfRecovery.js +0 -246
  310. package/dist/Utils/DcfRecovery.js.map +0 -1
  311. package/dist/Utils/DetectPackageManager.d.ts +0 -9
  312. package/dist/Utils/DetectPackageManager.d.ts.map +0 -1
  313. package/dist/Utils/DetectPackageManager.js +0 -24
  314. package/dist/Utils/DetectPackageManager.js.map +0 -1
  315. package/dist/Utils/DownloadTemplate.d.ts +0 -45
  316. package/dist/Utils/DownloadTemplate.d.ts.map +0 -1
  317. package/dist/Utils/DownloadTemplate.js +0 -161
  318. package/dist/Utils/DownloadTemplate.js.map +0 -1
  319. package/dist/Utils/EnhanceNetworkError.d.ts +0 -14
  320. package/dist/Utils/EnhanceNetworkError.d.ts.map +0 -1
  321. package/dist/Utils/EnhanceNetworkError.js +0 -61
  322. package/dist/Utils/EnhanceNetworkError.js.map +0 -1
  323. package/dist/Utils/EnvVars.d.ts +0 -17
  324. package/dist/Utils/EnvVars.d.ts.map +0 -1
  325. package/dist/Utils/EnvVars.js +0 -38
  326. package/dist/Utils/EnvVars.js.map +0 -1
  327. package/dist/Utils/EnvironmentRoutingUtils.d.ts +0 -81
  328. package/dist/Utils/EnvironmentRoutingUtils.d.ts.map +0 -1
  329. package/dist/Utils/EnvironmentRoutingUtils.js +0 -204
  330. package/dist/Utils/EnvironmentRoutingUtils.js.map +0 -1
  331. package/dist/Utils/FindAvailablePort.d.ts +0 -39
  332. package/dist/Utils/FindAvailablePort.d.ts.map +0 -1
  333. package/dist/Utils/FindAvailablePort.js +0 -105
  334. package/dist/Utils/FindAvailablePort.js.map +0 -1
  335. package/dist/Utils/GitCredentialConfig.d.ts +0 -12
  336. package/dist/Utils/GitCredentialConfig.d.ts.map +0 -1
  337. package/dist/Utils/GitCredentialConfig.js +0 -32
  338. package/dist/Utils/GitCredentialConfig.js.map +0 -1
  339. package/dist/Utils/GitErrorClassifier.d.ts +0 -40
  340. package/dist/Utils/GitErrorClassifier.d.ts.map +0 -1
  341. package/dist/Utils/GitErrorClassifier.js +0 -120
  342. package/dist/Utils/GitErrorClassifier.js.map +0 -1
  343. package/dist/Utils/GitHubDcfFlow.d.ts +0 -59
  344. package/dist/Utils/GitHubDcfFlow.d.ts.map +0 -1
  345. package/dist/Utils/GitHubDcfFlow.js +0 -165
  346. package/dist/Utils/GitHubDcfFlow.js.map +0 -1
  347. package/dist/Utils/GitRunner.d.ts +0 -107
  348. package/dist/Utils/GitRunner.d.ts.map +0 -1
  349. package/dist/Utils/GitRunner.js +0 -89
  350. package/dist/Utils/GitRunner.js.map +0 -1
  351. package/dist/Utils/GitUtils.d.ts +0 -43
  352. package/dist/Utils/GitUtils.d.ts.map +0 -1
  353. package/dist/Utils/GitUtils.js +0 -120
  354. package/dist/Utils/GitUtils.js.map +0 -1
  355. package/dist/Utils/GitVersionChecker.d.ts +0 -38
  356. package/dist/Utils/GitVersionChecker.d.ts.map +0 -1
  357. package/dist/Utils/GitVersionChecker.js +0 -64
  358. package/dist/Utils/GitVersionChecker.js.map +0 -1
  359. package/dist/Utils/HelpBanner.d.ts +0 -11
  360. package/dist/Utils/HelpBanner.d.ts.map +0 -1
  361. package/dist/Utils/HelpBanner.js +0 -15
  362. package/dist/Utils/HelpBanner.js.map +0 -1
  363. package/dist/Utils/MaafAppConfig.d.ts +0 -24
  364. package/dist/Utils/MaafAppConfig.d.ts.map +0 -1
  365. package/dist/Utils/MaafAppConfig.js +0 -38
  366. package/dist/Utils/MaafAppConfig.js.map +0 -1
  367. package/dist/Utils/NodeVersionChecker.d.ts +0 -10
  368. package/dist/Utils/NodeVersionChecker.d.ts.map +0 -1
  369. package/dist/Utils/NodeVersionChecker.js +0 -21
  370. package/dist/Utils/NodeVersionChecker.js.map +0 -1
  371. package/dist/Utils/Paging.d.ts +0 -29
  372. package/dist/Utils/Paging.d.ts.map +0 -1
  373. package/dist/Utils/Paging.js +0 -102
  374. package/dist/Utils/Paging.js.map +0 -1
  375. package/dist/Utils/PinCli.d.ts +0 -33
  376. package/dist/Utils/PinCli.d.ts.map +0 -1
  377. package/dist/Utils/PinCli.js +0 -77
  378. package/dist/Utils/PinCli.js.map +0 -1
  379. package/dist/Utils/ReadPackageJson.d.ts +0 -9
  380. package/dist/Utils/ReadPackageJson.d.ts.map +0 -1
  381. package/dist/Utils/ReadPackageJson.js +0 -13
  382. package/dist/Utils/ReadPackageJson.js.map +0 -1
  383. package/dist/Utils/RepoDetails.d.ts +0 -29
  384. package/dist/Utils/RepoDetails.d.ts.map +0 -1
  385. package/dist/Utils/RepoDetails.js +0 -37
  386. package/dist/Utils/RepoDetails.js.map +0 -1
  387. package/dist/Utils/RepoOption.d.ts +0 -42
  388. package/dist/Utils/RepoOption.d.ts.map +0 -1
  389. package/dist/Utils/RepoOption.js +0 -63
  390. package/dist/Utils/RepoOption.js.map +0 -1
  391. package/dist/Utils/RepoUrl.d.ts +0 -18
  392. package/dist/Utils/RepoUrl.d.ts.map +0 -1
  393. package/dist/Utils/RepoUrl.js +0 -6
  394. package/dist/Utils/RepoUrl.js.map +0 -1
  395. package/dist/Utils/ResolveCommand.d.ts +0 -62
  396. package/dist/Utils/ResolveCommand.d.ts.map +0 -1
  397. package/dist/Utils/ResolveCommand.js +0 -141
  398. package/dist/Utils/ResolveCommand.js.map +0 -1
  399. package/dist/Utils/RunCommand.d.ts +0 -33
  400. package/dist/Utils/RunCommand.d.ts.map +0 -1
  401. package/dist/Utils/RunCommand.js +0 -83
  402. package/dist/Utils/RunCommand.js.map +0 -1
  403. package/dist/Utils/ShareAccessRouting.d.ts +0 -78
  404. package/dist/Utils/ShareAccessRouting.d.ts.map +0 -1
  405. package/dist/Utils/ShareAccessRouting.js +0 -93
  406. package/dist/Utils/ShareAccessRouting.js.map +0 -1
  407. package/dist/Utils/Spinner.d.ts +0 -23
  408. package/dist/Utils/Spinner.d.ts.map +0 -1
  409. package/dist/Utils/Spinner.js +0 -94
  410. package/dist/Utils/Spinner.js.map +0 -1
  411. package/dist/Utils/zipBuildArtifact.d.ts +0 -35
  412. package/dist/Utils/zipBuildArtifact.d.ts.map +0 -1
  413. package/dist/Utils/zipBuildArtifact.js +0 -100
  414. package/dist/Utils/zipBuildArtifact.js.map +0 -1
  415. package/dist/Verbs/AddAction.d.ts +0 -6
  416. package/dist/Verbs/AddAction.d.ts.map +0 -1
  417. package/dist/Verbs/AddAction.js +0 -58
  418. package/dist/Verbs/AddAction.js.map +0 -1
  419. package/dist/Verbs/AddConnector.d.ts +0 -26
  420. package/dist/Verbs/AddConnector.d.ts.map +0 -1
  421. package/dist/Verbs/AddConnector.js +0 -222
  422. package/dist/Verbs/AddConnector.js.map +0 -1
  423. package/dist/Verbs/AddConnectorFlows.d.ts +0 -97
  424. package/dist/Verbs/AddConnectorFlows.d.ts.map +0 -1
  425. package/dist/Verbs/AddConnectorFlows.js +0 -298
  426. package/dist/Verbs/AddConnectorFlows.js.map +0 -1
  427. package/dist/Verbs/AddDataSource.d.ts +0 -18
  428. package/dist/Verbs/AddDataSource.d.ts.map +0 -1
  429. package/dist/Verbs/AddDataSource.js +0 -162
  430. package/dist/Verbs/AddDataSource.js.map +0 -1
  431. package/dist/Verbs/AddFlow.d.ts +0 -12
  432. package/dist/Verbs/AddFlow.d.ts.map +0 -1
  433. package/dist/Verbs/AddFlow.js +0 -62
  434. package/dist/Verbs/AddFlow.js.map +0 -1
  435. package/dist/Verbs/AddTable.d.ts +0 -6
  436. package/dist/Verbs/AddTable.d.ts.map +0 -1
  437. package/dist/Verbs/AddTable.js +0 -78
  438. package/dist/Verbs/AddTable.js.map +0 -1
  439. package/dist/Verbs/AuthStatus.d.ts +0 -6
  440. package/dist/Verbs/AuthStatus.d.ts.map +0 -1
  441. package/dist/Verbs/AuthStatus.js +0 -49
  442. package/dist/Verbs/AuthStatus.js.map +0 -1
  443. package/dist/Verbs/AuthSwitch.d.ts +0 -6
  444. package/dist/Verbs/AuthSwitch.d.ts.map +0 -1
  445. package/dist/Verbs/AuthSwitch.js +0 -67
  446. package/dist/Verbs/AuthSwitch.js.map +0 -1
  447. package/dist/Verbs/BuildMaafApp.d.ts +0 -6
  448. package/dist/Verbs/BuildMaafApp.d.ts.map +0 -1
  449. package/dist/Verbs/BuildMaafApp.js +0 -172
  450. package/dist/Verbs/BuildMaafApp.js.map +0 -1
  451. package/dist/Verbs/ConnectorHelpers.d.ts +0 -164
  452. package/dist/Verbs/ConnectorHelpers.d.ts.map +0 -1
  453. package/dist/Verbs/ConnectorHelpers.js +0 -563
  454. package/dist/Verbs/ConnectorHelpers.js.map +0 -1
  455. package/dist/Verbs/CreateMaafApp.d.ts +0 -107
  456. package/dist/Verbs/CreateMaafApp.d.ts.map +0 -1
  457. package/dist/Verbs/CreateMaafApp.js +0 -1081
  458. package/dist/Verbs/CreateMaafApp.js.map +0 -1
  459. package/dist/Verbs/DeleteMaafApp.d.ts +0 -27
  460. package/dist/Verbs/DeleteMaafApp.d.ts.map +0 -1
  461. package/dist/Verbs/DeleteMaafApp.js +0 -114
  462. package/dist/Verbs/DeleteMaafApp.js.map +0 -1
  463. package/dist/Verbs/DeployMaafApp.d.ts +0 -6
  464. package/dist/Verbs/DeployMaafApp.d.ts.map +0 -1
  465. package/dist/Verbs/DeployMaafApp.js +0 -495
  466. package/dist/Verbs/DeployMaafApp.js.map +0 -1
  467. package/dist/Verbs/Dev.d.ts +0 -6
  468. package/dist/Verbs/Dev.d.ts.map +0 -1
  469. package/dist/Verbs/Dev.js +0 -276
  470. package/dist/Verbs/Dev.js.map +0 -1
  471. package/dist/Verbs/FindDataverseApi.d.ts +0 -12
  472. package/dist/Verbs/FindDataverseApi.d.ts.map +0 -1
  473. package/dist/Verbs/FindDataverseApi.js +0 -87
  474. package/dist/Verbs/FindDataverseApi.js.map +0 -1
  475. package/dist/Verbs/GetMaafApp.d.ts +0 -6
  476. package/dist/Verbs/GetMaafApp.d.ts.map +0 -1
  477. package/dist/Verbs/GetMaafApp.js +0 -80
  478. package/dist/Verbs/GetMaafApp.js.map +0 -1
  479. package/dist/Verbs/GetMaafBuildStatus.d.ts +0 -6
  480. package/dist/Verbs/GetMaafBuildStatus.d.ts.map +0 -1
  481. package/dist/Verbs/GetMaafBuildStatus.js +0 -132
  482. package/dist/Verbs/GetMaafBuildStatus.js.map +0 -1
  483. package/dist/Verbs/GetSettings.d.ts +0 -12
  484. package/dist/Verbs/GetSettings.d.ts.map +0 -1
  485. package/dist/Verbs/GetSettings.js +0 -39
  486. package/dist/Verbs/GetSettings.js.map +0 -1
  487. package/dist/Verbs/Init.d.ts +0 -6
  488. package/dist/Verbs/Init.d.ts.map +0 -1
  489. package/dist/Verbs/Init.js +0 -426
  490. package/dist/Verbs/Init.js.map +0 -1
  491. package/dist/Verbs/ListConnectionReferences.d.ts +0 -6
  492. package/dist/Verbs/ListConnectionReferences.d.ts.map +0 -1
  493. package/dist/Verbs/ListConnectionReferences.js +0 -56
  494. package/dist/Verbs/ListConnectionReferences.js.map +0 -1
  495. package/dist/Verbs/ListConnectorActions.d.ts +0 -6
  496. package/dist/Verbs/ListConnectorActions.d.ts.map +0 -1
  497. package/dist/Verbs/ListConnectorActions.js +0 -87
  498. package/dist/Verbs/ListConnectorActions.js.map +0 -1
  499. package/dist/Verbs/ListConnectors.d.ts +0 -6
  500. package/dist/Verbs/ListConnectors.d.ts.map +0 -1
  501. package/dist/Verbs/ListConnectors.js +0 -91
  502. package/dist/Verbs/ListConnectors.js.map +0 -1
  503. package/dist/Verbs/ListDatasets.d.ts +0 -6
  504. package/dist/Verbs/ListDatasets.d.ts.map +0 -1
  505. package/dist/Verbs/ListDatasets.js +0 -73
  506. package/dist/Verbs/ListDatasets.js.map +0 -1
  507. package/dist/Verbs/ListEnvironmentVariables.d.ts +0 -14
  508. package/dist/Verbs/ListEnvironmentVariables.d.ts.map +0 -1
  509. package/dist/Verbs/ListEnvironmentVariables.js +0 -52
  510. package/dist/Verbs/ListEnvironmentVariables.js.map +0 -1
  511. package/dist/Verbs/ListFlows.d.ts +0 -13
  512. package/dist/Verbs/ListFlows.d.ts.map +0 -1
  513. package/dist/Verbs/ListFlows.js +0 -73
  514. package/dist/Verbs/ListFlows.js.map +0 -1
  515. package/dist/Verbs/ListMaafApps.d.ts +0 -84
  516. package/dist/Verbs/ListMaafApps.d.ts.map +0 -1
  517. package/dist/Verbs/ListMaafApps.js +0 -221
  518. package/dist/Verbs/ListMaafApps.js.map +0 -1
  519. package/dist/Verbs/ListSqlStoredProcedures.d.ts +0 -6
  520. package/dist/Verbs/ListSqlStoredProcedures.d.ts.map +0 -1
  521. package/dist/Verbs/ListSqlStoredProcedures.js +0 -75
  522. package/dist/Verbs/ListSqlStoredProcedures.js.map +0 -1
  523. package/dist/Verbs/ListTables.d.ts +0 -6
  524. package/dist/Verbs/ListTables.d.ts.map +0 -1
  525. package/dist/Verbs/ListTables.js +0 -85
  526. package/dist/Verbs/ListTables.js.map +0 -1
  527. package/dist/Verbs/Login.d.ts +0 -6
  528. package/dist/Verbs/Login.d.ts.map +0 -1
  529. package/dist/Verbs/Login.js +0 -39
  530. package/dist/Verbs/Login.js.map +0 -1
  531. package/dist/Verbs/Logout.d.ts +0 -6
  532. package/dist/Verbs/Logout.d.ts.map +0 -1
  533. package/dist/Verbs/Logout.js +0 -34
  534. package/dist/Verbs/Logout.js.map +0 -1
  535. package/dist/Verbs/MaafAppPermissions.d.ts +0 -40
  536. package/dist/Verbs/MaafAppPermissions.d.ts.map +0 -1
  537. package/dist/Verbs/MaafAppPermissions.js +0 -651
  538. package/dist/Verbs/MaafAppPermissions.js.map +0 -1
  539. package/dist/Verbs/Pack.d.ts +0 -71
  540. package/dist/Verbs/Pack.d.ts.map +0 -1
  541. package/dist/Verbs/Pack.js +0 -370
  542. package/dist/Verbs/Pack.js.map +0 -1
  543. package/dist/Verbs/PlayMaafApp.d.ts +0 -22
  544. package/dist/Verbs/PlayMaafApp.d.ts.map +0 -1
  545. package/dist/Verbs/PlayMaafApp.js +0 -147
  546. package/dist/Verbs/PlayMaafApp.js.map +0 -1
  547. package/dist/Verbs/RefreshDataSource.d.ts +0 -21
  548. package/dist/Verbs/RefreshDataSource.d.ts.map +0 -1
  549. package/dist/Verbs/RefreshDataSource.js +0 -87
  550. package/dist/Verbs/RefreshDataSource.js.map +0 -1
  551. package/dist/Verbs/RefreshGitAuth.d.ts +0 -6
  552. package/dist/Verbs/RefreshGitAuth.d.ts.map +0 -1
  553. package/dist/Verbs/RefreshGitAuth.js +0 -155
  554. package/dist/Verbs/RefreshGitAuth.js.map +0 -1
  555. package/dist/Verbs/RemoveDataSource.d.ts +0 -6
  556. package/dist/Verbs/RemoveDataSource.d.ts.map +0 -1
  557. package/dist/Verbs/RemoveDataSource.js +0 -172
  558. package/dist/Verbs/RemoveDataSource.js.map +0 -1
  559. package/dist/Verbs/RemoveFlow.d.ts +0 -12
  560. package/dist/Verbs/RemoveFlow.d.ts.map +0 -1
  561. package/dist/Verbs/RemoveFlow.js +0 -94
  562. package/dist/Verbs/RemoveFlow.js.map +0 -1
  563. package/dist/Verbs/SetSetting.d.ts +0 -12
  564. package/dist/Verbs/SetSetting.d.ts.map +0 -1
  565. package/dist/Verbs/SetSetting.js +0 -131
  566. package/dist/Verbs/SetSetting.js.map +0 -1
  567. package/dist/Verbs/ShareLinkCreate.d.ts +0 -23
  568. package/dist/Verbs/ShareLinkCreate.d.ts.map +0 -1
  569. package/dist/Verbs/ShareLinkCreate.js +0 -73
  570. package/dist/Verbs/ShareLinkCreate.js.map +0 -1
  571. package/dist/Verbs/ShareLinkList.d.ts +0 -16
  572. package/dist/Verbs/ShareLinkList.d.ts.map +0 -1
  573. package/dist/Verbs/ShareLinkList.js +0 -84
  574. package/dist/Verbs/ShareLinkList.js.map +0 -1
  575. package/dist/Verbs/ShareLinkRevoke.d.ts +0 -22
  576. package/dist/Verbs/ShareLinkRevoke.d.ts.map +0 -1
  577. package/dist/Verbs/ShareLinkRevoke.js +0 -137
  578. package/dist/Verbs/ShareLinkRevoke.js.map +0 -1
  579. package/dist/Verbs/ShareList.d.ts +0 -10
  580. package/dist/Verbs/ShareList.d.ts.map +0 -1
  581. package/dist/Verbs/ShareList.js +0 -254
  582. package/dist/Verbs/ShareList.js.map +0 -1
  583. package/dist/Verbs/ShareMaafApp.d.ts +0 -12
  584. package/dist/Verbs/ShareMaafApp.d.ts.map +0 -1
  585. package/dist/Verbs/ShareMaafApp.js +0 -14
  586. package/dist/Verbs/ShareMaafApp.js.map +0 -1
  587. package/dist/Verbs/ShowMaafApp.d.ts +0 -100
  588. package/dist/Verbs/ShowMaafApp.d.ts.map +0 -1
  589. package/dist/Verbs/ShowMaafApp.js +0 -224
  590. package/dist/Verbs/ShowMaafApp.js.map +0 -1
  591. package/dist/Verbs/TelemetrySettings.d.ts +0 -8
  592. package/dist/Verbs/TelemetrySettings.d.ts.map +0 -1
  593. package/dist/Verbs/TelemetrySettings.js +0 -104
  594. package/dist/Verbs/TelemetrySettings.js.map +0 -1
  595. package/dist/Verbs/UnshareMaafApp.d.ts +0 -12
  596. package/dist/Verbs/UnshareMaafApp.d.ts.map +0 -1
  597. package/dist/Verbs/UnshareMaafApp.js +0 -14
  598. package/dist/Verbs/UnshareMaafApp.js.map +0 -1
  599. package/dist/Verbs/VerbConstants.d.ts +0 -628
  600. package/dist/Verbs/VerbConstants.d.ts.map +0 -1
  601. package/dist/Verbs/VerbConstants.js +0 -557
  602. package/dist/Verbs/VerbConstants.js.map +0 -1
  603. package/dist/Verbs/index.d.ts +0 -47
  604. package/dist/Verbs/index.d.ts.map +0 -1
  605. package/dist/Verbs/index.js +0 -47
  606. 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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"}