@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,501 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { promises as fs } from 'node:fs';
5
+ import * as path from 'node:path';
6
+ import { buildAsync, buildStatusAsync, deployAsync, MAX_BUILD_ARTIFACT_SIZE_BYTES, pushAsync, } from '@microsoft/managed-apps-actions';
7
+ import { AppConfigFileName } from '@microsoft/managed-apps-common/config';
8
+ import { BuildArtifactTooLargeError } from '@microsoft/managed-apps-common/errors';
9
+ import { HttpClientError } from '@microsoft/managed-apps-common/services';
10
+ import { getCliLogger, getSettings } from '../CliSettings.js';
11
+ import { promptConfirm, resolveAppNameAsync } from '../CliUtils.js';
12
+ import { HelpStrings } from '../Constants/HelpStrings.js';
13
+ import { AppError, ConfigurationError, UsageError } from '../Errors/CliError.js';
14
+ import { printInfo, printJsonSuccess, printSuccess, printWarning } from '../Utils/ConsoleOutput.js';
15
+ import { hasUncommittedChanges, resolveGitDefaults } from '../Utils/GitUtils.js';
16
+ import { zipBuildArtifact } from '../Utils/zipBuildArtifact.js';
17
+ import { assertPackPreconditions, packAppArtifactAsync } from './Pack.js';
18
+ import { DeployMaafAppArguments } from './VerbConstants.js';
19
+ /**
20
+ * Polling parameters for the git-backed build flow. The deadline is the only true
21
+ * timeout; `MIN`/`MAX_INTERVAL_MS` clamp server-provided `Retry-After` values to a
22
+ * sane range so neither an unparseable header nor a hostile server can make the CLI
23
+ * busy-spin or hang for hours.
24
+ */
25
+ const BUILD_POLL_DEADLINE_MS = 20 * 60 * 1000;
26
+ const MIN_POLL_INTERVAL_MS = 1000;
27
+ const MAX_POLL_INTERVAL_MS = 60_000;
28
+ const INITIAL_POLL_INTERVAL_MS = 2000;
29
+ const FEATURE_NOT_ENABLED_MESSAGE = `External artifact deployment is not enabled for this environment.
30
+ To enable it, contact your administrator to turn on the
31
+ AllowExternalArtifactDeployment environment setting.`;
32
+ function formatMb(bytes) {
33
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
34
+ }
35
+ function formatBuildTooLargeMessage(bytes, capBytes) {
36
+ if (bytes !== undefined) {
37
+ return `Build artifact is ${formatMb(bytes)}, which exceeds the ${formatMb(capBytes)} limit.`;
38
+ }
39
+ return `Build artifact exceeds the ${formatMb(capBytes)} limit.`;
40
+ }
41
+ function sleep(ms) {
42
+ return new Promise((resolve) => setTimeout(resolve, ms));
43
+ }
44
+ function clampPollInterval(ms, fallback) {
45
+ const raw = ms ?? fallback;
46
+ return Math.min(MAX_POLL_INTERVAL_MS, Math.max(MIN_POLL_INTERVAL_MS, raw));
47
+ }
48
+ function toResultFromDefinition(def) {
49
+ // Swagger documents the app GUID as `name` while the client type and runtime
50
+ // historically use `id`. Prefer `id` (current runtime) and fall back to `name`
51
+ // (documented contract) so the verb stays robust if either side changes. See
52
+ // `MaafAppDefinition` JSDoc in @microsoft/managed-apps-actions for context.
53
+ const appId = def.id || def.name;
54
+ if (!appId) {
55
+ throw new AppError('Deploy succeeded but the server response did not include an app identifier.');
56
+ }
57
+ return {
58
+ appId,
59
+ displayName: def.displayName,
60
+ commitHash: def.commitHash ?? null,
61
+ };
62
+ }
63
+ /**
64
+ * Formats `MaafBuildOperationResponse.result` into a colon-prefixed detail
65
+ * suffix for the terminal failure error message. Handles both the documented
66
+ * structured envelope (`{ code, message }`) and the legacy plain-string variant.
67
+ * Returns `''` when no useful detail is available.
68
+ */
69
+ function formatPollFailureDetail(result) {
70
+ if (typeof result === 'string' && result.trim()) {
71
+ return `: ${result}`;
72
+ }
73
+ if (result && typeof result === 'object') {
74
+ const parts = [];
75
+ if (typeof result.code === 'string' && result.code)
76
+ parts.push(result.code);
77
+ if (typeof result.message === 'string' && result.message)
78
+ parts.push(result.message);
79
+ if (parts.length > 0)
80
+ return `: ${parts.join(' — ')}`;
81
+ }
82
+ return '';
83
+ }
84
+ /**
85
+ * Compile-time exhaustiveness check on a discriminated union. Throws an
86
+ * `AppError` at runtime if the server adds a status value the CLI doesn't yet
87
+ * know about; the `never` parameter ensures every `MaafBuildOperationStatus`
88
+ * branch is handled at the call site.
89
+ */
90
+ function assertUnreachableStatus(status) {
91
+ throw new AppError(`Unexpected build status from server: ${String(status)}.`);
92
+ }
93
+ function toResultFromPush(res) {
94
+ return {
95
+ appId: res.appId,
96
+ displayName: res.name,
97
+ commitHash: res.commitSha,
98
+ };
99
+ }
100
+ /** Extracts `error.message` from a JSON error envelope; falls back to the raw status text. */
101
+ function extractServerMessage(err) {
102
+ if (!err.body)
103
+ return undefined;
104
+ try {
105
+ const parsed = JSON.parse(err.body);
106
+ if (typeof parsed?.error?.message === 'string')
107
+ return parsed.error.message;
108
+ }
109
+ catch {
110
+ // not JSON; fall through
111
+ }
112
+ return undefined;
113
+ }
114
+ /**
115
+ * Translates a thrown error into a user-facing `Error`, or returns `null` to signal
116
+ * "not handled — propagate the original". The translator MUST match specific
117
+ * `(status, code)` pairs before generic `status` fallbacks (e.g. feature-disabled vs
118
+ * permission-denied both share HTTP 403) so users see the most specific message.
119
+ */
120
+ function translateError(err, ctx) {
121
+ if (err instanceof BuildArtifactTooLargeError) {
122
+ return new UsageError(formatBuildTooLargeMessage(err.bytes, err.capBytes));
123
+ }
124
+ if (!(err instanceof HttpClientError))
125
+ return null;
126
+ const onGitPath = ctx.repoType !== 'none';
127
+ // Specific (status, code) pairs first. Spec-defined codes (see
128
+ // the deploy section of docs/specs/managed-apps-cli/commands.md) and codes the server
129
+ // currently emits live together here; the spec-defined ones provide forward
130
+ // compatibility for when the server starts using them.
131
+ if (err.status === 400 && err.code === 'ArtifactNotAllowedForGitRepo') {
132
+ // Defense-in-depth: the client now rejects --artifact on git-backed apps
133
+ // up-front (see deployMaafAppAsync), but the server may still emit this
134
+ // code if `ms.config.json` is stale (says `none`) while the server's record
135
+ // says the app is git-backed. Translate so the user learns to update the
136
+ // local config.
137
+ const detail = extractServerMessage(err);
138
+ return new AppError(detail
139
+ ? `Artifact upload rejected for this git-backed app: ${detail}`
140
+ : `The server reports this app is git-backed; --artifact uploads are not allowed. ` +
141
+ `Update \`${AppConfigFileName}\` so \`repoType\` matches the server's record, ` +
142
+ `then re-run with --commit.`);
143
+ }
144
+ if (err.status === 400 && err.code === 'CommitNotAllowedForArtifactDeploy') {
145
+ return new UsageError('This app uses external artifact deployment. Pass --artifact <path> instead of --commit.');
146
+ }
147
+ if (err.status === 400 && err.code === 'InvalidRequestContent') {
148
+ return new UsageError(`Invalid deploy request \u2014 verify the environment and app id.`);
149
+ }
150
+ if (err.status === 400 && err.code === 'ServicePrincipalNotSupportedForMaafOperations') {
151
+ return new UsageError(`Service principal callers are not supported for \`ms app deploy\`. Use interactive auth.`);
152
+ }
153
+ if (err.status === 400 && err.code === 'BadRequest') {
154
+ const detail = extractServerMessage(err);
155
+ if (onGitPath) {
156
+ // Prefer the server-supplied message when available; the canned "Invalid
157
+ // commit SHA" copy only covers one of the documented 400 BadRequest causes
158
+ // (the others, e.g. malformed body shape, are server-specific).
159
+ return new UsageError(detail ?? 'Invalid commit SHA. Use a 40-character lowercase hex value.');
160
+ }
161
+ return new UsageError(`Build artifact rejected: ${detail ?? err.message}`);
162
+ }
163
+ if (err.status === 400 && err.code === 'BuildNotAvailable') {
164
+ // Deploy precondition failure: the server has no completed build for this
165
+ // commit yet. Documented in maaf-build.swagger.json `deploy` 400 responses.
166
+ return new AppError('No completed build is available for this commit. Run `ms app build` first, ' +
167
+ 'or wait for the build to complete before retrying.');
168
+ }
169
+ if (err.status === 403 && err.code === 'ExternalArtifactDeploymentDisabled') {
170
+ return new AppError(FEATURE_NOT_ENABLED_MESSAGE);
171
+ }
172
+ if (err.status === 403 && err.code === 'InsufficientPrivilege') {
173
+ const detail = extractServerMessage(err);
174
+ return new AppError(detail
175
+ ? `${detail} Ask an admin to grant the required privilege.`
176
+ : `You don't have the required privilege to deploy this app. Ask an admin to grant deploy permission on the environment.`);
177
+ }
178
+ if (err.status === 403 && err.code === 'CodeAppOperationNotAllowedInEnvironment') {
179
+ return new AppError(FEATURE_NOT_ENABLED_MESSAGE);
180
+ }
181
+ if (err.status === 403 && err.code === 'Forbidden') {
182
+ return new AppError(`You don't have permission to deploy this app. Ask an admin to grant you Contributor on the repo.`);
183
+ }
184
+ if (err.status === 404 && err.code === 'CommitNotFound') {
185
+ const detail = extractServerMessage(err);
186
+ return new UsageError(detail ?? 'Commit not found on main.');
187
+ }
188
+ if (err.status === 404 && err.code === 'ApplicationNotFound') {
189
+ return new UsageError(`App '${ctx.appName}' not found in environment ${ctx.environmentId}.`);
190
+ }
191
+ if (err.status === 404 && err.code === 'PowerConfigNotFound') {
192
+ // Deploy can't locate the app's config inside the produced build output.
193
+ // Documented in maaf-build.swagger.json `deploy` 404 responses.
194
+ return new AppError(`Build output is missing the app config (\`${AppConfigFileName}\`). ` +
195
+ 'Ensure the config is present at the root of the build output and re-run the build.');
196
+ }
197
+ if (err.status === 404 && err.code === 'OperationNotFound') {
198
+ // Poll path: operation id was rejected as unknown — most likely retried /
199
+ // cleaned up. Documented as a 404 on the buildOperations poll endpoint.
200
+ return new AppError('Build operation not found on the server. The operation may have been cleaned up; ' +
201
+ 're-run `ms app deploy` to start a fresh build.');
202
+ }
203
+ if (err.status === 409 && err.code === 'BuildInProgress') {
204
+ return new AppError('A build is currently in progress for this app. Run `ms app build-status` to check progress, then retry the deploy.');
205
+ }
206
+ if (err.status === 409 && err.code === 'NoGreenBuildAvailable') {
207
+ return new AppError('No successful build is available to deploy. Push a commit and wait for the build to succeed before retrying.');
208
+ }
209
+ if (err.status === 409 && err.code === 'RepoTypeMismatch') {
210
+ const detail = extractServerMessage(err);
211
+ return new UsageError(detail
212
+ ? `Repo type mismatch: ${detail}`
213
+ : `The app's repoType in ms.config.json doesn't match the server's record. Update ms.config.json to match.`);
214
+ }
215
+ if (err.status === 413) {
216
+ return new AppError(formatBuildTooLargeMessage(undefined, MAX_BUILD_ARTIFACT_SIZE_BYTES));
217
+ }
218
+ if (err.status === 422 && err.code === 'ArtifactInvalid') {
219
+ const detail = extractServerMessage(err) ?? err.message;
220
+ return new UsageError(`Artifact validation failed: ${detail}`);
221
+ }
222
+ if (err.status === 502 && err.code === 'MaafBuildServiceUnavailable') {
223
+ return new AppError('Build service is temporarily unavailable. Try again.');
224
+ }
225
+ if (err.status === 503 && err.code === 'AuthorizationCheckFailed') {
226
+ return new AppError('Authorization service is temporarily unavailable. Try again.');
227
+ }
228
+ return null;
229
+ }
230
+ async function runGitBackedDeployAsync(args) {
231
+ const { provider, tenantId, environmentId, appName } = args;
232
+ let commitSha = args.commitFromFlag;
233
+ let branch;
234
+ let resolvedFromGit = false;
235
+ if (!commitSha) {
236
+ const gitDefaults = resolveGitDefaults();
237
+ if (!gitDefaults) {
238
+ throw new UsageError('Could not determine the latest commit SHA. Use --commit or -c to specify it.');
239
+ }
240
+ commitSha = gitDefaults.commitSha;
241
+ branch = gitDefaults.detached ? undefined : gitDefaults.branch;
242
+ resolvedFromGit = true;
243
+ }
244
+ if (resolvedFromGit && !provider.isJsonMode()) {
245
+ printInfo(branch
246
+ ? `Using branch '${branch}' at commit ${commitSha}.`
247
+ : `Detached HEAD at commit ${commitSha}.`);
248
+ }
249
+ if (hasUncommittedChanges() === true) {
250
+ printWarning('There are uncommitted changes in the working tree.');
251
+ if (getSettings().interactive) {
252
+ const proceed = await promptConfirm({ message: 'Deploy anyway?', initialValue: false });
253
+ if (!proceed) {
254
+ printInfo('Deploy cancelled.');
255
+ return null;
256
+ }
257
+ }
258
+ }
259
+ const logger = getCliLogger();
260
+ const submit = await buildAsync({
261
+ tenantId,
262
+ environmentId,
263
+ logger,
264
+ actionsParams: { appName, commitSha },
265
+ });
266
+ if (submit === null) {
267
+ if (!provider.isJsonMode()) {
268
+ printInfo(`A cached build exists for commit ${commitSha}; deploying it.`);
269
+ }
270
+ }
271
+ else {
272
+ await pollBuildToCompletionAsync({
273
+ tenantId,
274
+ environmentId,
275
+ appName,
276
+ operationId: submit.operationId,
277
+ initialWaitMs: submit.retryAfterMs ?? INITIAL_POLL_INTERVAL_MS,
278
+ isJsonMode: provider.isJsonMode(),
279
+ });
280
+ }
281
+ const def = await deployAsync({
282
+ tenantId,
283
+ environmentId,
284
+ logger,
285
+ actionsParams: { appName, commitSha },
286
+ });
287
+ return toResultFromDefinition(def);
288
+ }
289
+ async function pollBuildToCompletionAsync(args) {
290
+ const logger = getCliLogger();
291
+ const deadline = Date.now() + BUILD_POLL_DEADLINE_MS;
292
+ let waitMs = clampPollInterval(args.initialWaitMs, INITIAL_POLL_INTERVAL_MS);
293
+ if (!args.isJsonMode) {
294
+ printInfo('Build queued; waiting for completion...');
295
+ }
296
+ while (Date.now() < deadline) {
297
+ await sleep(waitMs);
298
+ const status = await buildStatusAsync({
299
+ tenantId: args.tenantId,
300
+ environmentId: args.environmentId,
301
+ logger,
302
+ actionsParams: { appName: args.appName, operationId: args.operationId },
303
+ });
304
+ switch (status.status) {
305
+ case 'Succeeded':
306
+ return;
307
+ case 'Failed':
308
+ case 'Canceled': {
309
+ const detail = formatPollFailureDetail(status.result);
310
+ throw new AppError(`Build ${status.status.toLowerCase()}${detail}. Operation id: ${args.operationId}.`);
311
+ }
312
+ case 'NotStarted':
313
+ case 'Running':
314
+ waitMs = clampPollInterval(status.retryAfterMs, waitMs);
315
+ break;
316
+ default:
317
+ return assertUnreachableStatus(status.status);
318
+ }
319
+ }
320
+ throw new AppError(`Build did not complete within ${Math.round(BUILD_POLL_DEADLINE_MS / 60_000)} minutes. ` +
321
+ `Operation id: ${args.operationId}.`);
322
+ }
323
+ async function runArtifactDeployAsync(args) {
324
+ const resolved = path.resolve(args.artifactPath);
325
+ if (path.extname(resolved).toLowerCase() !== '.zip') {
326
+ throw new UsageError(`--artifact must point to a .zip file. Received: ${args.artifactPath}`);
327
+ }
328
+ const stat = await fs.stat(resolved).catch(() => null);
329
+ if (!stat || !stat.isFile()) {
330
+ throw new UsageError(`--artifact file not found or not a regular file: ${args.artifactPath}`);
331
+ }
332
+ if (stat.size > MAX_BUILD_ARTIFACT_SIZE_BYTES) {
333
+ throw new UsageError(formatBuildTooLargeMessage(stat.size, MAX_BUILD_ARTIFACT_SIZE_BYTES));
334
+ }
335
+ const zipBuffer = await fs.readFile(resolved);
336
+ if (!args.provider.isJsonMode()) {
337
+ printInfo('Uploading artifact and deploying...');
338
+ }
339
+ const result = await pushAsync({
340
+ logger: getCliLogger(),
341
+ actionsParams: { appName: args.appName, zipBuffer },
342
+ });
343
+ return toResultFromPush(result);
344
+ }
345
+ async function runByoBuildDeployAsync(args) {
346
+ // Fail-fast on missing buildPath/buildCommand before any user-visible prompt or
347
+ // before kicking off the user's build command.
348
+ assertPackPreconditions(args.appConfig);
349
+ const skipConfirm = args.provider.isJsonMode() || !getSettings().interactive;
350
+ if (!skipConfirm) {
351
+ const ok = await promptConfirm({
352
+ message: `This will build the app and deploy the resulting artifact to ` +
353
+ `environment ${args.environmentId}. Continue?`,
354
+ initialValue: false,
355
+ });
356
+ if (!ok) {
357
+ printInfo('Aborted.');
358
+ return null;
359
+ }
360
+ }
361
+ const { packClientOutputDir } = await packAppArtifactAsync({
362
+ quiet: args.provider.isJsonMode(),
363
+ });
364
+ const zipBuffer = await zipBuildArtifact(packClientOutputDir, args.appConfigPath, {
365
+ maxBytes: MAX_BUILD_ARTIFACT_SIZE_BYTES,
366
+ });
367
+ if (!args.provider.isJsonMode()) {
368
+ printInfo('Uploading build artifact and deploying...');
369
+ }
370
+ const result = await pushAsync({
371
+ logger: getCliLogger(),
372
+ actionsParams: { appName: args.appName, zipBuffer },
373
+ });
374
+ return toResultFromPush(result);
375
+ }
376
+ export async function deployMaafAppAsync(argumentProvider) {
377
+ createOptionSchema(argumentProvider);
378
+ await argumentProvider.runVerb();
379
+ const { appConfig, fileConfig } = getSettings();
380
+ if (!appConfig) {
381
+ throw new ConfigurationError(`${AppConfigFileName} is required. Run this command from a directory created by \`ms app create\`.`);
382
+ }
383
+ if (!fileConfig?.appConfigPath) {
384
+ throw new ConfigurationError(`${AppConfigFileName} path is unavailable.`);
385
+ }
386
+ const environmentId = argumentProvider.getEnvironmentId();
387
+ if (!environmentId) {
388
+ throw new UsageError(`No environment ID found. Run this command from a directory with a ${AppConfigFileName} (created by \`ms app create\`).`);
389
+ }
390
+ const repoType = appConfig.repoType ?? 'native';
391
+ const commitFromFlag = await argumentProvider.getOption('commit',
392
+ /* ignorePrompt */ true);
393
+ const artifactFromFlag = await argumentProvider.getOption('artifact',
394
+ /* ignorePrompt */ true);
395
+ // Mutual exclusivity & repo-type gates:
396
+ // 1. --commit and --artifact together is ambiguous: --commit triggers a build
397
+ // for that revision; --artifact deploys a pre-built zip. Reject explicitly
398
+ // rather than silently preferring one.
399
+ // 2. --commit on a `none` app has no meaning (no git repo backing the build).
400
+ // 3. --artifact is the byoBuild flow's flag; on git-backed apps (`native` /
401
+ // `github`) it is rejected client-side. Git-backed apps deploy from
402
+ // server-side builds; promoting a local zip onto a git-backed app would
403
+ // drift the deployed bits from the git history that the app record
404
+ // points at. Users who want that flow should re-create the app as
405
+ // `repoType: 'none'` (or use a separate byoBuild app).
406
+ if (commitFromFlag && artifactFromFlag) {
407
+ throw new UsageError('Pass either --commit or --artifact, not both. --commit triggers a build for the commit; --artifact deploys a pre-built zip.');
408
+ }
409
+ if (repoType === 'none' && commitFromFlag) {
410
+ throw new UsageError('This app uses external artifact deployment. Pass --artifact <path> instead of --commit.');
411
+ }
412
+ if (artifactFromFlag && repoType !== 'none') {
413
+ throw new UsageError(`--artifact is only valid for apps created with \`repoType: 'none'\`. ` +
414
+ `This app's repoType is \`${repoType}\`; deploy via \`--commit\` (or omit it to use the current HEAD).`);
415
+ }
416
+ const tenantId = await argumentProvider.getTenantIdAsync();
417
+ if (!tenantId) {
418
+ throw new UsageError('Unable to determine tenant ID. Ensure you are logged in.');
419
+ }
420
+ const appName = await resolveAppNameAsync(argumentProvider);
421
+ let result;
422
+ try {
423
+ if (artifactFromFlag) {
424
+ // Upstream validation guarantees repoType === 'none' here; --artifact uploads
425
+ // the pre-built zip and skips both `pack` and the server-side build pipeline.
426
+ result = await runArtifactDeployAsync({
427
+ provider: argumentProvider,
428
+ appName,
429
+ artifactPath: artifactFromFlag,
430
+ });
431
+ }
432
+ else if (repoType === 'native' || repoType === 'github') {
433
+ result = await runGitBackedDeployAsync({
434
+ provider: argumentProvider,
435
+ tenantId,
436
+ environmentId,
437
+ appName,
438
+ commitFromFlag,
439
+ });
440
+ }
441
+ else {
442
+ result = await runByoBuildDeployAsync({
443
+ provider: argumentProvider,
444
+ appName,
445
+ appConfig,
446
+ appConfigPath: fileConfig.appConfigPath,
447
+ environmentId,
448
+ });
449
+ }
450
+ }
451
+ catch (err) {
452
+ const translated = translateError(err, { repoType, appName, environmentId });
453
+ if (translated)
454
+ throw translated;
455
+ throw err;
456
+ }
457
+ if (result === null) {
458
+ // Sub-flow signaled user cancellation; sub-flow already printed the notice.
459
+ return;
460
+ }
461
+ if (argumentProvider.isJsonMode()) {
462
+ printJsonSuccess({ ...result, repoType });
463
+ }
464
+ else {
465
+ printSuccess(`Deployed app '${result.displayName}' (${result.appId}).`);
466
+ if (result.commitHash)
467
+ printInfo(`Commit: ${result.commitHash}`);
468
+ }
469
+ }
470
+ function createOptionSchema(argumentProvider) {
471
+ argumentProvider.setDescription(HelpStrings.app.deploy.description);
472
+ argumentProvider.addExamples(HelpStrings.app.deploy.examples);
473
+ argumentProvider.addOptions([
474
+ {
475
+ flags: {
476
+ key: DeployMaafAppArguments.AppName.name,
477
+ },
478
+ env: DeployMaafAppArguments.AppName.envVar,
479
+ description: HelpStrings.app.deploy.options.app,
480
+ optionalInNonInteractive: true,
481
+ },
482
+ {
483
+ flags: {
484
+ key: DeployMaafAppArguments.CommitSha.name,
485
+ alias: DeployMaafAppArguments.CommitSha.alias,
486
+ },
487
+ env: DeployMaafAppArguments.CommitSha.envVar,
488
+ description: HelpStrings.app.deploy.options.commit,
489
+ optionalInNonInteractive: true,
490
+ },
491
+ {
492
+ flags: {
493
+ key: DeployMaafAppArguments.Artifact.name,
494
+ },
495
+ env: DeployMaafAppArguments.Artifact.envVar,
496
+ description: HelpStrings.app.deploy.options.artifact,
497
+ optionalInNonInteractive: true,
498
+ },
499
+ ]);
500
+ }
501
+ //# sourceMappingURL=DeployMaafApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployMaafApp.js","sourceRoot":"","sources":["../../src/Verbs/DeployMaafApp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ export declare function devAsync(argumentProvider: ArgumentProvider): Promise<void>;
6
+ //# sourceMappingURL=Dev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dev.d.ts","sourceRoot":"","sources":["../../src/Verbs/Dev.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAY5D,wBAAsB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsChF"}