@microsoft/apps-cli 0.0.1 → 0.4.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 (334) hide show
  1. package/README.md +281 -1
  2. package/dist/ArgumentProvider.d.ts +102 -0
  3. package/dist/ArgumentProvider.d.ts.map +1 -0
  4. package/dist/ArgumentProvider.js +376 -0
  5. package/dist/ArgumentProvider.js.map +1 -0
  6. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +18 -0
  7. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -0
  8. package/dist/Authentication/NodeMsalAuthenticationProvider.js +99 -0
  9. package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +1 -0
  10. package/dist/Authentication/OrchardAuthenticationProvider.d.ts +13 -0
  11. package/dist/Authentication/OrchardAuthenticationProvider.d.ts.map +1 -0
  12. package/dist/Authentication/OrchardAuthenticationProvider.js +30 -0
  13. package/dist/Authentication/OrchardAuthenticationProvider.js.map +1 -0
  14. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts +23 -0
  15. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +1 -0
  16. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js +60 -0
  17. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js.map +1 -0
  18. package/dist/Bin.d.ts +6 -0
  19. package/dist/Bin.d.ts.map +1 -0
  20. package/dist/Bin.js +7 -0
  21. package/dist/Bin.js.map +1 -0
  22. package/dist/Cli.d.ts +2 -0
  23. package/dist/Cli.d.ts.map +1 -0
  24. package/dist/Cli.js +95 -0
  25. package/dist/Cli.js.map +1 -0
  26. package/dist/CliSettings.d.ts +14 -0
  27. package/dist/CliSettings.d.ts.map +1 -0
  28. package/dist/CliSettings.js +76 -0
  29. package/dist/CliSettings.js.map +1 -0
  30. package/dist/CliUtils.d.ts +92 -0
  31. package/dist/CliUtils.d.ts.map +1 -0
  32. package/dist/CliUtils.js +218 -0
  33. package/dist/CliUtils.js.map +1 -0
  34. package/dist/Constants/CliConstants.d.ts +6 -0
  35. package/dist/Constants/CliConstants.d.ts.map +1 -0
  36. package/dist/Constants/CliConstants.js +6 -0
  37. package/dist/Constants/CliConstants.js.map +1 -0
  38. package/dist/Constants/CommandRegistry.d.ts +23 -0
  39. package/dist/Constants/CommandRegistry.d.ts.map +1 -0
  40. package/dist/Constants/CommandRegistry.js +197 -0
  41. package/dist/Constants/CommandRegistry.js.map +1 -0
  42. package/dist/Constants/HelpStrings.d.ts +329 -0
  43. package/dist/Constants/HelpStrings.d.ts.map +1 -0
  44. package/dist/Constants/HelpStrings.js +451 -0
  45. package/dist/Constants/HelpStrings.js.map +1 -0
  46. package/dist/Constants.d.ts +10 -0
  47. package/dist/Constants.d.ts.map +1 -0
  48. package/dist/Constants.js +18 -0
  49. package/dist/Constants.js.map +1 -0
  50. package/dist/Errors/CliError.d.ts +5 -0
  51. package/dist/Errors/CliError.d.ts.map +1 -0
  52. package/dist/Errors/CliError.js +7 -0
  53. package/dist/Errors/CliError.js.map +1 -0
  54. package/dist/FS/CliFs.d.ts +41 -0
  55. package/dist/FS/CliFs.d.ts.map +1 -0
  56. package/dist/FS/CliFs.js +136 -0
  57. package/dist/FS/CliFs.js.map +1 -0
  58. package/dist/HttpClient/CliHttpClient.d.ts +24 -0
  59. package/dist/HttpClient/CliHttpClient.d.ts.map +1 -0
  60. package/dist/HttpClient/CliHttpClient.js +122 -0
  61. package/dist/HttpClient/CliHttpClient.js.map +1 -0
  62. package/dist/HttpClient/OrchardProxy.d.ts +11 -0
  63. package/dist/HttpClient/OrchardProxy.d.ts.map +1 -0
  64. package/dist/HttpClient/OrchardProxy.js +25 -0
  65. package/dist/HttpClient/OrchardProxy.js.map +1 -0
  66. package/dist/HttpClient/Proxy.d.ts +7 -0
  67. package/dist/HttpClient/Proxy.d.ts.map +1 -0
  68. package/dist/HttpClient/Proxy.js +5 -0
  69. package/dist/HttpClient/Proxy.js.map +1 -0
  70. package/dist/Logger/CliLogger.d.ts +35 -0
  71. package/dist/Logger/CliLogger.d.ts.map +1 -0
  72. package/dist/Logger/CliLogger.js +237 -0
  73. package/dist/Logger/CliLogger.js.map +1 -0
  74. package/dist/Logger/ConsoleWriter.d.ts +15 -0
  75. package/dist/Logger/ConsoleWriter.d.ts.map +1 -0
  76. package/dist/Logger/ConsoleWriter.js +45 -0
  77. package/dist/Logger/ConsoleWriter.js.map +1 -0
  78. package/dist/Logger/Constants.d.ts +6 -0
  79. package/dist/Logger/Constants.d.ts.map +1 -0
  80. package/dist/Logger/Constants.js +15 -0
  81. package/dist/Logger/Constants.js.map +1 -0
  82. package/dist/Logger/LoggerSettings.d.ts +19 -0
  83. package/dist/Logger/LoggerSettings.d.ts.map +1 -0
  84. package/dist/Logger/LoggerSettings.js +114 -0
  85. package/dist/Logger/LoggerSettings.js.map +1 -0
  86. package/dist/Logger/OneDSWriter.d.ts +22 -0
  87. package/dist/Logger/OneDSWriter.d.ts.map +1 -0
  88. package/dist/Logger/OneDSWriter.js +129 -0
  89. package/dist/Logger/OneDSWriter.js.map +1 -0
  90. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts +5 -0
  91. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts.map +1 -0
  92. package/dist/Logger/Scrubber/ScrubCustomDimensions.js +46 -0
  93. package/dist/Logger/Scrubber/ScrubCustomDimensions.js.map +1 -0
  94. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts +27 -0
  95. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts.map +1 -0
  96. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js +168 -0
  97. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js.map +1 -0
  98. package/dist/Logger/Scrubber/ScrubUtils.d.ts +8 -0
  99. package/dist/Logger/Scrubber/ScrubUtils.d.ts.map +1 -0
  100. package/dist/Logger/Scrubber/ScrubUtils.js +34 -0
  101. package/dist/Logger/Scrubber/ScrubUtils.js.map +1 -0
  102. package/dist/Types/Argument.types.d.ts +27 -0
  103. package/dist/Types/Argument.types.d.ts.map +1 -0
  104. package/dist/Types/Argument.types.js +5 -0
  105. package/dist/Types/Argument.types.js.map +1 -0
  106. package/dist/Types/Cli.types.d.ts +32 -0
  107. package/dist/Types/Cli.types.d.ts.map +1 -0
  108. package/dist/Types/Cli.types.js +5 -0
  109. package/dist/Types/Cli.types.js.map +1 -0
  110. package/dist/Types/Command.types.d.ts +52 -0
  111. package/dist/Types/Command.types.d.ts.map +1 -0
  112. package/dist/Types/Command.types.js +8 -0
  113. package/dist/Types/Command.types.js.map +1 -0
  114. package/dist/Types/Datasource.types.d.ts +43 -0
  115. package/dist/Types/Datasource.types.d.ts.map +1 -0
  116. package/dist/Types/Datasource.types.js +5 -0
  117. package/dist/Types/Datasource.types.js.map +1 -0
  118. package/dist/Types/LoggerTypes.types.d.ts +17 -0
  119. package/dist/Types/LoggerTypes.types.d.ts.map +1 -0
  120. package/dist/Types/LoggerTypes.types.js +5 -0
  121. package/dist/Types/LoggerTypes.types.js.map +1 -0
  122. package/dist/Utils/BuildVerbDescriptionTable.d.ts +19 -0
  123. package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +1 -0
  124. package/dist/Utils/BuildVerbDescriptionTable.js +87 -0
  125. package/dist/Utils/BuildVerbDescriptionTable.js.map +1 -0
  126. package/dist/Utils/ConsoleOutput.d.ts +80 -0
  127. package/dist/Utils/ConsoleOutput.d.ts.map +1 -0
  128. package/dist/Utils/ConsoleOutput.js +151 -0
  129. package/dist/Utils/ConsoleOutput.js.map +1 -0
  130. package/dist/Utils/DetectPackageManager.d.ts +9 -0
  131. package/dist/Utils/DetectPackageManager.d.ts.map +1 -0
  132. package/dist/Utils/DetectPackageManager.js +24 -0
  133. package/dist/Utils/DetectPackageManager.js.map +1 -0
  134. package/dist/Utils/EnhanceNetworkError.d.ts +14 -0
  135. package/dist/Utils/EnhanceNetworkError.d.ts.map +1 -0
  136. package/dist/Utils/EnhanceNetworkError.js +59 -0
  137. package/dist/Utils/EnhanceNetworkError.js.map +1 -0
  138. package/dist/Utils/EnvVars.d.ts +17 -0
  139. package/dist/Utils/EnvVars.d.ts.map +1 -0
  140. package/dist/Utils/EnvVars.js +38 -0
  141. package/dist/Utils/EnvVars.js.map +1 -0
  142. package/dist/Utils/GitCredentialConfig.d.ts +12 -0
  143. package/dist/Utils/GitCredentialConfig.d.ts.map +1 -0
  144. package/dist/Utils/GitCredentialConfig.js +32 -0
  145. package/dist/Utils/GitCredentialConfig.js.map +1 -0
  146. package/dist/Utils/GitUtils.d.ts +22 -0
  147. package/dist/Utils/GitUtils.d.ts.map +1 -0
  148. package/dist/Utils/GitUtils.js +35 -0
  149. package/dist/Utils/GitUtils.js.map +1 -0
  150. package/dist/Utils/Paging.d.ts +23 -0
  151. package/dist/Utils/Paging.d.ts.map +1 -0
  152. package/dist/Utils/Paging.js +67 -0
  153. package/dist/Utils/Paging.js.map +1 -0
  154. package/dist/Utils/ReadPackageJson.d.ts +9 -0
  155. package/dist/Utils/ReadPackageJson.d.ts.map +1 -0
  156. package/dist/Utils/ReadPackageJson.js +13 -0
  157. package/dist/Utils/ReadPackageJson.js.map +1 -0
  158. package/dist/Utils/ResolveCommand.d.ts +26 -0
  159. package/dist/Utils/ResolveCommand.d.ts.map +1 -0
  160. package/dist/Utils/ResolveCommand.js +62 -0
  161. package/dist/Utils/ResolveCommand.js.map +1 -0
  162. package/dist/Utils/RunCommand.d.ts +13 -0
  163. package/dist/Utils/RunCommand.d.ts.map +1 -0
  164. package/dist/Utils/RunCommand.js +35 -0
  165. package/dist/Utils/RunCommand.js.map +1 -0
  166. package/dist/Utils/Spinner.d.ts +15 -0
  167. package/dist/Utils/Spinner.d.ts.map +1 -0
  168. package/dist/Utils/Spinner.js +71 -0
  169. package/dist/Utils/Spinner.js.map +1 -0
  170. package/dist/Utils/zipBuildArtifact.d.ts +35 -0
  171. package/dist/Utils/zipBuildArtifact.d.ts.map +1 -0
  172. package/dist/Utils/zipBuildArtifact.js +100 -0
  173. package/dist/Utils/zipBuildArtifact.js.map +1 -0
  174. package/dist/Verbs/AddAction.d.ts +6 -0
  175. package/dist/Verbs/AddAction.d.ts.map +1 -0
  176. package/dist/Verbs/AddAction.js +87 -0
  177. package/dist/Verbs/AddAction.js.map +1 -0
  178. package/dist/Verbs/AddDataSource.d.ts +19 -0
  179. package/dist/Verbs/AddDataSource.d.ts.map +1 -0
  180. package/dist/Verbs/AddDataSource.js +174 -0
  181. package/dist/Verbs/AddDataSource.js.map +1 -0
  182. package/dist/Verbs/AddFlow.d.ts +12 -0
  183. package/dist/Verbs/AddFlow.d.ts.map +1 -0
  184. package/dist/Verbs/AddFlow.js +67 -0
  185. package/dist/Verbs/AddFlow.js.map +1 -0
  186. package/dist/Verbs/AddTable.d.ts +6 -0
  187. package/dist/Verbs/AddTable.d.ts.map +1 -0
  188. package/dist/Verbs/AddTable.js +163 -0
  189. package/dist/Verbs/AddTable.js.map +1 -0
  190. package/dist/Verbs/AuthStatus.d.ts +6 -0
  191. package/dist/Verbs/AuthStatus.d.ts.map +1 -0
  192. package/dist/Verbs/AuthStatus.js +18 -0
  193. package/dist/Verbs/AuthStatus.js.map +1 -0
  194. package/dist/Verbs/BuildMaafApp.d.ts +6 -0
  195. package/dist/Verbs/BuildMaafApp.d.ts.map +1 -0
  196. package/dist/Verbs/BuildMaafApp.js +97 -0
  197. package/dist/Verbs/BuildMaafApp.js.map +1 -0
  198. package/dist/Verbs/ConnectorHelpers.d.ts +37 -0
  199. package/dist/Verbs/ConnectorHelpers.d.ts.map +1 -0
  200. package/dist/Verbs/ConnectorHelpers.js +116 -0
  201. package/dist/Verbs/ConnectorHelpers.js.map +1 -0
  202. package/dist/Verbs/CreateMaafApp.d.ts +25 -0
  203. package/dist/Verbs/CreateMaafApp.d.ts.map +1 -0
  204. package/dist/Verbs/CreateMaafApp.js +565 -0
  205. package/dist/Verbs/CreateMaafApp.js.map +1 -0
  206. package/dist/Verbs/DeleteDataSource.d.ts +6 -0
  207. package/dist/Verbs/DeleteDataSource.d.ts.map +1 -0
  208. package/dist/Verbs/DeleteDataSource.js +106 -0
  209. package/dist/Verbs/DeleteDataSource.js.map +1 -0
  210. package/dist/Verbs/DeleteMaafApp.d.ts +23 -0
  211. package/dist/Verbs/DeleteMaafApp.d.ts.map +1 -0
  212. package/dist/Verbs/DeleteMaafApp.js +99 -0
  213. package/dist/Verbs/DeleteMaafApp.js.map +1 -0
  214. package/dist/Verbs/DeployMaafApp.d.ts +6 -0
  215. package/dist/Verbs/DeployMaafApp.d.ts.map +1 -0
  216. package/dist/Verbs/DeployMaafApp.js +96 -0
  217. package/dist/Verbs/DeployMaafApp.js.map +1 -0
  218. package/dist/Verbs/Dev.d.ts +6 -0
  219. package/dist/Verbs/Dev.d.ts.map +1 -0
  220. package/dist/Verbs/Dev.js +214 -0
  221. package/dist/Verbs/Dev.js.map +1 -0
  222. package/dist/Verbs/FindDataverseApi.d.ts +12 -0
  223. package/dist/Verbs/FindDataverseApi.d.ts.map +1 -0
  224. package/dist/Verbs/FindDataverseApi.js +101 -0
  225. package/dist/Verbs/FindDataverseApi.js.map +1 -0
  226. package/dist/Verbs/GetMaafApp.d.ts +6 -0
  227. package/dist/Verbs/GetMaafApp.d.ts.map +1 -0
  228. package/dist/Verbs/GetMaafApp.js +60 -0
  229. package/dist/Verbs/GetMaafApp.js.map +1 -0
  230. package/dist/Verbs/GetMaafBuildStatus.d.ts +6 -0
  231. package/dist/Verbs/GetMaafBuildStatus.d.ts.map +1 -0
  232. package/dist/Verbs/GetMaafBuildStatus.js +68 -0
  233. package/dist/Verbs/GetMaafBuildStatus.js.map +1 -0
  234. package/dist/Verbs/GetSettings.d.ts +12 -0
  235. package/dist/Verbs/GetSettings.d.ts.map +1 -0
  236. package/dist/Verbs/GetSettings.js +48 -0
  237. package/dist/Verbs/GetSettings.js.map +1 -0
  238. package/dist/Verbs/Init.d.ts +6 -0
  239. package/dist/Verbs/Init.d.ts.map +1 -0
  240. package/dist/Verbs/Init.js +172 -0
  241. package/dist/Verbs/Init.js.map +1 -0
  242. package/dist/Verbs/ListConnectionReferences.d.ts +6 -0
  243. package/dist/Verbs/ListConnectionReferences.d.ts.map +1 -0
  244. package/dist/Verbs/ListConnectionReferences.js +70 -0
  245. package/dist/Verbs/ListConnectionReferences.js.map +1 -0
  246. package/dist/Verbs/ListConnectorActions.d.ts +6 -0
  247. package/dist/Verbs/ListConnectorActions.d.ts.map +1 -0
  248. package/dist/Verbs/ListConnectorActions.js +79 -0
  249. package/dist/Verbs/ListConnectorActions.js.map +1 -0
  250. package/dist/Verbs/ListConnectors.d.ts +6 -0
  251. package/dist/Verbs/ListConnectors.d.ts.map +1 -0
  252. package/dist/Verbs/ListConnectors.js +66 -0
  253. package/dist/Verbs/ListConnectors.js.map +1 -0
  254. package/dist/Verbs/ListDatasets.d.ts +6 -0
  255. package/dist/Verbs/ListDatasets.d.ts.map +1 -0
  256. package/dist/Verbs/ListDatasets.js +83 -0
  257. package/dist/Verbs/ListDatasets.js.map +1 -0
  258. package/dist/Verbs/ListEnvironmentVariables.d.ts +14 -0
  259. package/dist/Verbs/ListEnvironmentVariables.d.ts.map +1 -0
  260. package/dist/Verbs/ListEnvironmentVariables.js +66 -0
  261. package/dist/Verbs/ListEnvironmentVariables.js.map +1 -0
  262. package/dist/Verbs/ListFlows.d.ts +13 -0
  263. package/dist/Verbs/ListFlows.d.ts.map +1 -0
  264. package/dist/Verbs/ListFlows.js +88 -0
  265. package/dist/Verbs/ListFlows.js.map +1 -0
  266. package/dist/Verbs/ListMaafApps.d.ts +71 -0
  267. package/dist/Verbs/ListMaafApps.d.ts.map +1 -0
  268. package/dist/Verbs/ListMaafApps.js +168 -0
  269. package/dist/Verbs/ListMaafApps.js.map +1 -0
  270. package/dist/Verbs/ListSqlStoredProcedures.d.ts +6 -0
  271. package/dist/Verbs/ListSqlStoredProcedures.d.ts.map +1 -0
  272. package/dist/Verbs/ListSqlStoredProcedures.js +84 -0
  273. package/dist/Verbs/ListSqlStoredProcedures.js.map +1 -0
  274. package/dist/Verbs/ListTables.d.ts +6 -0
  275. package/dist/Verbs/ListTables.d.ts.map +1 -0
  276. package/dist/Verbs/ListTables.js +95 -0
  277. package/dist/Verbs/ListTables.js.map +1 -0
  278. package/dist/Verbs/Login.d.ts +6 -0
  279. package/dist/Verbs/Login.d.ts.map +1 -0
  280. package/dist/Verbs/Login.js +28 -0
  281. package/dist/Verbs/Login.js.map +1 -0
  282. package/dist/Verbs/Logout.d.ts +6 -0
  283. package/dist/Verbs/Logout.d.ts.map +1 -0
  284. package/dist/Verbs/Logout.js +28 -0
  285. package/dist/Verbs/Logout.js.map +1 -0
  286. package/dist/Verbs/MaafAppPermissions.d.ts +23 -0
  287. package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -0
  288. package/dist/Verbs/MaafAppPermissions.js +278 -0
  289. package/dist/Verbs/MaafAppPermissions.js.map +1 -0
  290. package/dist/Verbs/Pack.d.ts +38 -0
  291. package/dist/Verbs/Pack.d.ts.map +1 -0
  292. package/dist/Verbs/Pack.js +106 -0
  293. package/dist/Verbs/Pack.js.map +1 -0
  294. package/dist/Verbs/PushMaafApp.d.ts +6 -0
  295. package/dist/Verbs/PushMaafApp.d.ts.map +1 -0
  296. package/dist/Verbs/PushMaafApp.js +145 -0
  297. package/dist/Verbs/PushMaafApp.js.map +1 -0
  298. package/dist/Verbs/RefreshDataSource.d.ts +6 -0
  299. package/dist/Verbs/RefreshDataSource.d.ts.map +1 -0
  300. package/dist/Verbs/RefreshDataSource.js +72 -0
  301. package/dist/Verbs/RefreshDataSource.js.map +1 -0
  302. package/dist/Verbs/RemoveFlow.d.ts +12 -0
  303. package/dist/Verbs/RemoveFlow.d.ts.map +1 -0
  304. package/dist/Verbs/RemoveFlow.js +99 -0
  305. package/dist/Verbs/RemoveFlow.js.map +1 -0
  306. package/dist/Verbs/SetSetting.d.ts +12 -0
  307. package/dist/Verbs/SetSetting.d.ts.map +1 -0
  308. package/dist/Verbs/SetSetting.js +142 -0
  309. package/dist/Verbs/SetSetting.js.map +1 -0
  310. package/dist/Verbs/ShareMaafApp.d.ts +12 -0
  311. package/dist/Verbs/ShareMaafApp.d.ts.map +1 -0
  312. package/dist/Verbs/ShareMaafApp.js +14 -0
  313. package/dist/Verbs/ShareMaafApp.js.map +1 -0
  314. package/dist/Verbs/ShowMaafApp.d.ts +94 -0
  315. package/dist/Verbs/ShowMaafApp.d.ts.map +1 -0
  316. package/dist/Verbs/ShowMaafApp.js +216 -0
  317. package/dist/Verbs/ShowMaafApp.js.map +1 -0
  318. package/dist/Verbs/TelemetrySettings.d.ts +8 -0
  319. package/dist/Verbs/TelemetrySettings.d.ts.map +1 -0
  320. package/dist/Verbs/TelemetrySettings.js +104 -0
  321. package/dist/Verbs/TelemetrySettings.js.map +1 -0
  322. package/dist/Verbs/UnshareMaafApp.d.ts +12 -0
  323. package/dist/Verbs/UnshareMaafApp.d.ts.map +1 -0
  324. package/dist/Verbs/UnshareMaafApp.js +14 -0
  325. package/dist/Verbs/UnshareMaafApp.js.map +1 -0
  326. package/dist/Verbs/VerbConstants.d.ts +433 -0
  327. package/dist/Verbs/VerbConstants.d.ts.map +1 -0
  328. package/dist/Verbs/VerbConstants.js +403 -0
  329. package/dist/Verbs/VerbConstants.js.map +1 -0
  330. package/dist/Verbs/index.d.ts +40 -0
  331. package/dist/Verbs/index.d.ts.map +1 -0
  332. package/dist/Verbs/index.js +40 -0
  333. package/dist/Verbs/index.js.map +1 -0
  334. package/package.json +43 -3
