@microsoft/teamsfx-core 2.0.6-alpha.e5db52f29.0 → 2.0.6-alpha.e662467a1.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 (301) hide show
  1. package/build/common/constants.d.ts +3 -2
  2. package/build/common/constants.d.ts.map +1 -1
  3. package/build/common/constants.js +3 -2
  4. package/build/common/constants.js.map +1 -1
  5. package/build/common/deps-checker/internal/funcToolChecker.d.ts +1 -1
  6. package/build/common/deps-checker/internal/funcToolChecker.d.ts.map +1 -1
  7. package/build/common/deps-checker/internal/funcToolChecker.js.map +1 -1
  8. package/build/common/deps-checker/internal/testToolChecker.d.ts.map +1 -1
  9. package/build/common/deps-checker/internal/testToolChecker.js +9 -3
  10. package/build/common/deps-checker/internal/testToolChecker.js.map +1 -1
  11. package/build/common/featureFlags.d.ts +3 -4
  12. package/build/common/featureFlags.d.ts.map +1 -1
  13. package/build/common/featureFlags.js +10 -15
  14. package/build/common/featureFlags.js.map +1 -1
  15. package/build/common/local/localCertificateManager.d.ts +5 -4
  16. package/build/common/local/localCertificateManager.d.ts.map +1 -1
  17. package/build/common/local/localCertificateManager.js +9 -2
  18. package/build/common/local/localCertificateManager.js.map +1 -1
  19. package/build/common/m365/packageService.d.ts.map +1 -1
  20. package/build/common/m365/packageService.js +2 -1
  21. package/build/common/m365/packageService.js.map +1 -1
  22. package/build/common/samples.d.ts +8 -4
  23. package/build/common/samples.d.ts.map +1 -1
  24. package/build/common/samples.js +25 -26
  25. package/build/common/samples.js.map +1 -1
  26. package/build/common/spec-parser/adaptiveCardGenerator.d.ts.map +1 -1
  27. package/build/common/spec-parser/adaptiveCardGenerator.js +2 -4
  28. package/build/common/spec-parser/adaptiveCardGenerator.js.map +1 -1
  29. package/build/common/spec-parser/constants.d.ts +8 -0
  30. package/build/common/spec-parser/constants.d.ts.map +1 -1
  31. package/build/common/spec-parser/constants.js +8 -0
  32. package/build/common/spec-parser/constants.js.map +1 -1
  33. package/build/common/spec-parser/index.browser.d.ts +6 -0
  34. package/build/common/spec-parser/index.browser.d.ts.map +1 -0
  35. package/build/common/spec-parser/index.browser.js +16 -0
  36. package/build/common/spec-parser/index.browser.js.map +1 -0
  37. package/build/common/spec-parser/index.d.ts +1 -1
  38. package/build/common/spec-parser/index.d.ts.map +1 -1
  39. package/build/common/spec-parser/index.js.map +1 -1
  40. package/build/common/spec-parser/interfaces.d.ts +19 -1
  41. package/build/common/spec-parser/interfaces.d.ts.map +1 -1
  42. package/build/common/spec-parser/interfaces.js +2 -1
  43. package/build/common/spec-parser/interfaces.js.map +1 -1
  44. package/build/common/spec-parser/manifestUpdater.d.ts +3 -2
  45. package/build/common/spec-parser/manifestUpdater.d.ts.map +1 -1
  46. package/build/common/spec-parser/manifestUpdater.js +24 -10
  47. package/build/common/spec-parser/manifestUpdater.js.map +1 -1
  48. package/build/common/spec-parser/specFilter.d.ts +1 -1
  49. package/build/common/spec-parser/specFilter.d.ts.map +1 -1
  50. package/build/common/spec-parser/specFilter.js +2 -2
  51. package/build/common/spec-parser/specFilter.js.map +1 -1
  52. package/build/common/spec-parser/specParser.browser.d.ts +46 -0
  53. package/build/common/spec-parser/specParser.browser.d.ts.map +1 -0
  54. package/build/common/spec-parser/specParser.browser.js +138 -0
  55. package/build/common/spec-parser/specParser.browser.js.map +1 -0
  56. package/build/common/spec-parser/specParser.d.ts +3 -8
  57. package/build/common/spec-parser/specParser.d.ts.map +1 -1
  58. package/build/common/spec-parser/specParser.js +88 -49
  59. package/build/common/spec-parser/specParser.js.map +1 -1
  60. package/build/common/spec-parser/utils.d.ts +10 -7
  61. package/build/common/spec-parser/utils.d.ts.map +1 -1
  62. package/build/common/spec-parser/utils.js +119 -36
  63. package/build/common/spec-parser/utils.js.map +1 -1
  64. package/build/common/telemetry.d.ts +6 -1
  65. package/build/common/telemetry.d.ts.map +1 -1
  66. package/build/common/telemetry.js +5 -0
  67. package/build/common/telemetry.js.map +1 -1
  68. package/build/common/tools.d.ts.map +1 -1
  69. package/build/common/tools.js +1 -1
  70. package/build/common/tools.js.map +1 -1
  71. package/build/component/configManager/validator.d.ts.map +1 -1
  72. package/build/component/configManager/validator.js +2 -3
  73. package/build/component/configManager/validator.js.map +1 -1
  74. package/build/component/coordinator/index.d.ts +2 -1
  75. package/build/component/coordinator/index.d.ts.map +1 -1
  76. package/build/component/coordinator/index.js +3 -1
  77. package/build/component/coordinator/index.js.map +1 -1
  78. package/build/component/driver/aad/create.js +1 -1
  79. package/build/component/driver/aad/create.js.map +1 -1
  80. package/build/component/driver/aad/error/invalidFieldInManifestError.js +1 -1
  81. package/build/component/driver/aad/error/invalidFieldInManifestError.js.map +1 -1
  82. package/build/component/driver/aad/permissions/index.d.ts +3 -0
  83. package/build/component/driver/aad/permissions/index.d.ts.map +1 -1
  84. package/build/component/driver/aad/permissions/index.js +34 -1
  85. package/build/component/driver/aad/permissions/index.js.map +1 -1
  86. package/build/component/driver/aad/permissions/permissions.json +42 -42
  87. package/build/component/driver/aad/update.d.ts +1 -0
  88. package/build/component/driver/aad/update.d.ts.map +1 -1
  89. package/build/component/driver/aad/update.js +19 -17
  90. package/build/component/driver/aad/update.js.map +1 -1
  91. package/build/component/driver/aad/utility/aadAppClient.js +8 -8
  92. package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
  93. package/build/component/driver/aad/utility/constants.js +1 -1
  94. package/build/component/driver/aad/utility/constants.js.map +1 -1
  95. package/build/component/driver/apiKey/create.d.ts +17 -0
  96. package/build/component/driver/apiKey/create.d.ts.map +1 -0
  97. package/build/component/driver/apiKey/create.js +226 -0
  98. package/build/component/driver/apiKey/create.js.map +1 -0
  99. package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.d.ts +5 -0
  100. package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.d.ts.map +1 -0
  101. package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.js +22 -0
  102. package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.js.map +1 -0
  103. package/build/component/driver/apiKey/error/apiKeyDomainInvalid.d.ts +5 -0
  104. package/build/component/driver/apiKey/error/apiKeyDomainInvalid.d.ts.map +1 -0
  105. package/build/component/driver/apiKey/error/apiKeyDomainInvalid.js +22 -0
  106. package/build/component/driver/apiKey/error/apiKeyDomainInvalid.js.map +1 -0
  107. package/build/component/driver/apiKey/error/apiKeyFailedToGetDomain.d.ts +5 -0
  108. package/build/component/driver/apiKey/error/apiKeyFailedToGetDomain.d.ts.map +1 -0
  109. package/build/component/driver/apiKey/error/apiKeyFailedToGetDomain.js +21 -0
  110. package/build/component/driver/apiKey/error/apiKeyFailedToGetDomain.js.map +1 -0
  111. package/build/component/driver/apiKey/error/apiKeyNameTooLong.d.ts +5 -0
  112. package/build/component/driver/apiKey/error/apiKeyNameTooLong.d.ts.map +1 -0
  113. package/build/component/driver/apiKey/error/apiKeyNameTooLong.js +21 -0
  114. package/build/component/driver/apiKey/error/apiKeyNameTooLong.js.map +1 -0
  115. package/build/component/driver/apiKey/interface/createApiKeyArgs.d.ts +7 -0
  116. package/build/component/driver/apiKey/interface/createApiKeyArgs.d.ts.map +1 -0
  117. package/build/component/driver/apiKey/interface/createApiKeyArgs.js +5 -0
  118. package/build/component/driver/apiKey/interface/createApiKeyArgs.js.map +1 -0
  119. package/build/component/driver/apiKey/interface/createApiKeyOutputs.d.ts +7 -0
  120. package/build/component/driver/apiKey/interface/createApiKeyOutputs.d.ts.map +1 -0
  121. package/build/component/driver/apiKey/interface/createApiKeyOutputs.js +10 -0
  122. package/build/component/driver/apiKey/interface/createApiKeyOutputs.js.map +1 -0
  123. package/build/component/driver/apiKey/utility/constants.d.ts +10 -0
  124. package/build/component/driver/apiKey/utility/constants.d.ts.map +1 -0
  125. package/build/component/driver/apiKey/utility/constants.js +15 -0
  126. package/build/component/driver/apiKey/utility/constants.js.map +1 -0
  127. package/build/component/driver/deploy/azure/impl/azureDeployImpl.d.ts.map +1 -1
  128. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js +6 -6
  129. package/build/component/driver/deploy/azure/impl/azureDeployImpl.js.map +1 -1
  130. package/build/component/driver/index.d.ts +1 -0
  131. package/build/component/driver/index.d.ts.map +1 -1
  132. package/build/component/driver/index.js +1 -0
  133. package/build/component/driver/index.js.map +1 -1
  134. package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
  135. package/build/component/driver/script/scriptDriver.js +2 -2
  136. package/build/component/driver/script/scriptDriver.js.map +1 -1
  137. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts +13 -0
  138. package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
  139. package/build/component/driver/teamsApp/clients/appStudioClient.js +38 -0
  140. package/build/component/driver/teamsApp/clients/appStudioClient.js.map +1 -1
  141. package/build/component/driver/teamsApp/constants.d.ts +2 -0
  142. package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
  143. package/build/component/driver/teamsApp/constants.js +2 -0
  144. package/build/component/driver/teamsApp/constants.js.map +1 -1
  145. package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
  146. package/build/component/driver/teamsApp/createAppPackage.js +26 -6
  147. package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
  148. package/build/component/driver/teamsApp/interfaces/ApiSecretRegistration.d.ts +44 -0
  149. package/build/component/driver/teamsApp/interfaces/ApiSecretRegistration.d.ts.map +1 -0
  150. package/build/component/driver/teamsApp/interfaces/ApiSecretRegistration.js +21 -0
  151. package/build/component/driver/teamsApp/interfaces/ApiSecretRegistration.js.map +1 -0
  152. package/build/component/driver/teamsApp/interfaces/ApiSecretRegistrationClientSecret.d.ts +15 -0
  153. package/build/component/driver/teamsApp/interfaces/ApiSecretRegistrationClientSecret.d.ts.map +1 -0
  154. package/build/component/driver/teamsApp/interfaces/ApiSecretRegistrationClientSecret.js +5 -0
  155. package/build/component/driver/teamsApp/interfaces/ApiSecretRegistrationClientSecret.js.map +1 -0
  156. package/build/component/driver/teamsApp/interfaces/appdefinitions/IValidationResult.d.ts +1 -1
  157. package/build/component/driver/teamsApp/interfaces/appdefinitions/IValidationResult.d.ts.map +1 -1
  158. package/build/component/driver/teamsApp/teamsappMgr.js +7 -7
  159. package/build/component/driver/teamsApp/teamsappMgr.js.map +1 -1
  160. package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
  161. package/build/component/driver/teamsApp/validate.js +7 -2
  162. package/build/component/driver/teamsApp/validate.js.map +1 -1
  163. package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
  164. package/build/component/driver/teamsApp/validateAppPackage.js +35 -7
  165. package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
  166. package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -1
  167. package/build/component/generator/copilotPlugin/generator.js +40 -20
  168. package/build/component/generator/copilotPlugin/generator.js.map +1 -1
  169. package/build/component/generator/copilotPlugin/helper.d.ts +1 -2
  170. package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -1
  171. package/build/component/generator/copilotPlugin/helper.js +36 -21
  172. package/build/component/generator/copilotPlugin/helper.js.map +1 -1
  173. package/build/component/generator/error.d.ts +0 -6
  174. package/build/component/generator/error.d.ts.map +1 -1
  175. package/build/component/generator/error.js +1 -13
  176. package/build/component/generator/error.js.map +1 -1
  177. package/build/component/generator/generator.d.ts +5 -1
  178. package/build/component/generator/generator.d.ts.map +1 -1
  179. package/build/component/generator/generator.js +13 -8
  180. package/build/component/generator/generator.js.map +1 -1
  181. package/build/component/generator/generatorAction.d.ts +2 -0
  182. package/build/component/generator/generatorAction.d.ts.map +1 -1
  183. package/build/component/generator/generatorAction.js +6 -6
  184. package/build/component/generator/generatorAction.js.map +1 -1
  185. package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
  186. package/build/component/generator/officeAddin/helperMethods.js +19 -26
  187. package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
  188. package/build/component/generator/spfx/spfxGenerator.d.ts.map +1 -1
  189. package/build/component/generator/spfx/spfxGenerator.js +7 -0
  190. package/build/component/generator/spfx/spfxGenerator.js.map +1 -1
  191. package/build/component/generator/spfx/utils/constants.d.ts +1 -14
  192. package/build/component/generator/spfx/utils/constants.d.ts.map +1 -1
  193. package/build/component/generator/spfx/utils/constants.js +1 -14
  194. package/build/component/generator/spfx/utils/constants.js.map +1 -1
  195. package/build/component/generator/utils.d.ts +2 -4
  196. package/build/component/generator/utils.d.ts.map +1 -1
  197. package/build/component/generator/utils.js +4 -14
  198. package/build/component/generator/utils.js.map +1 -1
  199. package/build/component/middleware/questionMW.d.ts +1 -1
  200. package/build/component/middleware/questionMW.d.ts.map +1 -1
  201. package/build/component/middleware/questionMW.js +4 -1
  202. package/build/component/middleware/questionMW.js.map +1 -1
  203. package/build/component/utils/ResourceGroupHelper.d.ts +1 -0
  204. package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
  205. package/build/component/utils/ResourceGroupHelper.js +31 -1
  206. package/build/component/utils/ResourceGroupHelper.js.map +1 -1
  207. package/build/component/utils/envUtil.js +1 -1
  208. package/build/component/utils/envUtil.js.map +1 -1
  209. package/build/component/utils/metadataGraphPermssion.d.ts +16 -0
  210. package/build/component/utils/metadataGraphPermssion.d.ts.map +1 -0
  211. package/build/component/utils/metadataGraphPermssion.js +96 -0
  212. package/build/component/utils/metadataGraphPermssion.js.map +1 -0
  213. package/build/component/utils/metadataUtil.d.ts.map +1 -1
  214. package/build/component/utils/metadataUtil.js +2 -0
  215. package/build/component/utils/metadataUtil.js.map +1 -1
  216. package/build/core/FxCore.d.ts +2 -0
  217. package/build/core/FxCore.d.ts.map +1 -1
  218. package/build/core/FxCore.js +81 -5
  219. package/build/core/FxCore.js.map +1 -1
  220. package/build/core/middleware/projectMigratorV3.js +1 -1
  221. package/build/core/middleware/projectMigratorV3.js.map +1 -1
  222. package/build/core/middleware/utils/debug/taskMigrator.js +1 -1
  223. package/build/error/common.d.ts +9 -0
  224. package/build/error/common.d.ts.map +1 -1
  225. package/build/error/common.js +34 -1
  226. package/build/error/common.js.map +1 -1
  227. package/build/error/teamsApp.d.ts +4 -1
  228. package/build/error/teamsApp.d.ts.map +1 -1
  229. package/build/error/teamsApp.js +13 -1
  230. package/build/error/teamsApp.js.map +1 -1
  231. package/build/index.d.ts +3 -0
  232. package/build/index.d.ts.map +1 -1
  233. package/build/index.js +7 -1
  234. package/build/index.js.map +1 -1
  235. package/build/question/create.d.ts +2 -1
  236. package/build/question/create.d.ts.map +1 -1
  237. package/build/question/create.js +66 -16
  238. package/build/question/create.js.map +1 -1
  239. package/build/question/generator.js +0 -2
  240. package/build/question/generator.js.map +1 -1
  241. package/build/question/index.d.ts +1 -0
  242. package/build/question/index.d.ts.map +1 -1
  243. package/build/question/index.js +3 -0
  244. package/build/question/index.js.map +1 -1
  245. package/build/question/inputs/CreateProjectInputs.d.ts +1 -1
  246. package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
  247. package/build/question/inputs/DeployAadManifestInputs.d.ts +1 -1
  248. package/build/question/inputs/DeployAadManifestInputs.d.ts.map +1 -1
  249. package/build/question/inputs/PermissionGrantInputs.d.ts +2 -2
  250. package/build/question/inputs/PermissionGrantInputs.d.ts.map +1 -1
  251. package/build/question/inputs/PermissionListInputs.d.ts +1 -1
  252. package/build/question/inputs/PermissionListInputs.d.ts.map +1 -1
  253. package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
  254. package/build/question/options/CreateProjectOptions.js +2 -1
  255. package/build/question/options/CreateProjectOptions.js.map +1 -1
  256. package/build/question/options/CreateSampleProjectOptions.d.ts.map +1 -1
  257. package/build/question/options/CreateSampleProjectOptions.js +5 -1
  258. package/build/question/options/CreateSampleProjectOptions.js.map +1 -1
  259. package/build/question/options/DeployAadManifestOptions.js +2 -2
  260. package/build/question/options/DeployAadManifestOptions.js.map +1 -1
  261. package/build/question/options/PermissionGrantOptions.js +2 -2
  262. package/build/question/options/PermissionGrantOptions.js.map +1 -1
  263. package/build/question/options/PermissionListOptions.js +2 -2
  264. package/build/question/options/PermissionListOptions.js.map +1 -1
  265. package/build/question/other.d.ts +1 -0
  266. package/build/question/other.d.ts.map +1 -1
  267. package/build/question/other.js +66 -7
  268. package/build/question/other.js.map +1 -1
  269. package/build/question/questionNames.d.ts +1 -0
  270. package/build/question/questionNames.d.ts.map +1 -1
  271. package/build/question/questionNames.js +1 -0
  272. package/build/question/questionNames.js.map +1 -1
  273. package/build/ui/visitor.d.ts.map +1 -1
  274. package/build/ui/visitor.js +1 -2
  275. package/build/ui/visitor.js.map +1 -1
  276. package/package.json +9 -18
  277. package/resource/package.nls.json +65 -44
  278. package/resource/yaml-schema/v1.3/yaml.schema.json +79 -32
  279. package/templates/core/v3Migration/csharp.app.local.yml +6 -6
  280. package/templates/core/v3Migration/csharp.app.yml +6 -6
  281. package/templates/core/v3Migration/js.ts.app.local.yml +11 -11
  282. package/templates/core/v3Migration/js.ts.app.yml +12 -12
  283. package/templates/fallback/common.zip +0 -0
  284. package/templates/fallback/csharp.zip +0 -0
  285. package/templates/fallback/js.zip +0 -0
  286. package/templates/fallback/ts.zip +0 -0
  287. package/templates/plugins/resource/aad/auth/V3/Bot/Pages/BotAuthorizeEndPage.cshtml +55 -51
  288. package/templates/plugins/resource/aad/auth/V3/Enable SSO.txt +2 -2
  289. package/templates/plugins/resource/aad/auth/bot/README.md +13 -13
  290. package/templates/plugins/resource/aad/auth/bot/README.txt +7 -7
  291. package/templates/plugins/resource/aad/auth/bot/csharp/Pages/BotAuthorizeEndPage.cshtml +55 -51
  292. package/templates/plugins/resource/aad/auth/bot/js/public/auth-end.html +6 -2
  293. package/templates/plugins/resource/aad/auth/bot/ts/public/auth-end.html +5 -1
  294. package/templates/plugins/resource/aad/auth/tab/README.md +6 -6
  295. package/templates/plugins/resource/aad/auth/tab/README.txt +5 -5
  296. package/templates/plugins/resource/aad/auth/tab/js/public/auth-end.html +16 -9
  297. package/templates/plugins/resource/aad/auth/tab/js/public/auth-start.html +11 -7
  298. package/templates/plugins/resource/aad/auth/tab/js/sso/GetUserProfile.jsx +1 -1
  299. package/templates/plugins/resource/aad/auth/tab/ts/public/auth-end.html +16 -9
  300. package/templates/plugins/resource/aad/auth/tab/ts/public/auth-start.html +11 -7
  301. package/templates/plugins/resource/aad/auth/tab/ts/sso/GetUserProfile.tsx +1 -1
