@microsoft/managed-apps-cli 0.5.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 (331) hide show
  1. package/LICENSE +153 -0
  2. package/README.md +280 -0
  3. package/dist/ArgumentProvider.d.ts +102 -0
  4. package/dist/ArgumentProvider.d.ts.map +1 -0
  5. package/dist/ArgumentProvider.js +376 -0
  6. package/dist/ArgumentProvider.js.map +1 -0
  7. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +18 -0
  8. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -0
  9. package/dist/Authentication/NodeMsalAuthenticationProvider.js +99 -0
  10. package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +1 -0
  11. package/dist/Authentication/OrchardAuthenticationProvider.d.ts +13 -0
  12. package/dist/Authentication/OrchardAuthenticationProvider.d.ts.map +1 -0
  13. package/dist/Authentication/OrchardAuthenticationProvider.js +30 -0
  14. package/dist/Authentication/OrchardAuthenticationProvider.js.map +1 -0
  15. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts +23 -0
  16. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +1 -0
  17. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js +60 -0
  18. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js.map +1 -0
  19. package/dist/Bin.d.ts +6 -0
  20. package/dist/Bin.d.ts.map +1 -0
  21. package/dist/Bin.js +7 -0
  22. package/dist/Bin.js.map +1 -0
  23. package/dist/Cli.d.ts +2 -0
  24. package/dist/Cli.d.ts.map +1 -0
  25. package/dist/Cli.js +91 -0
  26. package/dist/Cli.js.map +1 -0
  27. package/dist/CliSettings.d.ts +14 -0
  28. package/dist/CliSettings.d.ts.map +1 -0
  29. package/dist/CliSettings.js +78 -0
  30. package/dist/CliSettings.js.map +1 -0
  31. package/dist/CliUtils.d.ts +92 -0
  32. package/dist/CliUtils.d.ts.map +1 -0
  33. package/dist/CliUtils.js +218 -0
  34. package/dist/CliUtils.js.map +1 -0
  35. package/dist/Constants/CliConstants.d.ts +6 -0
  36. package/dist/Constants/CliConstants.d.ts.map +1 -0
  37. package/dist/Constants/CliConstants.js +6 -0
  38. package/dist/Constants/CliConstants.js.map +1 -0
  39. package/dist/Constants/CommandRegistry.d.ts +23 -0
  40. package/dist/Constants/CommandRegistry.d.ts.map +1 -0
  41. package/dist/Constants/CommandRegistry.js +193 -0
  42. package/dist/Constants/CommandRegistry.js.map +1 -0
  43. package/dist/Constants/HelpStrings.d.ts +321 -0
  44. package/dist/Constants/HelpStrings.d.ts.map +1 -0
  45. package/dist/Constants/HelpStrings.js +438 -0
  46. package/dist/Constants/HelpStrings.js.map +1 -0
  47. package/dist/Constants.d.ts +10 -0
  48. package/dist/Constants.d.ts.map +1 -0
  49. package/dist/Constants.js +18 -0
  50. package/dist/Constants.js.map +1 -0
  51. package/dist/Errors/CliError.d.ts +5 -0
  52. package/dist/Errors/CliError.d.ts.map +1 -0
  53. package/dist/Errors/CliError.js +7 -0
  54. package/dist/Errors/CliError.js.map +1 -0
  55. package/dist/FS/CliFs.d.ts +41 -0
  56. package/dist/FS/CliFs.d.ts.map +1 -0
  57. package/dist/FS/CliFs.js +136 -0
  58. package/dist/FS/CliFs.js.map +1 -0
  59. package/dist/HttpClient/CliHttpClient.d.ts +24 -0
  60. package/dist/HttpClient/CliHttpClient.d.ts.map +1 -0
  61. package/dist/HttpClient/CliHttpClient.js +122 -0
  62. package/dist/HttpClient/CliHttpClient.js.map +1 -0
  63. package/dist/HttpClient/OrchardProxy.d.ts +11 -0
  64. package/dist/HttpClient/OrchardProxy.d.ts.map +1 -0
  65. package/dist/HttpClient/OrchardProxy.js +25 -0
  66. package/dist/HttpClient/OrchardProxy.js.map +1 -0
  67. package/dist/HttpClient/Proxy.d.ts +7 -0
  68. package/dist/HttpClient/Proxy.d.ts.map +1 -0
  69. package/dist/HttpClient/Proxy.js +5 -0
  70. package/dist/HttpClient/Proxy.js.map +1 -0
  71. package/dist/Logger/CliLogger.d.ts +36 -0
  72. package/dist/Logger/CliLogger.d.ts.map +1 -0
  73. package/dist/Logger/CliLogger.js +235 -0
  74. package/dist/Logger/CliLogger.js.map +1 -0
  75. package/dist/Logger/ConsoleWriter.d.ts +15 -0
  76. package/dist/Logger/ConsoleWriter.d.ts.map +1 -0
  77. package/dist/Logger/ConsoleWriter.js +45 -0
  78. package/dist/Logger/ConsoleWriter.js.map +1 -0
  79. package/dist/Logger/Constants.d.ts +6 -0
  80. package/dist/Logger/Constants.d.ts.map +1 -0
  81. package/dist/Logger/Constants.js +15 -0
  82. package/dist/Logger/Constants.js.map +1 -0
  83. package/dist/Logger/LoggerSettings.d.ts +19 -0
  84. package/dist/Logger/LoggerSettings.d.ts.map +1 -0
  85. package/dist/Logger/LoggerSettings.js +114 -0
  86. package/dist/Logger/LoggerSettings.js.map +1 -0
  87. package/dist/Logger/OneDSWriter.d.ts +22 -0
  88. package/dist/Logger/OneDSWriter.d.ts.map +1 -0
  89. package/dist/Logger/OneDSWriter.js +129 -0
  90. package/dist/Logger/OneDSWriter.js.map +1 -0
  91. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts +5 -0
  92. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts.map +1 -0
  93. package/dist/Logger/Scrubber/ScrubCustomDimensions.js +46 -0
  94. package/dist/Logger/Scrubber/ScrubCustomDimensions.js.map +1 -0
  95. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts +27 -0
  96. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts.map +1 -0
  97. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js +168 -0
  98. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js.map +1 -0
  99. package/dist/Logger/Scrubber/ScrubUtils.d.ts +8 -0
  100. package/dist/Logger/Scrubber/ScrubUtils.d.ts.map +1 -0
  101. package/dist/Logger/Scrubber/ScrubUtils.js +34 -0
  102. package/dist/Logger/Scrubber/ScrubUtils.js.map +1 -0
  103. package/dist/Types/Argument.types.d.ts +27 -0
  104. package/dist/Types/Argument.types.d.ts.map +1 -0
  105. package/dist/Types/Argument.types.js +5 -0
  106. package/dist/Types/Argument.types.js.map +1 -0
  107. package/dist/Types/Cli.types.d.ts +32 -0
  108. package/dist/Types/Cli.types.d.ts.map +1 -0
  109. package/dist/Types/Cli.types.js +5 -0
  110. package/dist/Types/Cli.types.js.map +1 -0
  111. package/dist/Types/Command.types.d.ts +52 -0
  112. package/dist/Types/Command.types.d.ts.map +1 -0
  113. package/dist/Types/Command.types.js +8 -0
  114. package/dist/Types/Command.types.js.map +1 -0
  115. package/dist/Types/Datasource.types.d.ts +43 -0
  116. package/dist/Types/Datasource.types.d.ts.map +1 -0
  117. package/dist/Types/Datasource.types.js +5 -0
  118. package/dist/Types/Datasource.types.js.map +1 -0
  119. package/dist/Types/LoggerTypes.types.d.ts +17 -0
  120. package/dist/Types/LoggerTypes.types.d.ts.map +1 -0
  121. package/dist/Types/LoggerTypes.types.js +5 -0
  122. package/dist/Types/LoggerTypes.types.js.map +1 -0
  123. package/dist/Utils/BuildVerbDescriptionTable.d.ts +19 -0
  124. package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +1 -0
  125. package/dist/Utils/BuildVerbDescriptionTable.js +87 -0
  126. package/dist/Utils/BuildVerbDescriptionTable.js.map +1 -0
  127. package/dist/Utils/ConsoleOutput.d.ts +80 -0
  128. package/dist/Utils/ConsoleOutput.d.ts.map +1 -0
  129. package/dist/Utils/ConsoleOutput.js +151 -0
  130. package/dist/Utils/ConsoleOutput.js.map +1 -0
  131. package/dist/Utils/DetectPackageManager.d.ts +9 -0
  132. package/dist/Utils/DetectPackageManager.d.ts.map +1 -0
  133. package/dist/Utils/DetectPackageManager.js +24 -0
  134. package/dist/Utils/DetectPackageManager.js.map +1 -0
  135. package/dist/Utils/EnhanceNetworkError.d.ts +14 -0
  136. package/dist/Utils/EnhanceNetworkError.d.ts.map +1 -0
  137. package/dist/Utils/EnhanceNetworkError.js +59 -0
  138. package/dist/Utils/EnhanceNetworkError.js.map +1 -0
  139. package/dist/Utils/EnvVars.d.ts +17 -0
  140. package/dist/Utils/EnvVars.d.ts.map +1 -0
  141. package/dist/Utils/EnvVars.js +38 -0
  142. package/dist/Utils/EnvVars.js.map +1 -0
  143. package/dist/Utils/GitCredentialConfig.d.ts +12 -0
  144. package/dist/Utils/GitCredentialConfig.d.ts.map +1 -0
  145. package/dist/Utils/GitCredentialConfig.js +32 -0
  146. package/dist/Utils/GitCredentialConfig.js.map +1 -0
  147. package/dist/Utils/GitUtils.d.ts +22 -0
  148. package/dist/Utils/GitUtils.d.ts.map +1 -0
  149. package/dist/Utils/GitUtils.js +35 -0
  150. package/dist/Utils/GitUtils.js.map +1 -0
  151. package/dist/Utils/Paging.d.ts +23 -0
  152. package/dist/Utils/Paging.d.ts.map +1 -0
  153. package/dist/Utils/Paging.js +67 -0
  154. package/dist/Utils/Paging.js.map +1 -0
  155. package/dist/Utils/ReadPackageJson.d.ts +9 -0
  156. package/dist/Utils/ReadPackageJson.d.ts.map +1 -0
  157. package/dist/Utils/ReadPackageJson.js +13 -0
  158. package/dist/Utils/ReadPackageJson.js.map +1 -0
  159. package/dist/Utils/ResolveCommand.d.ts +26 -0
  160. package/dist/Utils/ResolveCommand.d.ts.map +1 -0
  161. package/dist/Utils/ResolveCommand.js +62 -0
  162. package/dist/Utils/ResolveCommand.js.map +1 -0
  163. package/dist/Utils/RunCommand.d.ts +33 -0
  164. package/dist/Utils/RunCommand.d.ts.map +1 -0
  165. package/dist/Utils/RunCommand.js +83 -0
  166. package/dist/Utils/RunCommand.js.map +1 -0
  167. package/dist/Utils/Spinner.d.ts +15 -0
  168. package/dist/Utils/Spinner.d.ts.map +1 -0
  169. package/dist/Utils/Spinner.js +71 -0
  170. package/dist/Utils/Spinner.js.map +1 -0
  171. package/dist/Utils/zipBuildArtifact.d.ts +35 -0
  172. package/dist/Utils/zipBuildArtifact.d.ts.map +1 -0
  173. package/dist/Utils/zipBuildArtifact.js +100 -0
  174. package/dist/Utils/zipBuildArtifact.js.map +1 -0
  175. package/dist/Verbs/AddAction.d.ts +6 -0
  176. package/dist/Verbs/AddAction.d.ts.map +1 -0
  177. package/dist/Verbs/AddAction.js +87 -0
  178. package/dist/Verbs/AddAction.js.map +1 -0
  179. package/dist/Verbs/AddDataSource.d.ts +19 -0
  180. package/dist/Verbs/AddDataSource.d.ts.map +1 -0
  181. package/dist/Verbs/AddDataSource.js +173 -0
  182. package/dist/Verbs/AddDataSource.js.map +1 -0
  183. package/dist/Verbs/AddFlow.d.ts +12 -0
  184. package/dist/Verbs/AddFlow.d.ts.map +1 -0
  185. package/dist/Verbs/AddFlow.js +67 -0
  186. package/dist/Verbs/AddFlow.js.map +1 -0
  187. package/dist/Verbs/AddTable.d.ts +6 -0
  188. package/dist/Verbs/AddTable.d.ts.map +1 -0
  189. package/dist/Verbs/AddTable.js +163 -0
  190. package/dist/Verbs/AddTable.js.map +1 -0
  191. package/dist/Verbs/AuthStatus.d.ts +6 -0
  192. package/dist/Verbs/AuthStatus.d.ts.map +1 -0
  193. package/dist/Verbs/AuthStatus.js +18 -0
  194. package/dist/Verbs/AuthStatus.js.map +1 -0
  195. package/dist/Verbs/BuildMaafApp.d.ts +6 -0
  196. package/dist/Verbs/BuildMaafApp.d.ts.map +1 -0
  197. package/dist/Verbs/BuildMaafApp.js +96 -0
  198. package/dist/Verbs/BuildMaafApp.js.map +1 -0
  199. package/dist/Verbs/ConnectorHelpers.d.ts +37 -0
  200. package/dist/Verbs/ConnectorHelpers.d.ts.map +1 -0
  201. package/dist/Verbs/ConnectorHelpers.js +116 -0
  202. package/dist/Verbs/ConnectorHelpers.js.map +1 -0
  203. package/dist/Verbs/CreateMaafApp.d.ts +58 -0
  204. package/dist/Verbs/CreateMaafApp.d.ts.map +1 -0
  205. package/dist/Verbs/CreateMaafApp.js +712 -0
  206. package/dist/Verbs/CreateMaafApp.js.map +1 -0
  207. package/dist/Verbs/DeleteDataSource.d.ts +6 -0
  208. package/dist/Verbs/DeleteDataSource.d.ts.map +1 -0
  209. package/dist/Verbs/DeleteDataSource.js +105 -0
  210. package/dist/Verbs/DeleteDataSource.js.map +1 -0
  211. package/dist/Verbs/DeleteMaafApp.d.ts +23 -0
  212. package/dist/Verbs/DeleteMaafApp.d.ts.map +1 -0
  213. package/dist/Verbs/DeleteMaafApp.js +98 -0
  214. package/dist/Verbs/DeleteMaafApp.js.map +1 -0
  215. package/dist/Verbs/DeployMaafApp.d.ts +6 -0
  216. package/dist/Verbs/DeployMaafApp.d.ts.map +1 -0
  217. package/dist/Verbs/DeployMaafApp.js +501 -0
  218. package/dist/Verbs/DeployMaafApp.js.map +1 -0
  219. package/dist/Verbs/Dev.d.ts +6 -0
  220. package/dist/Verbs/Dev.d.ts.map +1 -0
  221. package/dist/Verbs/Dev.js +212 -0
  222. package/dist/Verbs/Dev.js.map +1 -0
  223. package/dist/Verbs/FindDataverseApi.d.ts +12 -0
  224. package/dist/Verbs/FindDataverseApi.d.ts.map +1 -0
  225. package/dist/Verbs/FindDataverseApi.js +101 -0
  226. package/dist/Verbs/FindDataverseApi.js.map +1 -0
  227. package/dist/Verbs/GetMaafApp.d.ts +6 -0
  228. package/dist/Verbs/GetMaafApp.d.ts.map +1 -0
  229. package/dist/Verbs/GetMaafApp.js +59 -0
  230. package/dist/Verbs/GetMaafApp.js.map +1 -0
  231. package/dist/Verbs/GetMaafBuildStatus.d.ts +6 -0
  232. package/dist/Verbs/GetMaafBuildStatus.d.ts.map +1 -0
  233. package/dist/Verbs/GetMaafBuildStatus.js +67 -0
  234. package/dist/Verbs/GetMaafBuildStatus.js.map +1 -0
  235. package/dist/Verbs/GetSettings.d.ts +12 -0
  236. package/dist/Verbs/GetSettings.d.ts.map +1 -0
  237. package/dist/Verbs/GetSettings.js +48 -0
  238. package/dist/Verbs/GetSettings.js.map +1 -0
  239. package/dist/Verbs/Init.d.ts +6 -0
  240. package/dist/Verbs/Init.d.ts.map +1 -0
  241. package/dist/Verbs/Init.js +171 -0
  242. package/dist/Verbs/Init.js.map +1 -0
  243. package/dist/Verbs/ListConnectionReferences.d.ts +6 -0
  244. package/dist/Verbs/ListConnectionReferences.d.ts.map +1 -0
  245. package/dist/Verbs/ListConnectionReferences.js +70 -0
  246. package/dist/Verbs/ListConnectionReferences.js.map +1 -0
  247. package/dist/Verbs/ListConnectorActions.d.ts +6 -0
  248. package/dist/Verbs/ListConnectorActions.d.ts.map +1 -0
  249. package/dist/Verbs/ListConnectorActions.js +73 -0
  250. package/dist/Verbs/ListConnectorActions.js.map +1 -0
  251. package/dist/Verbs/ListConnectors.d.ts +6 -0
  252. package/dist/Verbs/ListConnectors.d.ts.map +1 -0
  253. package/dist/Verbs/ListConnectors.js +66 -0
  254. package/dist/Verbs/ListConnectors.js.map +1 -0
  255. package/dist/Verbs/ListDatasets.d.ts +6 -0
  256. package/dist/Verbs/ListDatasets.d.ts.map +1 -0
  257. package/dist/Verbs/ListDatasets.js +82 -0
  258. package/dist/Verbs/ListDatasets.js.map +1 -0
  259. package/dist/Verbs/ListEnvironmentVariables.d.ts +14 -0
  260. package/dist/Verbs/ListEnvironmentVariables.d.ts.map +1 -0
  261. package/dist/Verbs/ListEnvironmentVariables.js +66 -0
  262. package/dist/Verbs/ListEnvironmentVariables.js.map +1 -0
  263. package/dist/Verbs/ListFlows.d.ts +13 -0
  264. package/dist/Verbs/ListFlows.d.ts.map +1 -0
  265. package/dist/Verbs/ListFlows.js +88 -0
  266. package/dist/Verbs/ListFlows.js.map +1 -0
  267. package/dist/Verbs/ListMaafApps.d.ts +71 -0
  268. package/dist/Verbs/ListMaafApps.d.ts.map +1 -0
  269. package/dist/Verbs/ListMaafApps.js +168 -0
  270. package/dist/Verbs/ListMaafApps.js.map +1 -0
  271. package/dist/Verbs/ListSqlStoredProcedures.d.ts +6 -0
  272. package/dist/Verbs/ListSqlStoredProcedures.d.ts.map +1 -0
  273. package/dist/Verbs/ListSqlStoredProcedures.js +84 -0
  274. package/dist/Verbs/ListSqlStoredProcedures.js.map +1 -0
  275. package/dist/Verbs/ListTables.d.ts +6 -0
  276. package/dist/Verbs/ListTables.d.ts.map +1 -0
  277. package/dist/Verbs/ListTables.js +94 -0
  278. package/dist/Verbs/ListTables.js.map +1 -0
  279. package/dist/Verbs/Login.d.ts +6 -0
  280. package/dist/Verbs/Login.d.ts.map +1 -0
  281. package/dist/Verbs/Login.js +28 -0
  282. package/dist/Verbs/Login.js.map +1 -0
  283. package/dist/Verbs/Logout.d.ts +6 -0
  284. package/dist/Verbs/Logout.d.ts.map +1 -0
  285. package/dist/Verbs/Logout.js +28 -0
  286. package/dist/Verbs/Logout.js.map +1 -0
  287. package/dist/Verbs/MaafAppPermissions.d.ts +23 -0
  288. package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -0
  289. package/dist/Verbs/MaafAppPermissions.js +278 -0
  290. package/dist/Verbs/MaafAppPermissions.js.map +1 -0
  291. package/dist/Verbs/Pack.d.ts +42 -0
  292. package/dist/Verbs/Pack.d.ts.map +1 -0
  293. package/dist/Verbs/Pack.js +114 -0
  294. package/dist/Verbs/Pack.js.map +1 -0
  295. package/dist/Verbs/RefreshDataSource.d.ts +6 -0
  296. package/dist/Verbs/RefreshDataSource.d.ts.map +1 -0
  297. package/dist/Verbs/RefreshDataSource.js +72 -0
  298. package/dist/Verbs/RefreshDataSource.js.map +1 -0
  299. package/dist/Verbs/RemoveFlow.d.ts +12 -0
  300. package/dist/Verbs/RemoveFlow.d.ts.map +1 -0
  301. package/dist/Verbs/RemoveFlow.js +99 -0
  302. package/dist/Verbs/RemoveFlow.js.map +1 -0
  303. package/dist/Verbs/SetSetting.d.ts +12 -0
  304. package/dist/Verbs/SetSetting.d.ts.map +1 -0
  305. package/dist/Verbs/SetSetting.js +141 -0
  306. package/dist/Verbs/SetSetting.js.map +1 -0
  307. package/dist/Verbs/ShareMaafApp.d.ts +12 -0
  308. package/dist/Verbs/ShareMaafApp.d.ts.map +1 -0
  309. package/dist/Verbs/ShareMaafApp.js +14 -0
  310. package/dist/Verbs/ShareMaafApp.js.map +1 -0
  311. package/dist/Verbs/ShowMaafApp.d.ts +94 -0
  312. package/dist/Verbs/ShowMaafApp.d.ts.map +1 -0
  313. package/dist/Verbs/ShowMaafApp.js +216 -0
  314. package/dist/Verbs/ShowMaafApp.js.map +1 -0
  315. package/dist/Verbs/TelemetrySettings.d.ts +8 -0
  316. package/dist/Verbs/TelemetrySettings.d.ts.map +1 -0
  317. package/dist/Verbs/TelemetrySettings.js +104 -0
  318. package/dist/Verbs/TelemetrySettings.js.map +1 -0
  319. package/dist/Verbs/UnshareMaafApp.d.ts +12 -0
  320. package/dist/Verbs/UnshareMaafApp.d.ts.map +1 -0
  321. package/dist/Verbs/UnshareMaafApp.js +14 -0
  322. package/dist/Verbs/UnshareMaafApp.js.map +1 -0
  323. package/dist/Verbs/VerbConstants.d.ts +415 -0
  324. package/dist/Verbs/VerbConstants.d.ts.map +1 -0
  325. package/dist/Verbs/VerbConstants.js +382 -0
  326. package/dist/Verbs/VerbConstants.js.map +1 -0
  327. package/dist/Verbs/index.d.ts +39 -0
  328. package/dist/Verbs/index.d.ts.map +1 -0
  329. package/dist/Verbs/index.js +39 -0
  330. package/dist/Verbs/index.js.map +1 -0
  331. package/package.json +52 -0