@@ -0,0 +1,60 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { ConfidentialClientApplication } from '@azure/msal-node';
5
+ import { getAuthority } from '../CliUtils.js';
6
+ import { cliEnvVarFullName, getCliEnvVar } from '../Utils/EnvVars.js';
7
+ /**
8
+ * Authenticates using a service principal (client credentials flow). Requires MS_CLI_SP_CLIENT_ID,
9
+ * MS_CLI_SP_CLIENT_SECRET, and MS_CLI_SP_TENANT_ID environment variables. Activated via
10
+ * MS_CLI_USE_SP_AUTH=true (or CI=true in test runs).
11
+ */
12
+ export class ServicePrincipalAuthenticationProvider {
13
+ _msalClient;
14
+ _clientId;
15
+ _clientSecret;
16
+ _tenantId;
17
+ _region;
18
+ constructor() {
19
+ const clientId = getCliEnvVar('SP_CLIENT_ID');
20
+ const clientSecret = getCliEnvVar('SP_CLIENT_SECRET');
21
+ const tenantId = getCliEnvVar('SP_TENANT_ID');
22
+ if (!clientId || !clientSecret || !tenantId) {
23
+ throw new Error(`Service principal environment variables ${cliEnvVarFullName('SP_CLIENT_ID')}, ${cliEnvVarFullName('SP_CLIENT_SECRET')}, and ${cliEnvVarFullName('SP_TENANT_ID')} must be set`);
24
+ }
25
+ this._clientId = clientId;
26
+ this._clientSecret = clientSecret;
27
+ this._tenantId = tenantId;
28
+ }
29
+ async initAsync(region) {
30
+ this._region = region;
31
+ const authConfig = {
32
+ auth: {
33
+ clientId: this._clientId,
34
+ clientSecret: this._clientSecret,
35
+ authority: getAuthority(this._region, this._tenantId),
36
+ },
37
+ };
38
+ this._msalClient = new ConfidentialClientApplication(authConfig);
39
+ }
40
+ async getAccessTokenForResource(resource, _loginHint) {
41
+ if (!this._msalClient) {
42
+ throw new Error('Authentication not initialized yet');
43
+ }
44
+ const clientCredentialRequest = {
45
+ scopes: [resource + '/.default'],
46
+ };
47
+ const result = await this._msalClient.acquireTokenByClientCredential(clientCredentialRequest);
48
+ if (!result?.accessToken) {
49
+ throw new Error('Failed to acquire token using service principal');
50
+ }
51
+ return result.accessToken;
52
+ }
53
+ getUserTenantId() {
54
+ return this._tenantId;
55
+ }
56
+ async getCachedAccountAsync() {
57
+ return `Service Principal:${this._clientId}`;
58
+ }
59
+ }
60
+ //# sourceMappingURL=ServicePrincipalAuthenticationProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServicePrincipalAuthenticationProvider.js","sourceRoot":"","sources":["../../src/Authentication/ServicePrincipalAuthenticationProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;;;GAIG;AACH,MAAM,OAAO,sCAAsC;IACzC,WAAW,CAA4C;IACvD,SAAS,CAAS;IAClB,aAAa,CAAS;IACtB,SAAS,CAAS;IAClB,OAAO,CAAqB;IAEpC;QACE,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,2CAA2C,iBAAiB,CAAC,cAAc,CAAC,KAAK,iBAAiB,CAAC,kBAAkB,CAAC,SAAS,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAC/K,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAc;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,MAAM,UAAU,GAAkB;YAChC,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;aACtD;SACF,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,yBAAyB,CAAC,QAAgB,EAAE,UAAmB;QAC1E,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,uBAAuB,GAAG;YAC9B,MAAM,EAAE,CAAC,QAAQ,GAAG,WAAW,CAAC;SACjC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,uBAAuB,CAAC,CAAC;QAE9F,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAChC,OAAO,qBAAqB,IAAI,CAAC,SAAS,EAAE,CAAC;IAC/C,CAAC;CACF"}
package/dist/Bin.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /*!
3
+ * Copyright (C) Microsoft Corporation. All rights reserved.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=Bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bin.d.ts","sourceRoot":"","sources":["../src/Bin.ts"],"names":[],"mappings":";AAEA;;GAEG"}
package/dist/Bin.js ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /*!
3
+ * Copyright (C) Microsoft Corporation. All rights reserved.
4
+ */
5
+ import { boot } from './Cli.js';
6
+ boot();
7
+ //# sourceMappingURL=Bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bin.js","sourceRoot":"","sources":["../src/Bin.ts"],"names":[],"mappings":";AAEA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,IAAI,EAAE,CAAC"}
package/dist/Cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function boot(): Promise<void>;
2
+ //# sourceMappingURL=Cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"AAiBA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAmF1C"}
package/dist/Cli.js ADDED
@@ -0,0 +1,95 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { Clouds, cloudToRegion } from '@microsoft/apps-common/services';
5
+ import { ArgumentProvider } from './ArgumentProvider.js';
6
+ import { OrchardAuthenticationProvider } from './Authentication/OrchardAuthenticationProvider.js';
7
+ import { initializeCliSettings, setCliLogger } from './CliSettings.js';
8
+ import { AppError } from './Errors/CliError.js';
9
+ import { CliHttpClient } from './HttpClient/CliHttpClient.js';
10
+ import { OrchardProxy } from './HttpClient/OrchardProxy.js';
11
+ import { CliLogger } from './Logger/CliLogger.js';
12
+ import { printError, printJsonError } from './Utils/ConsoleOutput.js';
13
+ import { getCliEnvVarBool, getSystemEnvVar, setSystemEnvVar } from './Utils/EnvVars.js';
14
+ let logger;
15
+ let exitCode = 0;
16
+ export async function boot() {
17
+ let argumentProvider;
18
+ try {
19
+ if (process.argv.includes('--no-color')) {
20
+ setSystemEnvVar('NO_COLOR', '1');
21
+ }
22
+ const isTestRun = getSystemEnvVar('CI') === 'true';
23
+ const hasNonInteractiveFlag = process.argv.includes('--non-interactive');
24
+ const source = 'standalone';
25
+ const interactive = !isTestRun && !hasNonInteractiveFlag && process.stdin.isTTY === true;
26
+ const cliSettings = await initializeCliSettings({ source, interactive });
27
+ let authenticationProvider;
28
+ let httpClient;
29
+ if (getCliEnvVarBool('CONFIG_PROXY')) {
30
+ const configCloud = cliSettings.appConfig?.cloud;
31
+ const cloud = configCloud && Clouds.includes(configCloud.toLowerCase())
32
+ ? configCloud.toLowerCase()
33
+ : 'public';
34
+ const region = cloudToRegion(cloud);
35
+ authenticationProvider = new OrchardAuthenticationProvider();
36
+ httpClient = new CliHttpClient(authenticationProvider, [new OrchardProxy(region)]);
37
+ }
38
+ else {
39
+ if (isTestRun || getCliEnvVarBool('USE_SP_AUTH')) {
40
+ const { ServicePrincipalAuthenticationProvider } = await import('./Authentication/ServicePrincipalAuthenticationProvider.js');
41
+ authenticationProvider = new ServicePrincipalAuthenticationProvider();
42
+ }
43
+ else {
44
+ // Dynamically import NodeMsalAuthenticationProvider only when needed
45
+ const { NodeMsalAuthenticationProvider } = await import('./Authentication/NodeMsalAuthenticationProvider.js');
46
+ authenticationProvider = new NodeMsalAuthenticationProvider();
47
+ }
48
+ httpClient = new CliHttpClient(authenticationProvider);
49
+ }
50
+ // The CLI logger might need to use httpClient and environment info during its initialization
51
+ // So we create it after the httpClient and authenticationProvider are ready
52
+ logger = await CliLogger.create(cliSettings, httpClient);
53
+ setCliLogger(logger);
54
+ argumentProvider = new ArgumentProvider(httpClient, logger, authenticationProvider);
55
+ argumentProvider.handleGlobalHelpOrFlagsAndExit();
56
+ // Dispatch via the resolved command from the registry
57
+ const resolved = argumentProvider.getResolvedCommand();
58
+ if (resolved) {
59
+ await resolved.handler(argumentProvider);
60
+ }
61
+ else {
62
+ // Fallback: getVerb() will throw a UsageError for unknown commands
63
+ argumentProvider.getVerb();
64
+ }
65
+ }
66
+ catch (err) {
67
+ const message = err instanceof Error ? err.message : String(err);
68
+ exitCode = err instanceof AppError ? err.exitCode : 1;
69
+ // Prefer the ArgumentProvider's parsed view of `--json` once it exists —
70
+ // it won't be fooled by `--json` appearing as a value to another flag
71
+ // (e.g. `--display-name --json`). For very early throws (before
72
+ // construction) fall back to an argv peek, same trick used for
73
+ // --no-color above.
74
+ const isJson = argumentProvider?.isJsonMode() ?? process.argv.includes('--json');
75
+ if (isJson) {
76
+ printJsonError(message, exitCode);
77
+ }
78
+ else {
79
+ printError(message);
80
+ }
81
+ logger?.trackErrorEvent('CLI.UnhandledError', {
82
+ message,
83
+ exitCode,
84
+ name: err instanceof Error ? err.name : undefined,
85
+ });
86
+ }
87
+ finally {
88
+ // Ensure logger flush on exit
89
+ if (logger) {
90
+ await logger.flush();
91
+ }
92
+ process.exit(exitCode);
93
+ }
94
+ }
95
+ //# sourceMappingURL=Cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ILogger } from '@microsoft/apps-common/telemetry';
5
+ import type { CliSettings, LocalFilePaths } from './Types/Cli.types.js';
6
+ export declare function initializeCliSettings({ source, interactive, fileConfig, }: {
7
+ source: 'pac-cli' | 'standalone';
8
+ interactive: boolean;
9
+ fileConfig?: LocalFilePaths;
10
+ }): Promise<CliSettings>;
11
+ export declare function setCliLogger(logger: ILogger): void;
12
+ export declare function getCliLogger(): ILogger;
13
+ export declare function getSettings(): CliSettings;
14
+ //# sourceMappingURL=CliSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliSettings.d.ts","sourceRoot":"","sources":["../src/CliSettings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,kCAAkC,CAAC;AAIjF,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKrE,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,WAAW,EACX,UAIC,GACF,EAAE;IACD,MAAM,EAAE,SAAS,GAAG,YAAY,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,wBAwBA;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAElD;AAED,wBAAgB,YAAY,IAAI,OAAO,CA0BtC;AAED,wBAAgB,WAAW,IAAI,WAAW,CAOzC"}
@@ -0,0 +1,76 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import * as path from 'node:path';
5
+ import { readRepoConfig } from '@microsoft/apps-actions';
6
+ import { setVfs } from '@microsoft/apps-actions';
7
+ import { AppArtifactDirName, AppConfigFileName } from '@microsoft/apps-common/config';
8
+ import { WORKING_DIRECTORY } from './Constants.js';
9
+ import { CliFS } from './FS/CliFs.js';
10
+ let _cliSettings;
11
+ let _logger;
12
+ export async function initializeCliSettings({ source, interactive, fileConfig = {
13
+ appConfigPath: path.join(WORKING_DIRECTORY, AppConfigFileName),
14
+ schemaPath: path.join(WORKING_DIRECTORY, AppArtifactDirName, 'schemas'),
15
+ codeGenPath: WORKING_DIRECTORY,
16
+ }, }) {
17
+ const cliFs = new CliFS({
18
+ cwd: process.cwd(),
19
+ allowCwdRead: true,
20
+ allowCwdWrite: true,
21
+ });
22
+ // Set VFS at initialize to read the config
23
+ setVfs(cliFs);
24
+ let appConfig;
25
+ try {
26
+ appConfig = await readRepoConfig(fileConfig.appConfigPath);
27
+ }
28
+ catch (error) {
29
+ // Ignore error, there are commands where a config file is not needed
30
+ }
31
+ _cliSettings = {
32
+ source,
33
+ interactive,
34
+ fileConfig,
35
+ cliFs,
36
+ appConfig,
37
+ };
38
+ return _cliSettings;
39
+ }
40
+ export function setCliLogger(logger) {
41
+ _logger = logger;
42
+ }
43
+ export function getCliLogger() {
44
+ if (!_logger) {
45
+ // return a no-op logger if not initialized to prevent crashes
46
+ /* eslint-disable no-empty-function */
47
+ return {
48
+ trackActivityEvent: (_eventName, _eventData) => { },
49
+ trackVerboseEvent: (_eventName, _eventData) => { },
50
+ trackErrorEvent: (_eventName, _eventData) => { },
51
+ trackScenario: (_name, _scenarioData) => {
52
+ return {
53
+ complete: (_endScenarioData) => { },
54
+ failure: (_error, _failureData) => { },
55
+ completeWithError: (_completeWithErrorData) => { },
56
+ };
57
+ },
58
+ setDefaultProperty: (_name, _value) => { },
59
+ identifyUser: (_identity) => { },
60
+ get sessionId() {
61
+ return undefined;
62
+ },
63
+ set sessionId(_value) { },
64
+ flush: () => Promise.resolve(),
65
+ };
66
+ }
67
+ /* eslint-enable no-empty-function */
68
+ return _logger;
69
+ }
70
+ export function getSettings() {
71
+ if (!_cliSettings) {
72
+ throw new Error('CLI settings have not been initialized. Please call initializeCliSettings first.');
73
+ }
74
+ return _cliSettings;
75
+ }
76
+ //# sourceMappingURL=CliSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliSettings.js","sourceRoot":"","sources":["../src/CliSettings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,IAAI,YAAyB,CAAC;AAC9B,IAAI,OAAgB,CAAC;AAErB,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,MAAM,EACN,WAAW,EACX,UAAU,GAAG;IACX,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9D,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,CAAC;IACvE,WAAW,EAAE,iBAAiB;CAC/B,GAKF;IACC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,2CAA2C;IAC3C,MAAM,CAAC,KAAK,CAAC,CAAC;IAEd,IAAI,SAAgC,CAAC;IACrC,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qEAAqE;IACvE,CAAC;IACD,YAAY,GAAG;QACb,MAAM;QACN,WAAW;QACX,UAAU;QACV,KAAK;QACL,SAAS;KACV,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAe;IAC1C,OAAO,GAAG,MAAM,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,8DAA8D;QAC9D,sCAAsC;QACtC,OAAO;YACL,kBAAkB,EAAE,CAAC,UAAkB,EAAE,UAAmB,EAAE,EAAE,GAAE,CAAC;YACnE,iBAAiB,EAAE,CAAC,UAAkB,EAAE,UAAmB,EAAE,EAAE,GAAE,CAAC;YAClE,eAAe,EAAE,CAAC,UAAkB,EAAE,UAAmB,EAAE,EAAE,GAAE,CAAC;YAChE,aAAa,EAAE,CAAC,KAAa,EAAE,aAAsB,EAAmB,EAAE;gBACxE,OAAO;oBACL,QAAQ,EAAE,CAAC,gBAAyB,EAAE,EAAE,GAAE,CAAC;oBAC3C,OAAO,EAAE,CAAC,MAAgB,EAAE,YAAqB,EAAE,EAAE,GAAE,CAAC;oBACxD,iBAAiB,EAAE,CAAC,sBAA+B,EAAE,EAAE,GAAE,CAAC;iBAC3D,CAAC;YACJ,CAAC;YACD,kBAAkB,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,GAAE,CAAC;YACzD,YAAY,EAAE,CAAC,SAAiB,EAAE,EAAE,GAAE,CAAC;YACvC,IAAI,SAAS;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,SAAS,CAAC,MAAc,IAAG,CAAC;YAChC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;SAC/B,CAAC;IACJ,CAAC;IACD,qCAAqC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,92 @@
1
+ import type { Region } from '@microsoft/apps-common/services';
2
+ import type { ArgumentProvider } from './ArgumentProvider.js';
3
+ import type { CliOption, DefaultStringOption } from './Types/Argument.types.js';
4
+ /**
5
+ * Prompts the user for text input. Exits the process if the user cancels.
6
+ */
7
+ export declare function promptText(options: {
8
+ message: string;
9
+ initialValue?: string;
10
+ }): Promise<string>;
11
+ /**
12
+ * Prompts the user for confirmation. Exits the process if the user cancels.
13
+ */
14
+ export declare function promptConfirm(options: {
15
+ message: string;
16
+ initialValue?: boolean;
17
+ }): Promise<boolean>;
18
+ /**
19
+ * Prompts the user to select from a list of options. Exits the process if the user cancels.
20
+ */
21
+ export declare function promptSelect<T>(options: {
22
+ message: string;
23
+ options: Array<{
24
+ value: T;
25
+ label: string;
26
+ hint?: string;
27
+ }>;
28
+ }): Promise<T>;
29
+ /**
30
+ * Prompts the user to select from a list, with search filtering and an "Enter manually..."
31
+ * fallback. When the list exceeds pageSize (default 10), shows a search prompt first so the
32
+ * user can narrow the results before picking. Exits the process if the user cancels.
33
+ */
34
+ export declare function promptSelectOrInput(options: {
35
+ message: string;
36
+ options: Array<{
37
+ value: string;
38
+ label: string;
39
+ hint?: string;
40
+ }>;
41
+ manualPromptMessage?: string;
42
+ pageSize?: number;
43
+ }): Promise<string>;
44
+ export declare function createDefaultStringOption(options: DefaultStringOption): CliOption<string>;
45
+ /**
46
+ * Extracts the short environment ID from either a short name or a full ARM resource path.
47
+ *
48
+ * ARM path: /providers/Microsoft.PowerApps/environments/default-91bee3d9-0c15-4f17-8624-c92bb8b36ead
49
+ * Short name: default-91bee3d9-0c15-4f17-8624-c92bb8b36ead
50
+ *
51
+ * Both inputs return: default-91bee3d9-0c15-4f17-8624-c92bb8b36ead
52
+ */
53
+ export declare function extractEnvironmentId(value: string): string;
54
+ /**
55
+ * Extracts the short app identifier (usually a GUID) from either a short name or a full
56
+ * ARM resource path.
57
+ *
58
+ * ARM path: /providers/Microsoft.PowerApps/apps/9f8c4b2a-1234-4abc-9876-1f2e3d4c5b6a
59
+ * Short name: 9f8c4b2a-1234-4abc-9876-1f2e3d4c5b6a
60
+ *
61
+ * Both inputs return: 9f8c4b2a-1234-4abc-9876-1f2e3d4c5b6a
62
+ */
63
+ export declare function extractAppId(value: string): string;
64
+ /**
65
+ * Resolves the app identifier from the --app/-a flag, falling back to `appId` in
66
+ * ms.config.json when the flag is omitted. Used by app-scoped verbs (build,
67
+ * deploy, info, build-status) so a user inside a scaffolded app directory doesn't
68
+ * need to pass --app every time.
69
+ */
70
+ export declare function resolveAppNameAsync(argumentProvider: ArgumentProvider): Promise<string>;
71
+ /**
72
+ * Resolves the environment ID for app-scoped MAAF verbs (delete, info, share,
73
+ * unshare, etc.) and pushes it into player services so the URL builder targets
74
+ * the right tenant cluster.
75
+ *
76
+ * Resolution order — flag wins so `--environment-id` is an explicit override:
77
+ * 1. `--environment-id` flag (read with `ignorePrompt: true`; verbs register it
78
+ * as `optionalInNonInteractive`, so getOption returns undefined when omitted).
79
+ * 2. `argumentProvider.getEnvironmentId()`, which `ArgumentProvider` seeds in its
80
+ * constructor from `ms.config.json` (the supported flow) or the
81
+ * `MS_CLI_MAAF_DEBUG_ENVIRONMENT_ID` env var when config omits it.
82
+ *
83
+ * Throws a config-pointing `UsageError` when neither side resolves. On success,
84
+ * calls `updateEnvironmentName` so the singleton player services config that
85
+ * `getPowerPlatformApiEnvironmentConfig` reads matches the resolved value
86
+ * (without this, the override is silently discarded — a wrong-env footgun for
87
+ * destructive verbs like delete).
88
+ */
89
+ export declare function resolveEnvironmentId(argumentProvider: ArgumentProvider): Promise<string>;
90
+ export declare function isGuid(value: string): boolean;
91
+ export declare function getAuthority(region: Region | undefined, tenantId: string | undefined): string;
92
+ //# sourceMappingURL=CliUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliUtils.d.ts","sourceRoot":"","sources":["../src/CliUtils.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7E;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D,GAAG,OAAO,CAAC,CAAC,CAAC,CAOb;AAQD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmClB;AA+DD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAWzF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9F;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG7C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAU7F"}
@@ -0,0 +1,218 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import * as prompts from '@clack/prompts';
5
+ import { isCancel } from '@clack/prompts';
6
+ import { updateEnvironmentName } from '@microsoft/apps-actions';
7
+ import { AppConfigFileName } from '@microsoft/apps-common/config';
8
+ import { getSettings } from './CliSettings.js';
9
+ import { UsageError } from './Errors/CliError.js';
10
+ import { printWarning } from './Utils/ConsoleOutput.js';
11
+ /**
12
+ * Prompts the user for text input. Exits the process if the user cancels.
13
+ */
14
+ export async function promptText(options) {
15
+ const result = await prompts.text(options);
16
+ if (isCancel(result)) {
17
+ printWarning('Operation cancelled by user.');
18
+ process.exit(0);
19
+ }
20
+ return result;
21
+ }
22
+ /**
23
+ * Prompts the user for confirmation. Exits the process if the user cancels.
24
+ */
25
+ export async function promptConfirm(options) {
26
+ const result = await prompts.confirm(options);
27
+ if (isCancel(result)) {
28
+ printWarning('Operation cancelled by user.');
29
+ process.exit(0);
30
+ }
31
+ return result;
32
+ }
33
+ /**
34
+ * Prompts the user to select from a list of options. Exits the process if the user cancels.
35
+ */
36
+ export async function promptSelect(options) {
37
+ const result = await prompts.select(options);
38
+ if (isCancel(result)) {
39
+ printWarning('Operation cancelled by user.');
40
+ process.exit(0);
41
+ }
42
+ return result;
43
+ }
44
+ const ENTER_MANUALLY = '__enter_manually__';
45
+ const PREV_PAGE = '__prev_page__';
46
+ const NEXT_PAGE = '__next_page__';
47
+ const SEARCH_AGAIN = '__search_again__';
48
+ const DEFAULT_PAGE_SIZE = 10;
49
+ /**
50
+ * Prompts the user to select from a list, with search filtering and an "Enter manually..."
51
+ * fallback. When the list exceeds pageSize (default 10), shows a search prompt first so the
52
+ * user can narrow the results before picking. Exits the process if the user cancels.
53
+ */
54
+ export async function promptSelectOrInput(options) {
55
+ const pageSize = options.pageSize ?? DEFAULT_PAGE_SIZE;
56
+ const allItems = options.options;
57
+ // Small list — plain select with manual fallback, no search needed.
58
+ if (allItems.length <= pageSize) {
59
+ return _selectPage(options.message, allItems, options.manualPromptMessage, false);
60
+ }
61
+ // Large list — search loop: filter first, then pick from results.
62
+ let filter = '';
63
+ let selected = SEARCH_AGAIN;
64
+ while (selected === SEARCH_AGAIN) {
65
+ const lower = filter.toLowerCase();
66
+ const filtered = filter
67
+ ? allItems.filter((i) => i.label.toLowerCase().includes(lower) || i.value.toLowerCase().includes(lower))
68
+ : allItems;
69
+ const filterHint = filter
70
+ ? ` — filtering "${filter}" (${filtered.length}/${allItems.length})`
71
+ : ` (${allItems.length} total)`;
72
+ selected = await _selectPageLoop(`${options.message}${filterHint}`, filtered, options.manualPromptMessage, pageSize);
73
+ if (selected === SEARCH_AGAIN) {
74
+ filter = await promptText({ message: 'Filter (leave blank to show all):' });
75
+ }
76
+ }
77
+ return selected;
78
+ }
79
+ async function _selectPageLoop(message, items, manualPromptMessage, pageSize) {
80
+ if (items.length <= pageSize) {
81
+ return _selectPage(message, items, manualPromptMessage, true);
82
+ }
83
+ const totalPages = Math.ceil(items.length / pageSize);
84
+ let page = 0;
85
+ let selected = PREV_PAGE;
86
+ while (selected === PREV_PAGE || selected === NEXT_PAGE) {
87
+ const start = page * pageSize;
88
+ const pageItems = items.slice(start, start + pageSize);
89
+ const choices = [];
90
+ if (page > 0) {
91
+ choices.push({ value: PREV_PAGE, label: '← Previous page' });
92
+ }
93
+ choices.push(...pageItems);
94
+ if (page < totalPages - 1) {
95
+ const remaining = items.length - (start + pageSize);
96
+ choices.push({ value: NEXT_PAGE, label: `Next page → (${remaining} more)` });
97
+ }
98
+ choices.push({ value: SEARCH_AGAIN, label: '(Search / filter...)' });
99
+ choices.push({ value: ENTER_MANUALLY, label: '(Enter manually...)' });
100
+ const pageLabel = `${message} [page ${page + 1}/${totalPages}]`;
101
+ selected = await promptSelect({ message: pageLabel, options: choices });
102
+ if (selected === PREV_PAGE) {
103
+ page--;
104
+ }
105
+ else if (selected === NEXT_PAGE) {
106
+ page++;
107
+ }
108
+ }
109
+ return selected;
110
+ }
111
+ async function _selectPage(message, items, manualPromptMessage, includeSearchAgain) {
112
+ const choices = [...items];
113
+ if (includeSearchAgain) {
114
+ choices.push({ value: SEARCH_AGAIN, label: '(Search / filter...)' });
115
+ }
116
+ choices.push({ value: ENTER_MANUALLY, label: '(Enter manually...)' });
117
+ const selected = await promptSelect({ message, options: choices });
118
+ if (selected === ENTER_MANUALLY) {
119
+ return promptText({ message: manualPromptMessage ?? message });
120
+ }
121
+ return selected;
122
+ }
123
+ export function createDefaultStringOption(options) {
124
+ const { flags, env, message, initialValue, description, default: defaultValue } = options;
125
+ return {
126
+ flags,
127
+ env,
128
+ description,
129
+ default: defaultValue,
130
+ customPrompt: async () => {
131
+ return await promptText({ message, initialValue });
132
+ },
133
+ };
134
+ }
135
+ /**
136
+ * Extracts the short environment ID from either a short name or a full ARM resource path.
137
+ *
138
+ * ARM path: /providers/Microsoft.PowerApps/environments/default-91bee3d9-0c15-4f17-8624-c92bb8b36ead
139
+ * Short name: default-91bee3d9-0c15-4f17-8624-c92bb8b36ead
140
+ *
141
+ * Both inputs return: default-91bee3d9-0c15-4f17-8624-c92bb8b36ead
142
+ */
143
+ export function extractEnvironmentId(value) {
144
+ const match = value.match(/\/environments\/([^/]+)\/?$/);
145
+ return match ? match[1] : value;
146
+ }
147
+ /**
148
+ * Extracts the short app identifier (usually a GUID) from either a short name or a full
149
+ * ARM resource path.
150
+ *
151
+ * ARM path: /providers/Microsoft.PowerApps/apps/9f8c4b2a-1234-4abc-9876-1f2e3d4c5b6a
152
+ * Short name: 9f8c4b2a-1234-4abc-9876-1f2e3d4c5b6a
153
+ *
154
+ * Both inputs return: 9f8c4b2a-1234-4abc-9876-1f2e3d4c5b6a
155
+ */
156
+ export function extractAppId(value) {
157
+ const match = value.match(/\/apps\/([^/]+)\/?$/);
158
+ return match ? match[1] : value;
159
+ }
160
+ /**
161
+ * Resolves the app identifier from the --app/-a flag, falling back to `appId` in
162
+ * ms.config.json when the flag is omitted. Used by app-scoped verbs (build,
163
+ * deploy, info, build-status) so a user inside a scaffolded app directory doesn't
164
+ * need to pass --app every time.
165
+ */
166
+ export async function resolveAppNameAsync(argumentProvider) {
167
+ const fromFlag = await argumentProvider.getOption('app', /* ignorePrompt */ true);
168
+ const fromConfig = getSettings().appConfig?.appId;
169
+ const appName = fromFlag ?? fromConfig;
170
+ if (!appName) {
171
+ throw new UsageError(`Argument app is required. Use --app or -a to specify it, or run this command from a directory with a ${AppConfigFileName} (created by \`ms app create\`).`);
172
+ }
173
+ return appName;
174
+ }
175
+ /**
176
+ * Resolves the environment ID for app-scoped MAAF verbs (delete, info, share,
177
+ * unshare, etc.) and pushes it into player services so the URL builder targets
178
+ * the right tenant cluster.
179
+ *
180
+ * Resolution order — flag wins so `--environment-id` is an explicit override:
181
+ * 1. `--environment-id` flag (read with `ignorePrompt: true`; verbs register it
182
+ * as `optionalInNonInteractive`, so getOption returns undefined when omitted).
183
+ * 2. `argumentProvider.getEnvironmentId()`, which `ArgumentProvider` seeds in its
184
+ * constructor from `ms.config.json` (the supported flow) or the
185
+ * `MS_CLI_MAAF_DEBUG_ENVIRONMENT_ID` env var when config omits it.
186
+ *
187
+ * Throws a config-pointing `UsageError` when neither side resolves. On success,
188
+ * calls `updateEnvironmentName` so the singleton player services config that
189
+ * `getPowerPlatformApiEnvironmentConfig` reads matches the resolved value
190
+ * (without this, the override is silently discarded — a wrong-env footgun for
191
+ * destructive verbs like delete).
192
+ */
193
+ export async function resolveEnvironmentId(argumentProvider) {
194
+ const fromFlag = await argumentProvider.getOption('environmentId',
195
+ /* ignorePrompt */ true);
196
+ const environmentId = fromFlag ?? argumentProvider.getEnvironmentId();
197
+ if (!environmentId) {
198
+ throw new UsageError(`No environment ID found. Use --environment-id or -e to specify it, or run this command from a directory with a ${AppConfigFileName} (created by \`ms app create\`).`);
199
+ }
200
+ updateEnvironmentName(environmentId);
201
+ return environmentId;
202
+ }
203
+ export function isGuid(value) {
204
+ const guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
205
+ return guidRegex.test(value);
206
+ }
207
+ export function getAuthority(region, tenantId) {
208
+ switch (region) {
209
+ case 'gcchigh':
210
+ case 'dod':
211
+ return `https://login.microsoftonline.us/${tenantId || 'organizations'}`;
212
+ case 'mooncake':
213
+ return `https://login.partner.microsoftonline.cn/${tenantId || 'organizations'}`;
214
+ default:
215
+ return `https://login.microsoftonline.com/${tenantId || 'organizations'}`;
216
+ }
217
+ }
218
+ //# sourceMappingURL=CliUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliUtils.js","sourceRoot":"","sources":["../src/CliUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ /** The binary name for the CLI, used in help text and examples. */
5
+ export declare const CLI_BINARY_NAME = "ms";
6
+ //# sourceMappingURL=CliConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliConstants.d.ts","sourceRoot":"","sources":["../../src/Constants/CliConstants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mEAAmE;AACnE,eAAO,MAAM,eAAe,OAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ /** The binary name for the CLI, used in help text and examples. */
5
+ export const CLI_BINARY_NAME = 'ms';
6
+ //# sourceMappingURL=CliConstants.js.map