@@ -0,0 +1,138 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+ "use strict";
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.SpecParser = void 0;
6
+ const tslib_1 = require("tslib");
7
+ const swagger_parser_1 = tslib_1.__importDefault(require("@apidevtools/swagger-parser"));
8
+ const interfaces_1 = require("./interfaces");
9
+ const specParserError_1 = require("./specParserError");
10
+ const utils_1 = require("./utils");
11
+ const constants_1 = require("./constants");
12
+ /**
13
+ * A class that parses an OpenAPI specification file and provides methods to validate, list, and generate artifacts.
14
+ */
15
+ class SpecParser {
16
+ /**
17
+ * Creates a new instance of the SpecParser class.
18
+ * @param pathOrDoc The path to the OpenAPI specification file or the OpenAPI specification object.
19
+ * @param options The options for parsing the OpenAPI specification file.
20
+ */
21
+ constructor(pathOrDoc, options) {
22
+ this.defaultOptions = {
23
+ allowMissingId: false,
24
+ allowSwagger: false,
25
+ allowAPIKeyAuth: false,
26
+ allowMultipleParameters: false,
27
+ };
28
+ this.pathOrSpec = pathOrDoc;
29
+ this.parser = new swagger_parser_1.default();
30
+ this.options = Object.assign(Object.assign({}, this.defaultOptions), (options !== null && options !== void 0 ? options : {}));
31
+ }
32
+ /**
33
+ * Validates the OpenAPI specification file and returns a validation result.
34
+ *
35
+ * @returns A validation result object that contains information about any errors or warnings in the specification file.
36
+ */
37
+ async validate() {
38
+ try {
39
+ try {
40
+ await this.loadSpec();
41
+ await this.parser.validate(this.spec);
42
+ }
43
+ catch (e) {
44
+ return {
45
+ status: interfaces_1.ValidationStatus.Error,
46
+ warnings: [],
47
+ errors: [{ type: interfaces_1.ErrorType.SpecNotValid, content: e.toString() }],
48
+ };
49
+ }
50
+ if (!this.options.allowSwagger && this.isSwaggerFile) {
51
+ return {
52
+ status: interfaces_1.ValidationStatus.Error,
53
+ warnings: [],
54
+ errors: [
55
+ { type: interfaces_1.ErrorType.SwaggerNotSupported, content: constants_1.ConstantString.SwaggerNotSupported },
56
+ ],
57
+ };
58
+ }
59
+ return utils_1.validateSpec(this.spec, this.parser, !!this.isSwaggerFile, this.options.allowMissingId, this.options.allowAPIKeyAuth, this.options.allowMultipleParameters);
60
+ }
61
+ catch (err) {
62
+ throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.ValidateFailed);
63
+ }
64
+ }
65
+ async listSupportedAPIInfo() {
66
+ try {
67
+ await this.loadSpec();
68
+ const apiMap = this.getAllSupportedAPIs(this.spec);
69
+ const apiInfos = [];
70
+ for (const key in apiMap) {
71
+ const pathObjectItem = apiMap[key];
72
+ const [method, path] = key.split(" ");
73
+ const operationId = pathObjectItem.operationId;
74
+ // In Browser environment, this api is by default not support api without operationId
75
+ if (!operationId) {
76
+ continue;
77
+ }
78
+ const [command, warning] = utils_1.parseApiInfo(pathObjectItem, this.options.allowMultipleParameters);
79
+ const apiInfo = {
80
+ method: method,
81
+ path: path,
82
+ title: command.title,
83
+ id: operationId,
84
+ parameters: command.parameters,
85
+ description: command.description,
86
+ };
87
+ if (warning) {
88
+ apiInfo.warning = warning;
89
+ }
90
+ apiInfos.push(apiInfo);
91
+ }
92
+ return apiInfos;
93
+ }
94
+ catch (err) {
95
+ throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.listSupportedAPIInfoFailed);
96
+ }
97
+ }
98
+ /**
99
+ * Lists all the OpenAPI operations in the specification file.
100
+ * @returns A string array that represents the HTTP method and path of each operation, such as ['GET /pets/{petId}', 'GET /user/{userId}']
101
+ * according to copilot plugin spec, only list get and post method without auth
102
+ */
103
+ // eslint-disable-next-line @typescript-eslint/require-await
104
+ async list() {
105
+ throw new Error("Method not implemented.");
106
+ }
107
+ /**
108
+ * Generates and update artifacts from the OpenAPI specification file. Generate Adaptive Cards, update Teams app manifest, and generate a new OpenAPI specification file.
109
+ * @param manifestPath A file path of the Teams app manifest file to update.
110
+ * @param filter An array of strings that represent the filters to apply when generating the artifacts. If filter is empty, it would process nothing.
111
+ * @param outputSpecPath File path of the new OpenAPI specification file to generate. If not specified or empty, no spec file will be generated.
112
+ * @param adaptiveCardFolder Folder path where the Adaptive Card files will be generated. If not specified or empty, Adaptive Card files will not be generated.
113
+ */
114
+ // eslint-disable-next-line @typescript-eslint/require-await
115
+ async generate(manifestPath, filter, outputSpecPath, adaptiveCardFolder, signal) {
116
+ throw new Error("Method not implemented.");
117
+ }
118
+ async loadSpec() {
119
+ if (!this.spec) {
120
+ this.unResolveSpec = (await this.parser.parse(this.pathOrSpec));
121
+ if (!this.unResolveSpec.openapi && this.unResolveSpec.swagger === "2.0") {
122
+ this.isSwaggerFile = true;
123
+ }
124
+ const clonedUnResolveSpec = JSON.parse(JSON.stringify(this.unResolveSpec));
125
+ this.spec = (await this.parser.dereference(clonedUnResolveSpec));
126
+ }
127
+ }
128
+ getAllSupportedAPIs(spec) {
129
+ if (this.apiMap !== undefined) {
130
+ return this.apiMap;
131
+ }
132
+ const result = utils_1.listSupportedAPIs(spec, this.options.allowMissingId, this.options.allowAPIKeyAuth, this.options.allowMultipleParameters);
133
+ this.apiMap = result;
134
+ return result;
135
+ }
136
+ }
137
+ exports.SpecParser = SpecParser;
138
+ //# sourceMappingURL=specParser.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specParser.browser.js","sourceRoot":"","sources":["../../../src/common/spec-parser/specParser.browser.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import SwaggerParser from "@apidevtools/swagger-parser";
2
2
  import { OpenAPIV3 } from "openapi-types";