@@ -0,0 +1,99 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { getPlayerServiceConfig, removeFlowAsync as removeFlowActionAsync, } from '@microsoft/managed-apps-actions';
5
+ import { getCliLogger, getSettings } from '../CliSettings.js';
6
+ import { promptConfirm, promptText } from '../CliUtils.js';
7
+ import { HelpStrings } from '../Constants/HelpStrings.js';
8
+ import { CliFS } from '../FS/CliFs.js';
9
+ import { RemoveFlowArguments } from './VerbConstants.js';
10
+ /**
11
+ * Remove a cloud flow from the current app.
12
+ *
13
+ * @param {ArgumentProvider} argumentProvider
14
+ * @returns {Promise<void>}
15
+ */
16
+ export async function removeFlowAsync(argumentProvider) {
17
+ const settings = getSettings();
18
+ const { fileConfig } = settings;
19
+ createOptionSchema(argumentProvider);
20
+ await argumentProvider.runVerb();
21
+ const cliFs = new CliFS({
22
+ cwd: process.cwd(),
23
+ allowCwdRead: true,
24
+ allowCwdWrite: true,
25
+ });
26
+ const playerServiceConfig = getPlayerServiceConfig();
27
+ const authenticationProvider = argumentProvider.getAuthenticationProvider();
28
+ const flowDataSourceName = await argumentProvider.getOption('flowName');
29
+ const flowId = await argumentProvider.getOption('flowId');
30
+ const context = {
31
+ vfs: cliFs,
32
+ authProvider: authenticationProvider,
33
+ httpClient: argumentProvider.getHttpClient(),
34
+ region: playerServiceConfig.region,
35
+ environmentName: playerServiceConfig.environmentName,
36
+ actionsParams: {
37
+ flowDataSourceName,
38
+ flowId,
39
+ },
40
+ localFilePaths: {
41
+ appConfigPath: fileConfig.appConfigPath,
42
+ schemaPath: fileConfig.schemaPath,
43
+ codeGenPath: fileConfig.codeGenPath,
44
+ },
45
+ logger: getCliLogger(),
46
+ };
47
+ const result = await removeFlowActionAsync(context);
48
+ const flowIdentifier = flowDataSourceName ?? flowId ?? '';
49
+ if (!result.found) {
50
+ console.log(`\nFlow "${flowIdentifier}" was not found in ms.config.`);
51
+ }
52
+ else if (result.success) {
53
+ console.log(`\nFlow "${flowIdentifier}" removed successfully.`);
54
+ }
55
+ else {
56
+ console.error(`\nFailed to remove flow: ${result.error}`);
57
+ }
58
+ }
59
+ function createOptionSchema(argumentProvider) {
60
+ argumentProvider.setDescription(HelpStrings.deprecated.Verbs['Remove-flow'].Description);
61
+ argumentProvider.addOptions([
62
+ {
63
+ flags: {
64
+ key: RemoveFlowArguments.FlowDataSourceName.name,
65
+ alias: RemoveFlowArguments.FlowDataSourceName.alias,
66
+ },
67
+ env: RemoveFlowArguments.FlowDataSourceName.envVar,
68
+ description: HelpStrings.deprecated.Verbs['Remove-flow'].Options.FlowDataSourceName,
69
+ optionalInNonInteractive: true,
70
+ customPrompt: async () => {
71
+ const useFlowName = await promptConfirm({
72
+ message: 'Do you want to remove a flow by name?',
73
+ });
74
+ if (useFlowName) {
75
+ return await promptText({
76
+ message: RemoveFlowArguments.FlowDataSourceName.promptMessage,
77
+ });
78
+ }
79
+ return undefined;
80
+ },
81
+ },
82
+ {
83
+ flags: {
84
+ key: RemoveFlowArguments.FlowId.name,
85
+ alias: RemoveFlowArguments.FlowId.alias,
86
+ },
87
+ env: RemoveFlowArguments.FlowId.envVar,
88
+ description: HelpStrings.deprecated.Verbs['Remove-flow'].Options.FlowId,
89
+ optionalInNonInteractive: true,
90
+ customPrompt: async () => {
91
+ const existingName = await argumentProvider.getOption('flowName', true);
92
+ if (existingName)
93
+ return undefined;
94
+ return await promptText({ message: RemoveFlowArguments.FlowId.promptMessage });
95
+ },
96
+ },
97
+ ]);
98
+ }
99
+ //# sourceMappingURL=RemoveFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoveFlow.js","sourceRoot":"","sources":["../../src/Verbs/RemoveFlow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ /**
6
+ * Update one or more app settings in ms.config.json for the current Power Apps code app.
7
+ *
8
+ * @param {ArgumentProvider} argumentProvider
9
+ * @returns {Promise<void>}
10
+ */
11
+ export declare function setSettingAsync(argumentProvider: ArgumentProvider): Promise<void>;
12
+ //# sourceMappingURL=SetSetting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetSetting.d.ts","sourceRoot":"","sources":["../../src/Verbs/SetSetting.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAgD5D;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqFvF"}
@@ -0,0 +1,141 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { APP_SETTINGS_DEFINITIONS, readRepoConfig, settingNameToOptionKey, writeRepoConfig, } from '@microsoft/managed-apps-actions';
5
+ import { AppConfigFileName } from '@microsoft/managed-apps-common/config';
6
+ import { getCliLogger, getSettings } from '../CliSettings.js';
7
+ import { CLI_BINARY_NAME } from '../Constants/CliConstants.js';
8
+ import { HelpStrings } from '../Constants/HelpStrings.js';
9
+ import { UsageError } from '../Errors/CliError.js';
10
+ import { printInfo, printJsonSuccess } from '../Utils/ConsoleOutput.js';
11
+ /**
12
+ * Returns the first long flag in process.argv that is neither a known app
13
+ * setting nor a flag already registered with the argument provider, or null
14
+ * if all flags are recognised.
15
+ * Must be called before runVerb() so Commander hasn't had a chance to error
16
+ * first with its own generic message.
17
+ */
18
+ function findUnknownSettingFlag(argumentProvider) {
19
+ const knownSettingFlags = new Set(APP_SETTINGS_DEFINITIONS.map((d) => `--${d.name}`));
20
+ const globalFlags = argumentProvider.getRegisteredFlags();
21
+ for (const token of process.argv.slice(2)) {
22
+ if (!token.startsWith('--'))
23
+ continue;
24
+ if (knownSettingFlags.has(token))
25
+ continue;
26
+ if (globalFlags.has(token))
27
+ continue;
28
+ return token;
29
+ }
30
+ return null;
31
+ }
32
+ /**
33
+ * Returns the name of the first known setting flag that appears more than once
34
+ * in process.argv, or null if no duplicates exist.
35
+ */
36
+ function findDuplicateSettingFlag() {
37
+ for (const def of APP_SETTINGS_DEFINITIONS) {
38
+ const flag = `--${def.name}`;
39
+ const count = process.argv.filter((arg) => arg === flag).length;
40
+ if (count > 1) {
41
+ return def.name;
42
+ }
43
+ }
44
+ return null;
45
+ }
46
+ // Error messages as specified
47
+ const ERR_INVALID = 'The setting value or name you have input is invalid. Check your input, and try again.';
48
+ const ERR_DUPLICATE = 'You have input duplicate setting flags. Try again with one value per setting.';
49
+ /**
50
+ * Update one or more app settings in ms.config.json for the current Power Apps code app.
51
+ *
52
+ * @param {ArgumentProvider} argumentProvider
53
+ * @returns {Promise<void>}
54
+ */
55
+ export async function setSettingAsync(argumentProvider) {
56
+ const cliSettings = getSettings();
57
+ if (!cliSettings.appConfig) {
58
+ throw new UsageError(`No ${AppConfigFileName} found in the current directory. Run "npx ${CLI_BINARY_NAME} app init" first.`);
59
+ }
60
+ // Validate flags before Commander parses — it would otherwise emit its own generic error.
61
+ const unknownFlag = findUnknownSettingFlag(argumentProvider);
62
+ if (unknownFlag) {
63
+ throw new UsageError(ERR_INVALID);
64
+ }
65
+ const duplicateFlag = findDuplicateSettingFlag();
66
+ if (duplicateFlag) {
67
+ throw new UsageError(ERR_DUPLICATE);
68
+ }
69
+ createOptionSchema(argumentProvider);
70
+ await argumentProvider.runVerb();
71
+ const logger = getCliLogger();
72
+ const scenario = logger.trackScenario('SetSetting');
73
+ try {
74
+ // Collect and validate all provided settings before writing anything (atomic).
75
+ const updates = {};
76
+ const invalidSettings = [];
77
+ for (const def of APP_SETTINGS_DEFINITIONS) {
78
+ const optionKey = settingNameToOptionKey(def.name);
79
+ // ignorePrompt = true: settings are never prompted for interactively
80
+ const rawValue = await argumentProvider.getOption(optionKey, true);
81
+ if (rawValue === undefined) {
82
+ continue;
83
+ }
84
+ if (def.type === 'boolean') {
85
+ if (rawValue !== 'true' && rawValue !== 'false') {
86
+ invalidSettings.push(def.name);
87
+ }
88
+ else {
89
+ updates[def.configKey] = rawValue === 'true';
90
+ }
91
+ }
92
+ }
93
+ if (invalidSettings.length > 0) {
94
+ throw new UsageError(ERR_INVALID);
95
+ }
96
+ if (Object.keys(updates).length === 0) {
97
+ printInfo(`No settings provided. Use --<setting> <value> to update a setting, e.g. --show-header false.`);
98
+ printInfo(`Run "npx ${CLI_BINARY_NAME} app get-settings" to see available settings.`);
99
+ scenario.complete();
100
+ return;
101
+ }
102
+ // Read config fresh, merge updates, write back atomically.
103
+ const config = await readRepoConfig(cliSettings.fileConfig.appConfigPath);
104
+ config.appSettings = { ...(config.appSettings ?? {}), ...updates };
105
+ await writeRepoConfig(cliSettings.fileConfig.appConfigPath, config);
106
+ scenario.complete();
107
+ // Print confirmation summary.
108
+ const jsonMode = argumentProvider.isJsonMode();
109
+ if (jsonMode) {
110
+ printJsonSuccess({ settings: updates });
111
+ }
112
+ else {
113
+ for (const def of APP_SETTINGS_DEFINITIONS) {
114
+ const value = updates[def.configKey];
115
+ if (value !== undefined) {
116
+ printInfo(`${def.name} = ${value}`);
117
+ }
118
+ }
119
+ }
120
+ }
121
+ catch (error) {
122
+ scenario.failure({ error: error instanceof Error ? error.message : String(error) });
123
+ throw error;
124
+ }
125
+ }
126
+ // Values must be valid CliEnvVarName members — TypeScript enforces this at compile time.
127
+ // When a new entry is added to APP_SETTINGS_DEFINITIONS, add a corresponding entry here.
128
+ const SETTING_ENV_VARS = {
129
+ 'show-header': 'APP_SHOW_HEADER',
130
+ };
131
+ function createOptionSchema(argumentProvider) {
132
+ argumentProvider.setDescription(HelpStrings.app['set-setting'].description);
133
+ argumentProvider.addExamples(HelpStrings.app['set-setting'].examples ?? []);
134
+ const optionDescriptions = HelpStrings.app['set-setting'].options;
135
+ argumentProvider.addOptions(APP_SETTINGS_DEFINITIONS.map((def) => ({
136
+ flags: { key: def.name },
137
+ env: SETTING_ENV_VARS[def.name],
138
+ description: optionDescriptions?.[def.name] ?? def.description,
139
+ })));
140
+ }
141
+ //# sourceMappingURL=SetSetting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetSetting.js","sourceRoot":"","sources":["../../src/Verbs/SetSetting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ /**
6
+ * Implements `ms app share` — grants the `Microsoft App Reader` role to the
7
+ * comma-separated list of AAD principals (users or groups) supplied as the
8
+ * positional argument. See `MaafAppPermissions.ts` for the shared resolution
9
+ * and execution pipeline.
10
+ */
11
+ export declare function shareMaafAppAsync(argumentProvider: ArgumentProvider): Promise<void>;
12
+ //# sourceMappingURL=ShareMaafApp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareMaafApp.d.ts","sourceRoot":"","sources":["../../src/Verbs/ShareMaafApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF"}
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { executeMaafAppPermissionsAsync } from './MaafAppPermissions.js';
5
+ /**
6
+ * Implements `ms app share` — grants the `Microsoft App Reader` role to the
7
+ * comma-separated list of AAD principals (users or groups) supplied as the
8
+ * positional argument. See `MaafAppPermissions.ts` for the shared resolution
9
+ * and execution pipeline.
10
+ */
11
+ export async function shareMaafAppAsync(argumentProvider) {
12
+ await executeMaafAppPermissionsAsync(argumentProvider, 'share');
13
+ }
14
+ //# sourceMappingURL=ShareMaafApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareMaafApp.js","sourceRoot":"","sources":["../../src/Verbs/ShareMaafApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,gBAAkC;IACxE,MAAM,8BAA8B,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,94 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { MaafAppDefinition } from '@microsoft/managed-apps-actions';
5
+ import type { AppConfig } from '@microsoft/managed-apps-common/config';
6
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
7
+ export interface TableEntry {
8
+ /** Dataset (e.g. `server.db.windows.net,mydb`); omitted for dataverse-style refs that have no dataset. */
9
+ dataset?: string;
10
+ table: string;
11
+ }
12
+ export interface ProcedureEntry {
13
+ dataset: string;
14
+ procedure: string;
15
+ }
16
+ /**
17
+ * Per-connector slice rendered by `app show`. Optional fields are omitted from JSON
18
+ * output when empty so the document stays compact.
19
+ */
20
+ export interface ConnectorView {
21
+ /** Logical key from `connectionReferences` (e.g. `shared_office365users`). */
22
+ connector: string;
23
+ /** Friendly name from the connector ref (e.g. `Office 365 Users`). */
24
+ displayName?: string;
25
+ /** Bound action operation names (e.g. `GetUser`, `ListUsers`). */
26
+ actions?: string[];
27
+ /** Tables bound to the app — both tabular-connector tables and dataverse logical names. */
28
+ tables?: TableEntry[];
29
+ /** Stored procedures bound to the app (currently only SQL). */
30
+ procedures?: ProcedureEntry[];
31
+ }
32
+ /**
33
+ * Discriminated union: `build` is omitted when neither side is configured;
34
+ * otherwise we emit only the keys that are actually set so the type matches
35
+ * what JSON consumers see (JSON.stringify drops `undefined` values silently).
36
+ */
37
+ export type BuildView = {
38
+ path: string;
39
+ entryPoint: string;
40
+ } | {
41
+ path: string;
42
+ } | {
43
+ entryPoint: string;
44
+ };
45
+ /**
46
+ * The complete output document for `app show` — used as both the JSON payload and
47
+ * the input to the human formatter so the two views can never disagree.
48
+ */
49
+ export interface AppShowView {
50
+ /** App display name from the server (`MaafAppDefinition.displayName`). */
51
+ name: string;
52
+ /** Bare environment ID. */
53
+ environmentId: string;
54
+ /** Server-side app identifier — bare GUID (`MaafAppDefinition.id`). */
55
+ appId: string;
56
+ /** Short SHA of the deployed commit; omitted when `commitHash` is absent. */
57
+ commit?: string;
58
+ /**
59
+ * Local build output, sourced from `ms.config.json`. Omitted when neither
60
+ * `buildPath` nor `buildEntryPoint` is configured — `app show` never invents
61
+ * defaults so the displayed values always match the config file verbatim.
62
+ */
63
+ build?: BuildView;
64
+ /** Connectors bound to the app, in declaration order from the server response. */
65
+ connectors: ConnectorView[];
66
+ }
67
+ /**
68
+ * Implements `ms app show` — prints the current app's configuration and bound
69
+ * resources for the project rooted at the cwd.
70
+ *
71
+ * Pipeline:
72
+ * 1. Register description/examples and run the verb (so `--help` works even
73
+ * outside an initialised project).
74
+ * 2. Require a loaded `ms.config.json` with an `appId`.
75
+ * 3. Resolve `environmentId` (`--environment-id` flag wins; otherwise from config) and tenantId.
76
+ * 4. Fetch the live `MaafAppDefinition` payload via `infoAsync` (server is the
77
+ * source of truth for displayName, commitHash, and connection references).
78
+ * 5. Fold local config (build path) + server response into an `AppShowView`.
79
+ * 6. Emit JSON when `--json` is set, otherwise the human view.
80
+ */
81
+ export declare function showMaafAppAsync(argumentProvider: ArgumentProvider): Promise<void>;
82
+ /**
83
+ * Folds the live `App` payload and the local `ms.config.json` into a single
84
+ * `AppShowView`. Pure function — no I/O, no console — so unit tests can exercise
85
+ * shape decisions without mocking the API client or stdout.
86
+ *
87
+ * @param app - The server-side app payload from `infoAsync`.
88
+ * @param appConfig - The parsed `ms.config.json` contents (build paths only here).
89
+ * @param fallbackEnvironmentId - Used when the server response omits `environmentId`
90
+ * (defensive — the new MAAF wire contract makes this required, but we keep the
91
+ * fallback so this function stays robust to sparse payloads).
92
+ */
93
+ export declare function buildAppShowView(app: MaafAppDefinition, appConfig: AppConfig, fallbackEnvironmentId: string): AppShowView;
94
+ //# sourceMappingURL=ShowMaafApp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowMaafApp.d.ts","sourceRoot":"","sources":["../../src/Verbs/ShowMaafApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAA0B,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAGvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAwB5D,MAAM,WAAW,UAAU;IACzB,0GAA0G;IAC1G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3B;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kFAAkF;IAClF,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCxF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,SAAS,EACpB,qBAAqB,EAAE,MAAM,GAC5B,WAAW,CAab"}
@@ -0,0 +1,216 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { infoAsync } from '@microsoft/managed-apps-actions';
5
+ import { AppConfigFileName } from '@microsoft/managed-apps-common/config';
6
+ import { getCliLogger, getSettings } from '../CliSettings.js';
7
+ import { resolveEnvironmentId } from '../CliUtils.js';
8
+ import { CLI_BINARY_NAME } from '../Constants/CliConstants.js';
9
+ import { HelpStrings } from '../Constants/HelpStrings.js';
10
+ import { UsageError } from '../Errors/CliError.js';
11
+ import { printInfo, printJsonSuccess } from '../Utils/ConsoleOutput.js';
12
+ /** Length used to abbreviate sourceControl.commitHash for the human view (matches `git log --oneline`). */
13
+ const SHORT_COMMIT_LENGTH = 7;
14
+ /**
15
+ * Implements `ms app show` — prints the current app's configuration and bound
16
+ * resources for the project rooted at the cwd.
17
+ *
18
+ * Pipeline:
19
+ * 1. Register description/examples and run the verb (so `--help` works even
20
+ * outside an initialised project).
21
+ * 2. Require a loaded `ms.config.json` with an `appId`.
22
+ * 3. Resolve `environmentId` (`--environment-id` flag wins; otherwise from config) and tenantId.
23
+ * 4. Fetch the live `MaafAppDefinition` payload via `infoAsync` (server is the
24
+ * source of truth for displayName, commitHash, and connection references).
25
+ * 5. Fold local config (build path) + server response into an `AppShowView`.
26
+ * 6. Emit JSON when `--json` is set, otherwise the human view.
27
+ */
28
+ export async function showMaafAppAsync(argumentProvider) {
29
+ argumentProvider.setDescription(HelpStrings.app.show.description);
30
+ argumentProvider.addExamples(HelpStrings.app.show.examples);
31
+ await argumentProvider.runVerb();
32
+ const cliSettings = getSettings();
33
+ if (!cliSettings.appConfig) {
34
+ throw new UsageError(`No ${AppConfigFileName} found in the current directory. Run "npx ${CLI_BINARY_NAME} app init" first.`);
35
+ }
36
+ const appId = cliSettings.appConfig.appId;
37
+ if (!appId) {
38
+ throw new UsageError(`${AppConfigFileName} has no appId. Run "npx ${CLI_BINARY_NAME} app create" or set appId manually.`);
39
+ }
40
+ // `resolveEnvironmentId` enforces flag-wins precedence and pushes the resolved
41
+ // id into player services so the URL builder targets the override.
42
+ const environmentId = await resolveEnvironmentId(argumentProvider);
43
+ const tenantId = await argumentProvider.getTenantIdAsync();
44
+ if (!tenantId) {
45
+ throw new UsageError('Unable to determine tenant ID. Ensure you are logged in.');
46
+ }
47
+ const app = await infoAsync({
48
+ tenantId,
49
+ environmentId,
50
+ logger: getCliLogger(),
51
+ actionsParams: { appName: appId },
52
+ });
53
+ const view = buildAppShowView(app, cliSettings.appConfig, environmentId);
54
+ if (argumentProvider.isJsonMode()) {
55
+ printJsonSuccess(view);
56
+ }
57
+ else {
58
+ printAppShowHuman(view);
59
+ }
60
+ }
61
+ /**
62
+ * Folds the live `App` payload and the local `ms.config.json` into a single
63
+ * `AppShowView`. Pure function — no I/O, no console — so unit tests can exercise
64
+ * shape decisions without mocking the API client or stdout.
65
+ *
66
+ * @param app - The server-side app payload from `infoAsync`.
67
+ * @param appConfig - The parsed `ms.config.json` contents (build paths only here).
68
+ * @param fallbackEnvironmentId - Used when the server response omits `environmentId`
69
+ * (defensive — the new MAAF wire contract makes this required, but we keep the
70
+ * fallback so this function stays robust to sparse payloads).
71
+ */
72
+ export function buildAppShowView(app, appConfig, fallbackEnvironmentId) {
73
+ const refs = app.connectionReferences ?? {};
74
+ const connectors = Object.entries(refs).map(([key, ref]) => buildConnectorView(key, ref));
75
+ const commit = app.commitHash;
76
+ return {
77
+ name: app.displayName,
78
+ environmentId: app.environmentId ?? fallbackEnvironmentId,
79
+ appId: app.id,
80
+ commit: commit ? commit.slice(0, SHORT_COMMIT_LENGTH) : undefined,
81
+ build: buildBuildView(appConfig),
82
+ connectors,
83
+ };
84
+ }
85
+ /**
86
+ * Returns a `BuildView` containing only the keys that are set, so the runtime
87
+ * shape lines up with the type and with what `JSON.stringify` actually emits.
88
+ */
89
+ function buildBuildView(appConfig) {
90
+ const { buildPath, buildEntryPoint } = appConfig;
91
+ if (buildPath && buildEntryPoint)
92
+ return { path: buildPath, entryPoint: buildEntryPoint };
93
+ if (buildPath)
94
+ return { path: buildPath };
95
+ if (buildEntryPoint)
96
+ return { entryPoint: buildEntryPoint };
97
+ return undefined;
98
+ }
99
+ /**
100
+ * Projects a single `connectionReferences` entry into the `ConnectorView` shape.
101
+ *
102
+ * Tabular `dataSets[dataset].dataSources[name]` entries split by their `tableName`:
103
+ * - present → table (`{dataset, table: tableName}`)
104
+ * - absent → procedure (`{dataset, procedure: name}`)
105
+ *
106
+ * Top-level `dataSources[]` entries that aren't covered by any `dataSets` entry
107
+ * are dataverse-style logical names — emitted as `tables` with no dataset.
108
+ */
109
+ function buildConnectorView(key, ref) {
110
+ const view = { connector: key };
111
+ if (ref.displayName)
112
+ view.displayName = ref.displayName;
113
+ if (ref.actions?.length)
114
+ view.actions = ref.actions;
115
+ const dataSets = (ref.dataSets ?? {});
116
+ const tables = [];
117
+ const procedures = [];
118
+ const claimedNames = new Set();
119
+ for (const [dataset, dataSet] of Object.entries(dataSets)) {
120
+ // `ApiConnectionReference.dataSets` is typed as `object` upstream, so a
121
+ // `null` entry is structurally valid even though no observed server
122
+ // payload emits one. Skip rather than crash on `dataSet.dataSources`.
123
+ if (!dataSet || typeof dataSet !== 'object')
124
+ continue;
125
+ for (const [name, source] of Object.entries(dataSet.dataSources ?? {})) {
126
+ claimedNames.add(name);
127
+ if (source.tableName) {
128
+ tables.push({ dataset, table: source.tableName });
129
+ }
130
+ else {
131
+ procedures.push({ dataset, procedure: name });
132
+ }
133
+ }
134
+ }
135
+ for (const name of ref.dataSources ?? []) {
136
+ if (!claimedNames.has(name))
137
+ tables.push({ table: name });
138
+ }
139
+ if (tables.length)
140
+ view.tables = tables;
141
+ if (procedures.length)
142
+ view.procedures = procedures;
143
+ return view;
144
+ }
145
+ /**
146
+ * Renders an `AppShowView` to stdout. Uses uniform `printInfo` for the whole
147
+ * key:value header block so the colouring stays consistent across lines.
148
+ */
149
+ function printAppShowHuman(view) {
150
+ printInfo(`Name: ${view.name}`);
151
+ printInfo(`Environment: ${view.environmentId}`);
152
+ printInfo(`App ID: ${view.appId}`);
153
+ if (view.commit)
154
+ printInfo(`Commit: ${view.commit}`);
155
+ const buildLine = formatBuildLine(view.build);
156
+ if (buildLine)
157
+ printInfo(`Build: ${buildLine}`);
158
+ if (view.connectors.length === 0) {
159
+ printInfo('');
160
+ printInfo('(no connectors bound)');
161
+ return;
162
+ }
163
+ for (const connector of view.connectors) {
164
+ // Blank line separator between header and each connector group, matching the
165
+ // example layout in the verb's spec doc.
166
+ printInfo('');
167
+ // Strip the `shared_` prefix on display only — the JSON `connector` key keeps
168
+ // the full logical name so it stays joinable with server-side data.
169
+ const label = connector.connector.replace(/^shared_/, '');
170
+ printInfo(connector.displayName ? `${label} (${connector.displayName})` : label);
171
+ if (connector.actions?.length) {
172
+ printInfo(` actions: ${connector.actions.join(', ')}`);
173
+ }
174
+ if (connector.tables?.length) {
175
+ printInfo(` tables: ${connector.tables.map(formatTable).join(', ')}`);
176
+ }
177
+ if (connector.procedures?.length) {
178
+ printInfo(` procedures: ${connector.procedures.map(formatProcedure).join(', ')}`);
179
+ }
180
+ }
181
+ }
182
+ /** `[dbo].[Orders] (server.db.windows.net,mydb)` for tabular; bare name for dataverse-style. */
183
+ function formatTable(entry) {
184
+ return entry.dataset ? `${entry.table} (${entry.dataset})` : entry.table;
185
+ }
186
+ function formatProcedure(entry) {
187
+ return `${entry.procedure} (${entry.dataset})`;
188
+ }
189
+ /**
190
+ * Renders the build target as a single line. Joins `path` + `entryPoint` when
191
+ * both are present; otherwise returns whichever side is set, or `undefined`
192
+ * when neither is — letting the caller skip the `Build:` line entirely.
193
+ *
194
+ * The separator follows the dominant style in `path` so Windows configs like
195
+ * `.\dist\` render as `.\dist\index.html`, not the mixed `.\dist\/index.html`.
196
+ *
197
+ * `entryPoint` must be a path relative to `path`. When both sides are present,
198
+ * any leading separator on `entryPoint` is stripped before joining, so an
199
+ * absolute path like `/abs/index.html` would be rendered as `<path>/abs/index.html`.
200
+ * The build target is a display string only (never used for I/O), so this is a
201
+ * cosmetic constraint.
202
+ */
203
+ function formatBuildLine(build) {
204
+ if (!build)
205
+ return undefined;
206
+ const path = 'path' in build ? build.path : undefined;
207
+ const entryPoint = 'entryPoint' in build ? build.entryPoint : undefined;
208
+ if (path && entryPoint) {
209
+ const sep = path.includes('\\') && !path.includes('/') ? '\\' : '/';
210
+ const trimmedPath = path.replace(/[/\\]+$/, '');
211
+ const trimmedEntry = entryPoint.replace(/^[/\\]+/, '');
212
+ return `${trimmedPath}${sep}${trimmedEntry}`;
213
+ }
214
+ return path ?? entryPoint;
215
+ }
216
+ //# sourceMappingURL=ShowMaafApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowMaafApp.js","sourceRoot":"","sources":["../../src/Verbs/ShowMaafApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAErE,2GAA2G;AAC3G,MAAM,mBAAmB,GAAG,CAAC,CAAC;AA4E9B;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,gBAAkC;IACvE,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAEjC,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,UAAU,CAClB,MAAM,iBAAiB,6CAA6C,eAAe,mBAAmB,CACvG,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,UAAU,CAClB,GAAG,iBAAiB,2BAA2B,eAAe,qCAAqC,CACpG,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,mEAAmE;IACnE,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAEnE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,UAAU,CAAC,0DAA0D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC;QAC1B,QAAQ;QACR,aAAa;QACb,MAAM,EAAE,YAAY,EAAE;QACtB,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KAClC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAEzE,IAAI,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC;QAClC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAsB,EACtB,SAAoB,EACpB,qBAA6B;IAE7B,MAAM,IAAI,GAAG,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;IAE9B,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,WAAW;QACrB,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,qBAAqB;QACzD,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS;QACjE,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC;QAChC,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,SAAoB;IAC1C,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IACjD,IAAI,SAAS,IAAI,eAAe;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IAC1F,IAAI,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC1C,IAAI,eAAe;QAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IAC5D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,GAAW,EAAE,GAA2B;IAClE,MAAM,IAAI,GAAkB,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAC/C,IAAI,GAAG,CAAC,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IACxD,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM;QAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAEpD,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAkB,CAAC;IACvD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,wEAAwE;QACxE,oEAAoE;QACpE,sEAAsE;QACtE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,SAAS;QACtD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACxC,IAAI,UAAU,CAAC,MAAM;QAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,IAAiB;IAC1C,SAAS,CAAC,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,SAAS,CAAC,gBAAgB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAChD,SAAS,CAAC,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,MAAM;QAAE,SAAS,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,SAAS;QAAE,SAAS,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;IAEtD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,SAAS,CAAC,EAAE,CAAC,CAAC;QACd,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,6EAA6E;QAC7E,yCAAyC;QACzC,SAAS,CAAC,EAAE,CAAC,CAAC;QACd,8EAA8E;QAC9E,oEAAoE;QACpE,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC1D,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjF,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAC9B,SAAS,CAAC,iBAAiB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC7B,SAAS,CAAC,iBAAiB,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACjC,SAAS,CAAC,iBAAiB,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;AACH,CAAC;AAED,gGAAgG;AAChG,SAAS,WAAW,CAAC,KAAiB;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AAC3E,CAAC;AAED,SAAS,eAAe,CAAC,KAAqB;IAC5C,OAAO,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,eAAe,CAAC,KAA4B;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,MAAM,UAAU,GAAG,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACvD,OAAO,GAAG,WAAW,GAAG,GAAG,GAAG,YAAY,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,IAAI,UAAU,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ export declare function telemetryEnableAsync(argumentProvider: ArgumentProvider): Promise<void>;
6
+ export declare function telemetryDisableAsync(argumentProvider: ArgumentProvider): Promise<void>;
7
+ export declare function telemetryStatusAsync(argumentProvider: ArgumentProvider): Promise<void>;
8
+ //# sourceMappingURL=TelemetrySettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TelemetrySettings.d.ts","sourceRoot":"","sources":["../../src/Verbs/TelemetrySettings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAS5D,wBAAsB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5F;AAED,wBAAsB,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7F;AAED,wBAAsB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5F"}