3
- import { APIInfo, GenerateResult, ParseOptions, ValidateResult } from "./interfaces";
3
+ import { APIInfo, GenerateResult, ListAPIResult, ParseOptions, ValidateResult } from "./interfaces";
4
4
  /**
5
5
  * A class that parses an OpenAPI specification file and provides methods to validate, list, and generate artifacts.
6
6
  */
7
7
  export declare class SpecParser {
8
8
  readonly pathOrSpec: string | OpenAPIV3.Document;
9
9
  readonly parser: SwaggerParser;
10
- readonly options: ParseOptions;
10
+ readonly options: Required<ParseOptions>;
11
11
  private apiMap;
12
12
  private spec;
13
13
  private unResolveSpec;
@@ -31,12 +31,7 @@ export declare class SpecParser {
31
31
  * @returns A string array that represents the HTTP method and path of each operation, such as ['GET /pets/{petId}', 'GET /user/{userId}']
32
32
  * according to copilot plugin spec, only list get and post method without auth
33
33
  */
34
- list(): Promise<string[]>;
35
- /**
36
- * List all the OpenAPI operations in the specification file and return a map of operationId and operation path.
37
- * @returns A map of operationId and operation path, such as [{'getPetById': 'GET /pets/{petId}'}, {'getUser': 'GET /user/{userId}'}]
38
- */
39
- listOperationMap(): Promise<Map<string, string>>;
34
+ list(): Promise<ListAPIResult[]>;
40
35
  /**
41
36
  * Generates and update artifacts from the OpenAPI specification file. Generate Adaptive Cards, update Teams app manifest, and generate a new OpenAPI specification file.
42
37
  * @param manifestPath A file path of the Teams app manifest file to update.
@@ -1 +1 @@
1
- {"version":3,"file":"specParser.d.ts","sourceRoot":"","sources":["../../../src/common/spec-parser/specParser.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK1C,OAAO,EACL,OAAO,EAEP,cAAc,EACd,YAAY,EACZ,cAAc,EAGf,MAAM,cAAc,CAAC;AAStB;;GAEG;AACH,qBAAa,UAAU;IACrB,SAAgB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC;IACxD,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,OAAO,EAAE,YAAY,CAAC;IAEtC,OAAO,CAAC,MAAM,CAA0D;IACxE,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,cAAc,CAGpB;IAEF;;;;OAIG;gBACS,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY;IAS1E;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IA8BnC,oBAAoB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIhD;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAU/B;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAqBtD;;;;;;OAMG;IACG,QAAQ,CACZ,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EAAE,EAChB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC;YAgFZ,QAAQ;IAetB,OAAO,CAAC,mBAAmB;CAU5B"}
1
+ {"version":3,"file":"specParser.d.ts","sourceRoot":"","sources":["../../../src/common/spec-parser/specParser.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK1C,OAAO,EACL,OAAO,EAEP,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EAGf,MAAM,cAAc,CAAC;AActB;;GAEG;AACH,qBAAa,UAAU;IACrB,SAAgB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC;IACxD,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEhD,OAAO,CAAC,MAAM,CAA0D;IACxE,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,cAAc,CAKpB;IAEF;;;;OAIG;gBACS,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY;IAS1E;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAqCnC,oBAAoB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIhD;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAwDtC;;;;;;OAMG;IACG,QAAQ,CACZ,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EAAE,EAChB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC;YAuHZ,QAAQ;IAetB,OAAO,CAAC,mBAAmB;CAe5B"}
@@ -30,6 +30,8 @@ class SpecParser {
30
30
  this.defaultOptions = {
31
31
  allowMissingId: true,
32
32
  allowSwagger: true,
33
+ allowAPIKeyAuth: false,
34
+ allowMultipleParameters: false,
33
35
  };
34
36
  this.pathOrSpec = pathOrDoc;
35
37
  this.parser = new swagger_parser_1.default();
@@ -62,7 +64,7 @@ class SpecParser {
62
64
  ],
63
65
  };
64
66
  }
65
- return utils_1.validateSpec(this.spec, this.parser, !!this.isSwaggerFile);
67
+ return utils_1.validateSpec(this.spec, this.parser, !!this.isSwaggerFile, this.options.allowMissingId, this.options.allowAPIKeyAuth, this.options.allowMultipleParameters);
66
68
  }
67
69
  catch (err) {
68
70
  throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.ValidateFailed);
@@ -78,38 +80,50 @@ class SpecParser {
78
80
  * according to copilot plugin spec, only list get and post method without auth
79
81
  */
80
82
  async list() {
83
+ var _a;
81
84
  try {
82
85
  await this.loadSpec();
83
- const apiMap = this.getAllSupportedAPIs(this.spec);
84
- return Array.from(Object.keys(apiMap));
85
- }
86
- catch (err) {
87
- throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.ListFailed);
88
- }
89
- }
90
- /**
91
- * List all the OpenAPI operations in the specification file and return a map of operationId and operation path.
92
- * @returns A map of operationId and operation path, such as [{'getPetById': 'GET /pets/{petId}'}, {'getUser': 'GET /user/{userId}'}]
93
- */
94
- async listOperationMap() {
95
- try {
96
- await this.loadSpec();
97
- const apiMap = this.getAllSupportedAPIs(this.spec);
98
- const operationMap = new Map();
99
- for (const key in apiMap) {
100
- const pathObjectItem = apiMap[key];
101
- let operationId = pathObjectItem.operationId;
86
+ const spec = this.spec;
87
+ const apiMap = this.getAllSupportedAPIs(spec);
88
+ const result = [];
89
+ for (const apiKey in apiMap) {
90
+ const apiResult = {
91
+ api: "",
92
+ server: "",
93
+ operationId: "",
94
+ };
95
+ const [method, path] = apiKey.split(" ");
96
+ const operation = apiMap[apiKey];
97
+ const rootServer = spec.servers && spec.servers[0];
98
+ const methodServer = spec.paths[path].servers && ((_a = spec.paths[path]) === null || _a === void 0 ? void 0 : _a.servers[0]);
99
+ const operationServer = operation.servers && operation.servers[0];
100
+ const serverUrl = operationServer || methodServer || rootServer;
101
+ if (!serverUrl) {
102
+ throw new specParserError_1.SpecParserError(constants_1.ConstantString.NoServerInformation, interfaces_1.ErrorType.NoServerInformation);
103
+ }
104
+ apiResult.server = serverUrl.url;
105
+ let operationId = operation.operationId;
102
106
  if (!operationId) {
103
- const [method, path] = key.split(" ");
104
- const methodName = method.toLowerCase();
105
- operationId = `${methodName}${utils_1.convertPathToCamelCase(path)}`;
107
+ operationId = `${method.toLowerCase()}${utils_1.convertPathToCamelCase(path)}`;
108
+ }
109
+ apiResult.operationId = operationId;
110
+ const apiKeyAuthArray = utils_1.getAPIKeyAuthArray(operation.security, spec);
111
+ for (const apiKeyAuth of apiKeyAuthArray) {
112
+ if (apiKeyAuth.length === 1) {
113
+ apiResult.auth = apiKeyAuth[0];
114
+ break;
115
+ }
106
116
  }
107
- operationMap.set(operationId, key);
117
+ apiResult.api = apiKey;
118
+ result.push(apiResult);
108
119
  }
109
- return operationMap;
120
+ return result;
110
121
  }
111
122
  catch (err) {
112
- throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.ListOperationMapFailed);
123
+ if (err instanceof specParserError_1.SpecParserError) {
124
+ throw err;
125
+ }
126
+ throw new specParserError_1.SpecParserError(err.toString(), interfaces_1.ErrorType.ListFailed);
113
127
  }
114
128
  }
115
129
  /**
@@ -132,7 +146,38 @@ class SpecParser {
132
146
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
133
147
  throw new specParserError_1.SpecParserError(constants_1.ConstantString.CancelledMessage, interfaces_1.ErrorType.Cancelled);
134
148
  }
135
- const newUnResolvedSpec = specFilter_1.specFilter(filter, this.unResolveSpec, this.spec, this.options.allowMissingId);
149
+ const newUnResolvedSpec = specFilter_1.specFilter(filter, this.unResolveSpec, this.spec, this.options.allowMissingId, this.options.allowAPIKeyAuth, this.options.allowMultipleParameters);
150
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
151
+ throw new specParserError_1.SpecParserError(constants_1.ConstantString.CancelledMessage, interfaces_1.ErrorType.Cancelled);
152
+ }
153
+ const newSpec = (await this.parser.dereference(newUnResolvedSpec));
154
+ const operationIdToAPIAuthKey = new Map();
155
+ let hasMultipleAPIKeyAuth = false;
156
+ let firstAuthKey;
157
+ for (const url in newSpec.paths) {
158
+ for (const method in newSpec.paths[url]) {
159
+ const operation = newSpec.paths[url][method];
160
+ const apiKeyAuthArr = utils_1.getAPIKeyAuthArray(operation.security, newSpec);
161
+ // Currently we don't support multiple apiKey auth
162
+ if (apiKeyAuthArr.length > 0 && apiKeyAuthArr.every((auths) => auths.length > 1)) {
163
+ hasMultipleAPIKeyAuth = true;
164
+ break;
165
+ }
166
+ if (apiKeyAuthArr && apiKeyAuthArr.length > 0) {
167
+ if (!firstAuthKey) {
168
+ firstAuthKey = apiKeyAuthArr[0][0];
169
+ }
170
+ else if (firstAuthKey.name !== apiKeyAuthArr[0][0].name) {
171
+ hasMultipleAPIKeyAuth = true;
172
+ break;
173
+ }
174
+ operationIdToAPIAuthKey.set(operation.operationId, apiKeyAuthArr[0][0]);
175
+ }
176
+ }
177
+ }
178
+ if (hasMultipleAPIKeyAuth) {
179
+ throw new specParserError_1.SpecParserError(constants_1.ConstantString.MultipleAPIKeyNotSupported, interfaces_1.ErrorType.MultipleAPIKeyNotSupported);
180
+ }
136
181
  let resultStr;
137
182
  if (outputSpecPath.endsWith(".yaml") || outputSpecPath.endsWith(".yml")) {
138
183
  resultStr = js_yaml_1.default.dump(newUnResolvedSpec);
@@ -141,35 +186,29 @@ class SpecParser {
141
186
  resultStr = JSON.stringify(newUnResolvedSpec, null, 2);
142
187
  }
143
188
  await fs_extra_1.default.outputFile(outputSpecPath, resultStr);
144
- if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
145
- throw new specParserError_1.SpecParserError(constants_1.ConstantString.CancelledMessage, interfaces_1.ErrorType.Cancelled);
146
- }
147
- const newSpec = (await this.parser.dereference(newUnResolvedSpec));
148
189
  for (const url in newSpec.paths) {
149
190
  for (const method in newSpec.paths[url]) {
150
- if (method === constants_1.ConstantString.GetMethod || method === constants_1.ConstantString.PostMethod) {
151
- const operation = newSpec.paths[url][method];
152
- try {
153
- const [card, jsonPath] = adaptiveCardGenerator_1.generateAdaptiveCard(operation);
154
- const fileName = path_1.default.join(adaptiveCardFolder, `${operation.operationId}.json`);
155
- const wrappedCard = adaptiveCardWrapper_1.wrapAdaptiveCard(card, jsonPath);
156
- await fs_extra_1.default.outputJSON(fileName, wrappedCard, { spaces: 2 });
157
- }
158
- catch (err) {
159
- result.allSuccess = false;
160
- result.warnings.push({
161
- type: interfaces_1.WarningType.GenerateCardFailed,
162
- content: err.toString(),
163
- data: operation.operationId,
164
- });
165
- }
191
+ const operation = newSpec.paths[url][method];
192
+ try {
193
+ const [card, jsonPath] = adaptiveCardGenerator_1.generateAdaptiveCard(operation);
194
+ const fileName = path_1.default.join(adaptiveCardFolder, `${operation.operationId}.json`);
195
+ const wrappedCard = adaptiveCardWrapper_1.wrapAdaptiveCard(card, jsonPath);
196
+ await fs_extra_1.default.outputJSON(fileName, wrappedCard, { spaces: 2 });
197
+ }
198
+ catch (err) {
199
+ result.allSuccess = false;
200
+ result.warnings.push({
201
+ type: interfaces_1.WarningType.GenerateCardFailed,
202
+ content: err.toString(),
203
+ data: operation.operationId,
204
+ });
166
205
  }
167
206
  }
168
207
  }
169
208
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
170
209
  throw new specParserError_1.SpecParserError(constants_1.ConstantString.CancelledMessage, interfaces_1.ErrorType.Cancelled);
171
210
  }
172
- const [updatedManifest, warnings] = await manifestUpdater_1.updateManifest(manifestPath, outputSpecPath, adaptiveCardFolder, newSpec);
211
+ const [updatedManifest, warnings] = await manifestUpdater_1.updateManifest(manifestPath, outputSpecPath, adaptiveCardFolder, newSpec, this.options.allowMultipleParameters, firstAuthKey === null || firstAuthKey === void 0 ? void 0 : firstAuthKey.name);
173
212
  await fs_extra_1.default.outputJSON(manifestPath, updatedManifest, { spaces: 2 });
174
213
  result.warnings.push(...warnings);
175
214
  }
@@ -198,7 +237,7 @@ class SpecParser {
198
237
  if (this.apiMap !== undefined) {
199
238
  return this.apiMap;
200
239
  }
201
- const result = utils_1.listSupportedAPIs(spec, this.options.allowMissingId);
240
+ const result = utils_1.listSupportedAPIs(spec, this.options.allowMissingId, this.options.allowAPIKeyAuth, this.options.allowMultipleParameters);
202
241
  this.apiMap = result;
203
242
  return result;
204
243
  }
@@ -1 +1 @@
1
- {"version":3,"file":"specParser.js","sourceRoot":"","sources":["../../../src/common/spec-parser/specParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specParser.js","sourceRoot":"","sources":["../../../src/common/spec-parser/specParser.ts"],"names":[],"mappings":"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"}
@@ -18,20 +18,23 @@ export declare function checkPostBody(schema: OpenAPIV3.SchemaObject, isRequired
18
18
  * 5. response body should be “application/json” and not empty, and response code should be 20X
19
19
  * 6. only support request body with “application/json” content type
20
20
  */
21
- export declare function isSupportedApi(method: string, path: string, spec: OpenAPIV3.Document, allowMissingId: boolean): boolean;
21
+ export declare function isSupportedApi(method: string, path: string, spec: OpenAPIV3.Document, allowMissingId: boolean, allowAPIKeyAuth: boolean, allowMultipleParameters: boolean): boolean;
22
+ export declare function getAPIKeyAuthArray(securities: OpenAPIV3.SecurityRequirementObject[] | undefined, spec: OpenAPIV3.Document): OpenAPIV3.ApiKeySecurityScheme[][];
22
23
  export declare function updateFirstLetter(str: string): string;
23
- export declare function getRelativePath(from: string, to: string): string;
24
24
  export declare function getResponseJson(operationObject: OpenAPIV3.OperationObject | undefined): OpenAPIV3.MediaTypeObject;
25
25
  export declare function convertPathToCamelCase(path: string): string;
26
26
  export declare function getUrlProtocol(urlString: string): string | undefined;
27
27
  export declare function resolveServerUrl(url: string): string;
28
28
  export declare function checkServerUrl(servers: OpenAPIV3.ServerObject[]): ErrorResult[];
29
- export declare function validateServer(spec: OpenAPIV3.Document, allowMissingId: boolean): ErrorResult[];
29
+ export declare function validateServer(spec: OpenAPIV3.Document, allowMissingId: boolean, allowAPIKeyAuth: boolean, allowMultipleParameters: boolean): ErrorResult[];
30
30
  export declare function isWellKnownName(name: string, wellknownNameList: string[]): boolean;
31
- export declare function generateParametersFromSchema(schema: OpenAPIV3.SchemaObject, name: string, isRequired?: boolean): [Parameter[], Parameter[]];
32
- export declare function parseApiInfo(operationItem: OpenAPIV3.OperationObject): [IMessagingExtensionCommand, WarningResult | undefined];
33
- export declare function listSupportedAPIs(spec: OpenAPIV3.Document, allowMissingId: boolean): {
31
+ export declare function generateParametersFromSchema(schema: OpenAPIV3.SchemaObject, name: string, allowMultipleParameters: boolean, isRequired?: boolean): [Parameter[], Parameter[]];
32
+ export declare function updateParameterWithInputType(schema: OpenAPIV3.SchemaObject, param: Parameter): void;
33
+ export declare function parseApiInfo(operationItem: OpenAPIV3.OperationObject, allowMultipleParameters: boolean): [IMessagingExtensionCommand, WarningResult | undefined];
34
+ export declare function listSupportedAPIs(spec: OpenAPIV3.Document, allowMissingId: boolean, allowAPIKeyAuth: boolean, allowMultipleParameters: boolean): {
34
35
  [key: string]: OpenAPIV3.OperationObject;
35
36
  };
36
- export declare function validateSpec(spec: OpenAPIV3.Document, parser: SwaggerParser, isSwaggerFile: boolean): ValidateResult;
37
+ export declare function validateSpec(spec: OpenAPIV3.Document, parser: SwaggerParser, isSwaggerFile: boolean, allowMissingId: boolean, allowAPIKeyAuth: boolean, allowMultipleParameters: boolean): ValidateResult;
38
+ export declare function format(str: string, ...args: string[]): string;
39
+ export declare function getSafeRegistrationIdEnvName(authName: string): string;
37
40
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/common/spec-parser/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAIxD,OAAO,EACL,gBAAgB,EAChB,WAAW,EAEX,SAAS,EACT,cAAc,EAEd,aAAa,EAEd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,wBAAgB,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,eAAe,EAAE,GAAG,gBAAgB,CA6C1F;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,CAAC,YAAY,EAC9B,UAAU,UAAQ,GACjB,gBAAgB,CA0ClB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,CAAC,QAAQ,EACxB,cAAc,EAAE,OAAO,GACtB,OAAO,CA6DT;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED,wBAAgB,eAAe,CAC7B,eAAe,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,GACrD,SAAS,CAAC,eAAe,CAY3B;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAepD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EAAE,GAAG,WAAW,EAAE,CAkC/E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,GAAG,WAAW,EAAE,CA2C/F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAQlF;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,SAAS,CAAC,YAAY,EAC9B,IAAI,EAAE,MAAM,EACZ,UAAU,UAAQ,GACjB,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,CAuC5B;AAED,wBAAgB,YAAY,CAC1B,aAAa,EAAE,SAAS,CAAC,eAAe,GACvC,CAAC,0BAA0B,EAAE,aAAa,GAAG,SAAS,CAAC,CAmEzD;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,CAAC,QAAQ,EACxB,cAAc,EAAE,OAAO,GACtB;IACD,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC;CAC1C,CAcA;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,CAAC,QAAQ,EACxB,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,OAAO,GACrB,cAAc,CAiEhB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/common/spec-parser/utils.ts"],"names":[],"mappings":"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"}