@microsoft/teamsfx-core 2.0.7-alpha.8120e652f.0 → 2.0.7-alpha.8d8f5a0bb.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.
- package/build/common/constants.d.ts +5 -1
- package/build/common/constants.d.ts.map +1 -1
- package/build/common/constants.js +5 -1
- package/build/common/constants.js.map +1 -1
- package/build/common/deps-checker/constant/helpLink.d.ts +1 -1
- package/build/common/deps-checker/constant/helpLink.d.ts.map +1 -1
- package/build/common/deps-checker/constant/helpLink.js +1 -1
- package/build/common/deps-checker/constant/helpLink.js.map +1 -1
- package/build/common/featureFlags.d.ts +3 -0
- package/build/common/featureFlags.d.ts.map +1 -1
- package/build/common/featureFlags.js +15 -2
- package/build/common/featureFlags.js.map +1 -1
- package/build/common/jsonUtils.js.map +1 -1
- package/build/common/local/packageJsonHelper.d.ts.map +1 -1
- package/build/common/local/packageJsonHelper.js +1 -2
- package/build/common/local/packageJsonHelper.js.map +1 -1
- package/build/common/m365/packageService.d.ts +3 -2
- package/build/common/m365/packageService.d.ts.map +1 -1
- package/build/common/m365/packageService.js +44 -15
- package/build/common/m365/packageService.js.map +1 -1
- package/build/common/projectSettingsHelper.d.ts +3 -0
- package/build/common/projectSettingsHelper.d.ts.map +1 -1
- package/build/common/projectSettingsHelper.js +29 -1
- package/build/common/projectSettingsHelper.js.map +1 -1
- package/build/common/projectTypeChecker.d.ts.map +1 -1
- package/build/common/projectTypeChecker.js +1 -2
- package/build/common/projectTypeChecker.js.map +1 -1
- package/build/common/samples.d.ts +4 -3
- package/build/common/samples.d.ts.map +1 -1
- package/build/common/samples.js +85 -41
- package/build/common/samples.js.map +1 -1
- package/build/common/telemetry.d.ts +3 -1
- package/build/common/telemetry.d.ts.map +1 -1
- package/build/common/telemetry.js +2 -0
- package/build/common/telemetry.js.map +1 -1
- package/build/common/templates-config.json +1 -0
- package/build/common/tools.d.ts +1 -1
- package/build/common/tools.d.ts.map +1 -1
- package/build/common/tools.js +7 -4
- package/build/common/tools.js.map +1 -1
- package/build/common/wrappedAxiosClient.d.ts +59 -0
- package/build/common/wrappedAxiosClient.d.ts.map +1 -0
- package/build/common/wrappedAxiosClient.js +247 -0
- package/build/common/wrappedAxiosClient.js.map +1 -0
- package/build/component/configManager/lifecycle.js +1 -1
- package/build/component/configManager/lifecycle.js.map +1 -1
- package/build/component/configManager/validator.js +1 -1
- package/build/component/configManager/validator.js.map +1 -1
- package/build/component/constant/commonConstant.d.ts +5 -0
- package/build/component/constant/commonConstant.d.ts.map +1 -1
- package/build/component/constant/commonConstant.js +7 -1
- package/build/component/constant/commonConstant.js.map +1 -1
- package/build/component/coordinator/index.d.ts +12 -1
- package/build/component/coordinator/index.d.ts.map +1 -1
- package/build/component/coordinator/index.js +92 -21
- package/build/component/coordinator/index.js.map +1 -1
- package/build/component/developerPortalScaffoldUtils.d.ts.map +1 -1
- package/build/component/developerPortalScaffoldUtils.js +0 -2
- package/build/component/developerPortalScaffoldUtils.js.map +1 -1
- package/build/component/driver/aad/create.d.ts +1 -1
- package/build/component/driver/aad/create.d.ts.map +1 -1
- package/build/component/driver/aad/create.js +11 -11
- package/build/component/driver/aad/create.js.map +1 -1
- package/build/component/driver/aad/update.d.ts +1 -1
- package/build/component/driver/aad/update.d.ts.map +1 -1
- package/build/component/driver/aad/update.js +10 -8
- package/build/component/driver/aad/update.js.map +1 -1
- package/build/component/driver/aad/utility/aadAppClient.d.ts +1 -0
- package/build/component/driver/aad/utility/aadAppClient.d.ts.map +1 -1
- package/build/component/driver/aad/utility/aadAppClient.js +16 -2
- package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
- package/build/component/driver/apiKey/create.d.ts +1 -2
- package/build/component/driver/apiKey/create.d.ts.map +1 -1
- package/build/component/driver/apiKey/create.js +29 -34
- package/build/component/driver/apiKey/create.js.map +1 -1
- package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.d.ts.map +1 -1
- package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.js +2 -3
- package/build/component/driver/apiKey/error/apiKeyClientSecretInvalid.js.map +1 -1
- package/build/component/driver/apiKey/interface/createApiKeyArgs.d.ts +2 -1
- package/build/component/driver/apiKey/interface/createApiKeyArgs.d.ts.map +1 -1
- package/build/component/driver/apiKey/utility/constants.d.ts +2 -1
- package/build/component/driver/apiKey/utility/constants.d.ts.map +1 -1
- package/build/component/driver/apiKey/utility/constants.js +3 -2
- package/build/component/driver/apiKey/utility/constants.js.map +1 -1
- package/build/component/driver/botAadApp/create.d.ts +2 -2
- package/build/component/driver/botAadApp/create.d.ts.map +1 -1
- package/build/component/driver/botAadApp/create.js +18 -18
- package/build/component/driver/botAadApp/create.js.map +1 -1
- package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
- package/build/component/driver/botFramework/createOrUpdateBot.js +9 -11
- package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +5 -5
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
- package/build/component/driver/file/createOrUpdateEnvironmentFile.d.ts.map +1 -1
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js +6 -6
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
- package/build/component/driver/file/createOrUpdateJsonFile.d.ts.map +1 -1
- package/build/component/driver/file/createOrUpdateJsonFile.js +8 -8
- package/build/component/driver/file/createOrUpdateJsonFile.js.map +1 -1
- package/build/component/driver/m365/acquire.d.ts.map +1 -1
- package/build/component/driver/m365/acquire.js +9 -10
- package/build/component/driver/m365/acquire.js.map +1 -1
- package/build/component/driver/middleware/addSWADeployTelemetry.js +1 -2
- package/build/component/driver/middleware/addSWADeployTelemetry.js.map +1 -1
- package/build/component/driver/teamsApp/appStudio.d.ts.map +1 -1
- package/build/component/driver/teamsApp/appStudio.js +0 -2
- package/build/component/driver/teamsApp/appStudio.js.map +1 -1
- package/build/component/driver/teamsApp/clients/appStudioClient.d.ts +33 -9
- package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
- package/build/component/driver/teamsApp/clients/appStudioClient.js +142 -112
- package/build/component/driver/teamsApp/clients/appStudioClient.js.map +1 -1
- package/build/component/driver/teamsApp/clients/authSvcClient.d.ts.map +1 -1
- package/build/component/driver/teamsApp/clients/authSvcClient.js +3 -24
- package/build/component/driver/teamsApp/clients/authSvcClient.js.map +1 -1
- package/build/component/driver/teamsApp/configure.d.ts.map +1 -1
- package/build/component/driver/teamsApp/configure.js +0 -2
- package/build/component/driver/teamsApp/configure.js.map +1 -1
- package/build/component/driver/teamsApp/constants.d.ts +7 -0
- package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
- package/build/component/driver/teamsApp/constants.js +7 -0
- package/build/component/driver/teamsApp/constants.js.map +1 -1
- package/build/component/driver/teamsApp/create.d.ts.map +1 -1
- package/build/component/driver/teamsApp/create.js +0 -2
- package/build/component/driver/teamsApp/create.js.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.d.ts +3 -0
- package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.js +61 -14
- package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/errors.d.ts +4 -0
- package/build/component/driver/teamsApp/errors.d.ts.map +1 -1
- package/build/component/driver/teamsApp/errors.js +7 -0
- package/build/component/driver/teamsApp/errors.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.d.ts +21 -0
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.d.ts.map +1 -0
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.js +5 -0
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationDetailsResponse.js.map +1 -0
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.d.ts +17 -0
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.d.ts.map +1 -0
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.js +16 -0
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.js.map +1 -0
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.d.ts +41 -0
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.d.ts.map +1 -0
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.js +5 -0
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResultsResponse.js.map +1 -0
- package/build/component/driver/teamsApp/publishAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/publishAppPackage.js +3 -5
- package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +1 -0
- package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/ManifestUtils.js +17 -0
- package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts +8 -0
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.d.ts.map +1 -0
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.js +63 -0
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.js.map +1 -0
- package/build/component/driver/teamsApp/utils/telemetry.d.ts +0 -31
- package/build/component/driver/teamsApp/utils/telemetry.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/telemetry.js +1 -53
- package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
- package/build/component/driver/teamsApp/validate.d.ts.map +1 -1
- package/build/component/driver/teamsApp/validate.js +0 -1
- package/build/component/driver/teamsApp/validate.js.map +1 -1
- package/build/component/driver/teamsApp/validateAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/validateAppPackage.js +0 -1
- package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
- package/build/component/feature/collaboration.d.ts +1 -1
- package/build/component/feature/collaboration.d.ts.map +1 -1
- package/build/component/feature/collaboration.js +10 -12
- package/build/component/feature/collaboration.js.map +1 -1
- package/build/component/generator/copilotPlugin/generator.d.ts +4 -2
- package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -1
- package/build/component/generator/copilotPlugin/generator.js +50 -18
- package/build/component/generator/copilotPlugin/generator.js.map +1 -1
- package/build/component/generator/copilotPlugin/helper.d.ts +5 -3
- package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -1
- package/build/component/generator/copilotPlugin/helper.js +67 -25
- package/build/component/generator/copilotPlugin/helper.js.map +1 -1
- package/build/component/generator/error.d.ts +1 -1
- package/build/component/generator/error.d.ts.map +1 -1
- package/build/component/generator/error.js +4 -4
- package/build/component/generator/error.js.map +1 -1
- package/build/component/generator/generator.d.ts +5 -0
- package/build/component/generator/generator.d.ts.map +1 -1
- package/build/component/generator/generator.js +28 -26
- package/build/component/generator/generator.js.map +1 -1
- package/build/component/generator/generatorAction.d.ts +5 -16
- package/build/component/generator/generatorAction.d.ts.map +1 -1
- package/build/component/generator/generatorAction.js +46 -87
- package/build/component/generator/generatorAction.js.map +1 -1
- package/build/component/generator/officeAddin/config/projectProperties.d.ts +1 -0
- package/build/component/generator/officeAddin/config/projectProperties.d.ts.map +1 -1
- package/build/component/generator/officeAddin/config/projectProperties.js +1 -0
- package/build/component/generator/officeAddin/config/projectProperties.js.map +1 -1
- package/build/component/generator/officeAddin/config/projectsJsonData.d.ts +1 -4
- package/build/component/generator/officeAddin/config/projectsJsonData.d.ts.map +1 -1
- package/build/component/generator/officeAddin/config/projectsJsonData.js +4 -11
- package/build/component/generator/officeAddin/config/projectsJsonData.js.map +1 -1
- package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
- package/build/component/generator/officeAddin/generator.js +13 -7
- package/build/component/generator/officeAddin/generator.js.map +1 -1
- package/build/component/generator/officeAddin/helperMethods.d.ts +2 -1
- package/build/component/generator/officeAddin/helperMethods.d.ts.map +1 -1
- package/build/component/generator/officeAddin/helperMethods.js +21 -10
- package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
- package/build/component/generator/officeXMLAddin/generator.d.ts +9 -0
- package/build/component/generator/officeXMLAddin/generator.d.ts.map +1 -0
- package/build/component/generator/officeXMLAddin/generator.js +90 -0
- package/build/component/generator/officeXMLAddin/generator.js.map +1 -0
- package/build/component/generator/officeXMLAddin/projectConfig.d.ts +36 -0
- package/build/component/generator/officeXMLAddin/projectConfig.d.ts.map +1 -0
- package/build/component/generator/officeXMLAddin/projectConfig.js +127 -0
- package/build/component/generator/officeXMLAddin/projectConfig.js.map +1 -0
- package/build/component/generator/spfx/error.d.ts +1 -0
- package/build/component/generator/spfx/error.d.ts.map +1 -1
- package/build/component/generator/spfx/error.js +11 -1
- package/build/component/generator/spfx/error.js.map +1 -1
- package/build/component/generator/spfx/spfxGenerator.d.ts +1 -0
- package/build/component/generator/spfx/spfxGenerator.d.ts.map +1 -1
- package/build/component/generator/spfx/spfxGenerator.js +33 -0
- package/build/component/generator/spfx/spfxGenerator.js.map +1 -1
- package/build/component/generator/spfx/utils/constants.d.ts +2 -0
- package/build/component/generator/spfx/utils/constants.d.ts.map +1 -1
- package/build/component/generator/spfx/utils/constants.js +2 -0
- package/build/component/generator/spfx/utils/constants.js.map +1 -1
- package/build/component/generator/spfx/utils/telemetryEvents.d.ts +2 -1
- package/build/component/generator/spfx/utils/telemetryEvents.d.ts.map +1 -1
- package/build/component/generator/spfx/utils/telemetryEvents.js +1 -0
- package/build/component/generator/spfx/utils/telemetryEvents.js.map +1 -1
- package/build/component/generator/utils.d.ts +2 -1
- package/build/component/generator/utils.d.ts.map +1 -1
- package/build/component/generator/utils.js +35 -16
- package/build/component/generator/utils.js.map +1 -1
- package/build/component/middleware/envMW.d.ts.map +1 -1
- package/build/component/middleware/envMW.js +9 -6
- package/build/component/middleware/envMW.js.map +1 -1
- package/build/component/resource/botService/appStudio/appStudioClient.d.ts +2 -0
- package/build/component/resource/botService/appStudio/appStudioClient.d.ts.map +1 -1
- package/build/component/resource/botService/appStudio/appStudioClient.js +46 -31
- package/build/component/resource/botService/appStudio/appStudioClient.js.map +1 -1
- package/build/component/utils/envUtil.d.ts +2 -0
- package/build/component/utils/envUtil.d.ts.map +1 -1
- package/build/component/utils/envUtil.js +23 -0
- package/build/component/utils/envUtil.js.map +1 -1
- package/build/component/utils/pathUtils.js +1 -1
- package/build/component/utils/pathUtils.js.map +1 -1
- package/build/core/FxCore.d.ts.map +1 -1
- package/build/core/FxCore.js +21 -12
- package/build/core/FxCore.js.map +1 -1
- package/build/core/collaborator.js +3 -3
- package/build/core/collaborator.js.map +1 -1
- package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
- package/build/core/middleware/projectMigratorV3.js +6 -1
- package/build/core/middleware/projectMigratorV3.js.map +1 -1
- package/build/error/arm.d.ts.map +1 -1
- package/build/error/arm.js +0 -2
- package/build/error/arm.js.map +1 -1
- package/build/error/common.d.ts +4 -0
- package/build/error/common.d.ts.map +1 -1
- package/build/error/common.js +36 -2
- package/build/error/common.js.map +1 -1
- package/build/error/deploy.d.ts.map +1 -1
- package/build/error/deploy.js +17 -6
- package/build/error/deploy.js.map +1 -1
- package/build/error/teamsApp.d.ts.map +1 -1
- package/build/error/teamsApp.js +4 -2
- package/build/error/teamsApp.js.map +1 -1
- package/build/index.d.ts +0 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -3
- package/build/index.js.map +1 -1
- package/build/question/constants.d.ts +1 -0
- package/build/question/constants.d.ts.map +1 -1
- package/build/question/constants.js +2 -1
- package/build/question/constants.js.map +1 -1
- package/build/question/create.d.ts +37 -2
- package/build/question/create.d.ts.map +1 -1
- package/build/question/create.js +514 -62
- package/build/question/create.js.map +1 -1
- package/build/question/inputs/CreateProjectInputs.d.ts +20 -6
- package/build/question/inputs/CreateProjectInputs.d.ts.map +1 -1
- package/build/question/options/CreateProjectOptions.d.ts.map +1 -1
- package/build/question/options/CreateProjectOptions.js +56 -11
- package/build/question/options/CreateProjectOptions.js.map +1 -1
- package/build/question/other.d.ts.map +1 -1
- package/build/question/other.js +2 -1
- package/build/question/other.js.map +1 -1
- package/build/question/questionNames.d.ts +11 -1
- package/build/question/questionNames.d.ts.map +1 -1
- package/build/question/questionNames.js +10 -0
- package/build/question/questionNames.js.map +1 -1
- package/package.json +8 -8
- package/resource/package.nls.json +163 -80
- package/resource/yaml-schema/v1.3/yaml.schema.json +6 -43
- package/resource/yaml-schema/v1.4/yaml.schema.json +1588 -0
- package/resource/yaml-schema/yaml.schema.json +1588 -0
- package/templates/fallback/common.zip +0 -0
- package/templates/fallback/csharp.zip +0 -0
- package/templates/fallback/js.zip +0 -0
- package/templates/fallback/python.zip +0 -0
- package/templates/fallback/ts.zip +0 -0
- package/templates/plugins/resource/aad/auth/V3/Enable SSO.txt +1 -1
- package/build/common/spec-parser/adaptiveCardGenerator.d.ts +0 -7
- package/build/common/spec-parser/adaptiveCardGenerator.d.ts.map +0 -1
- package/build/common/spec-parser/adaptiveCardGenerator.js +0 -168
- package/build/common/spec-parser/adaptiveCardGenerator.js.map +0 -1
- package/build/common/spec-parser/adaptiveCardWrapper.d.ts +0 -15
- package/build/common/spec-parser/adaptiveCardWrapper.d.ts.map +0 -1
- package/build/common/spec-parser/adaptiveCardWrapper.js +0 -98
- package/build/common/spec-parser/adaptiveCardWrapper.js.map +0 -1
- package/build/common/spec-parser/constants.d.ts +0 -41
- package/build/common/spec-parser/constants.d.ts.map +0 -1
- package/build/common/spec-parser/constants.js +0 -95
- package/build/common/spec-parser/constants.js.map +0 -1
- package/build/common/spec-parser/index.browser.d.ts +0 -6
- package/build/common/spec-parser/index.browser.d.ts.map +0 -1
- package/build/common/spec-parser/index.browser.js +0 -16
- package/build/common/spec-parser/index.browser.js.map +0 -1
- package/build/common/spec-parser/index.d.ts +0 -5
- package/build/common/spec-parser/index.d.ts.map +0 -1
- package/build/common/spec-parser/index.js +0 -16
- package/build/common/spec-parser/index.js.map +0 -1
- package/build/common/spec-parser/interfaces.d.ts +0 -180
- package/build/common/spec-parser/interfaces.d.ts.map +0 -1
- package/build/common/spec-parser/interfaces.js +0 -51
- package/build/common/spec-parser/interfaces.js.map +0 -1
- package/build/common/spec-parser/manifestUpdater.d.ts +0 -7
- package/build/common/spec-parser/manifestUpdater.d.ts.map +0 -1
- package/build/common/spec-parser/manifestUpdater.js +0 -98
- package/build/common/spec-parser/manifestUpdater.js.map +0 -1
- package/build/common/spec-parser/specFilter.d.ts +0 -3
- package/build/common/spec-parser/specFilter.d.ts.map +0 -1
- package/build/common/spec-parser/specFilter.js +0 -40
- package/build/common/spec-parser/specFilter.js.map +0 -1
- package/build/common/spec-parser/specParser.browser.d.ts +0 -46
- package/build/common/spec-parser/specParser.browser.d.ts.map +0 -1
- package/build/common/spec-parser/specParser.browser.js +0 -139
- package/build/common/spec-parser/specParser.browser.js.map +0 -1
- package/build/common/spec-parser/specParser.d.ts +0 -46
- package/build/common/spec-parser/specParser.d.ts.map +0 -1
- package/build/common/spec-parser/specParser.js +0 -244
- package/build/common/spec-parser/specParser.js.map +0 -1
- package/build/common/spec-parser/specParserError.d.ts +0 -6
- package/build/common/spec-parser/specParserError.d.ts.map +0 -1
- package/build/common/spec-parser/specParserError.js +0 -13
- package/build/common/spec-parser/specParserError.js.map +0 -1
- package/build/common/spec-parser/utils.d.ts +0 -43
- package/build/common/spec-parser/utils.d.ts.map +0 -1
- package/build/common/spec-parser/utils.js +0 -587
- package/build/common/spec-parser/utils.js.map +0 -1
|
@@ -4,19 +4,18 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.TeamsCollaboration = exports.AadCollaboration = void 0;
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
|
+
const lib_1 = require("@feathersjs/hooks/lib");
|
|
7
8
|
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
9
|
+
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
8
10
|
const typedi_1 = require("typedi");
|
|
9
|
-
const
|
|
11
|
+
const error_1 = require("../../core/error");
|
|
12
|
+
const globalVars_1 = require("../../core/globalVars");
|
|
13
|
+
const common_1 = require("../../error/common");
|
|
10
14
|
const aadAppClient_1 = require("../driver/aad/utility/aadAppClient");
|
|
11
15
|
const constants_1 = require("../driver/aad/utility/constants");
|
|
12
16
|
const addStartAndEndTelemetry_1 = require("../driver/middleware/addStartAndEndTelemetry");
|
|
13
|
-
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
14
|
-
const common_1 = require("../../error/common");
|
|
15
|
-
const telemetry_1 = require("../driver/teamsApp/utils/telemetry");
|
|
16
|
-
const constants_2 = require("../driver/teamsApp/constants");
|
|
17
17
|
const appStudioClient_1 = require("../driver/teamsApp/clients/appStudioClient");
|
|
18
|
-
const
|
|
19
|
-
const globalVars_1 = require("../../core/globalVars");
|
|
18
|
+
const constants_2 = require("../driver/teamsApp/constants");
|
|
20
19
|
const EventName = {
|
|
21
20
|
grantPermission: "grant-permission",
|
|
22
21
|
listCollaborator: "list-collaborator",
|
|
@@ -89,7 +88,7 @@ let AadCollaboration = class AadCollaboration {
|
|
|
89
88
|
}
|
|
90
89
|
const message = JSON.stringify(error);
|
|
91
90
|
(_b = ctx.logProvider) === null || _b === void 0 ? void 0 : _b.error(message);
|
|
92
|
-
return
|
|
91
|
+
return common_1.assembleError(error, componentNameAad);
|
|
93
92
|
}
|
|
94
93
|
};
|
|
95
94
|
tslib_1.__decorate([
|
|
@@ -125,9 +124,8 @@ AadCollaboration = tslib_1.__decorate([
|
|
|
125
124
|
], AadCollaboration);
|
|
126
125
|
exports.AadCollaboration = AadCollaboration;
|
|
127
126
|
let TeamsCollaboration = class TeamsCollaboration {
|
|
128
|
-
constructor(
|
|
127
|
+
constructor(m365TokenProvider) {
|
|
129
128
|
this.tokenProvider = m365TokenProvider;
|
|
130
|
-
telemetry_1.TelemetryUtils.init(ctx);
|
|
131
129
|
}
|
|
132
130
|
async grantPermission(ctx, teamsAppId, userInfo) {
|
|
133
131
|
try {
|
|
@@ -219,7 +217,7 @@ let TeamsCollaboration = class TeamsCollaboration {
|
|
|
219
217
|
}
|
|
220
218
|
const message = JSON.stringify(error);
|
|
221
219
|
(_b = ctx.logProvider) === null || _b === void 0 ? void 0 : _b.error(message);
|
|
222
|
-
return
|
|
220
|
+
return common_1.assembleError(error, componentNameTeams);
|
|
223
221
|
}
|
|
224
222
|
};
|
|
225
223
|
tslib_1.__decorate([
|
|
@@ -251,7 +249,7 @@ tslib_1.__decorate([
|
|
|
251
249
|
], TeamsCollaboration.prototype, "checkPermission", null);
|
|
252
250
|
TeamsCollaboration = tslib_1.__decorate([
|
|
253
251
|
typedi_1.Service("teams-collaboration"),
|
|
254
|
-
tslib_1.__metadata("design:paramtypes", [Object
|
|
252
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
255
253
|
], TeamsCollaboration);
|
|
256
254
|
exports.TeamsCollaboration = TeamsCollaboration;
|
|
257
255
|
//# sourceMappingURL=collaboration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collaboration.js","sourceRoot":"","sources":["../../../src/component/feature/collaboration.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;AAElC,wDAQgC;AAChC,mCAAiC;
|
|
1
|
+
{"version":3,"file":"collaboration.js","sourceRoot":"","sources":["../../../src/component/feature/collaboration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Context, FxError, Inputs, Result, Warning } from "@microsoft/teamsfx-api";
|
|
2
|
+
import { ActionContext } from "../../middleware/actionExecutionMW";
|
|
2
3
|
export interface CopilotPluginGeneratorResult {
|
|
3
4
|
warnings?: Warning[];
|
|
4
5
|
}
|
|
5
6
|
export declare class CopilotPluginGenerator {
|
|
6
|
-
static
|
|
7
|
+
static generateMeFromApiSpec(context: Context, inputs: Inputs, destinationPath: string, actionContext?: ActionContext): Promise<Result<CopilotPluginGeneratorResult, FxError>>;
|
|
8
|
+
static generatePluginFromApiSpec(context: Context, inputs: Inputs, destinationPath: string, actionContext?: ActionContext): Promise<Result<CopilotPluginGeneratorResult, FxError>>;
|
|
7
9
|
static generateFromOpenAIPlugin(context: Context, inputs: Inputs, destinationPath: string): Promise<Result<CopilotPluginGeneratorResult, FxError>>;
|
|
8
|
-
private static
|
|
10
|
+
private static generate;
|
|
9
11
|
}
|
|
10
12
|
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/copilotPlugin/generator.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,OAAO,EAEP,OAAO,EACP,MAAM,EAIN,MAAM,EAIN,OAAO,EAGR,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/copilotPlugin/generator.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,OAAO,EAEP,OAAO,EACP,MAAM,EAIN,MAAM,EAIN,OAAO,EAGR,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAqB,MAAM,oCAAoC,CAAC;AA2DtF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,qBAAa,sBAAsB;WASb,qBAAqB,CACvC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,MAAM,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;WA8BrC,yBAAyB,CAC3C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,MAAM,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;WA8BrC,wBAAwB,CAC1C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;mBAWpC,QAAQ;CAsM9B"}
|
|
@@ -20,40 +20,57 @@ const ManifestUtils_1 = require("../../driver/teamsApp/utils/ManifestUtils");
|
|
|
20
20
|
const create_1 = require("../../../question/create");
|
|
21
21
|
const fs = tslib_1.__importStar(require("fs-extra"));
|
|
22
22
|
const error_1 = require("../../../error");
|
|
23
|
-
const
|
|
23
|
+
const m365_spec_parser_1 = require("@microsoft/m365-spec-parser");
|
|
24
24
|
const util = tslib_1.__importStar(require("util"));
|
|
25
25
|
const util_1 = require("../../../question/util");
|
|
26
26
|
const featureFlags_1 = require("../../../common/featureFlags");
|
|
27
|
+
const lodash_1 = require("lodash");
|
|
27
28
|
const fromApiSpecComponentName = "copilot-plugin-existing-api";
|
|
29
|
+
const pluginFromApiSpecComponentName = "api-copilot-plugin-existing-api";
|
|
28
30
|
const fromApiSpecTemplateName = "copilot-plugin-existing-api";
|
|
29
|
-
const fromApiSpecWithApiKeyComponentName = "copilot-plugin-existing-api-api-key";
|
|
30
31
|
const fromApiSpecWithApiKeyTemplateName = "copilot-plugin-existing-api-api-key";
|
|
31
32
|
const fromOpenAIPlugincomponentName = "copilot-plugin-from-oai-plugin";
|
|
32
33
|
const fromOpenAIPluginTemplateName = "copilot-plugin-from-oai-plugin";
|
|
33
34
|
const apiSpecFolderName = "apiSpecificationFile";
|
|
34
35
|
const apiSpecYamlFileName = "openapi.yaml";
|
|
35
36
|
const apiSpecJsonFileName = "openapi.json";
|
|
36
|
-
const invalidApiSpecErrorName = "invalid-api-spec";
|
|
37
37
|
const copilotPluginExistingApiSpecUrlTelemetryEvent = "copilot-plugin-existing-api-spec-url";
|
|
38
|
-
const
|
|
38
|
+
const apiPluginFromApiSpecTemplateName = "api-plugin-existing-api";
|
|
39
|
+
var GenerateType;
|
|
40
|
+
(function (GenerateType) {
|
|
41
|
+
GenerateType["ME"] = "api-me";
|
|
42
|
+
GenerateType["ApiPlugin"] = "api-plugin";
|
|
43
|
+
})(GenerateType || (GenerateType = {}));
|
|
39
44
|
function normalizePath(path) {
|
|
40
45
|
return "./" + path.replace(/\\/g, "/");
|
|
41
46
|
}
|
|
42
47
|
class CopilotPluginGenerator {
|
|
43
|
-
static async
|
|
48
|
+
static async generateMeFromApiSpec(context, inputs, destinationPath, actionContext) {
|
|
44
49
|
const apiOperations = inputs[questionNames_1.QuestionNames.ApiOperation];
|
|
45
50
|
const authApi = inputs.supportedApisFromApiSpec.find((api) => !!api.data.authName && apiOperations.includes(api.id));
|
|
46
|
-
|
|
51
|
+
const templateName = authApi ? fromApiSpecWithApiKeyTemplateName : fromApiSpecTemplateName;
|
|
52
|
+
const componentName = fromApiSpecComponentName;
|
|
53
|
+
lodash_1.merge(actionContext === null || actionContext === void 0 ? void 0 : actionContext.telemetryProps, { ["template-name" /* templateName */]: templateName });
|
|
54
|
+
return await this.generate(context, inputs, destinationPath, templateName, componentName, false, authApi === null || authApi === void 0 ? void 0 : authApi.data);
|
|
55
|
+
}
|
|
56
|
+
static async generatePluginFromApiSpec(context, inputs, destinationPath, actionContext) {
|
|
57
|
+
const apiOperations = inputs[questionNames_1.QuestionNames.ApiOperation];
|
|
58
|
+
const authApi = inputs.supportedApisFromApiSpec.find((api) => !!api.data.authName && apiOperations.includes(api.id));
|
|
59
|
+
const templateName = apiPluginFromApiSpecTemplateName;
|
|
60
|
+
const componentName = fromApiSpecComponentName;
|
|
61
|
+
lodash_1.merge(actionContext === null || actionContext === void 0 ? void 0 : actionContext.telemetryProps, { ["template-name" /* templateName */]: templateName });
|
|
62
|
+
return await this.generate(context, inputs, destinationPath, templateName, componentName, true, authApi === null || authApi === void 0 ? void 0 : authApi.data);
|
|
47
63
|
}
|
|
48
64
|
static async generateFromOpenAIPlugin(context, inputs, destinationPath) {
|
|
49
|
-
return await this.
|
|
65
|
+
return await this.generate(context, inputs, destinationPath, fromOpenAIPluginTemplateName, fromOpenAIPlugincomponentName, false);
|
|
50
66
|
}
|
|
51
|
-
static async
|
|
67
|
+
static async generate(context, inputs, destinationPath, templateName, componentName, isPlugin, apiKeyAuthData) {
|
|
52
68
|
var _a, _b;
|
|
53
69
|
try {
|
|
54
70
|
const appName = inputs[questionNames_1.QuestionNames.AppName];
|
|
55
71
|
const language = inputs[questionNames_1.QuestionNames.ProgrammingLanguage];
|
|
56
72
|
const safeProjectNameFromVS = language === "csharp" ? inputs[questionNames_1.QuestionNames.SafeProjectName] : undefined;
|
|
73
|
+
const type = isPlugin ? GenerateType.ApiPlugin : GenerateType.ME;
|
|
57
74
|
const manifestPath = path_1.default.join(destinationPath, teamsfx_api_1.AppPackageFolderName, teamsfx_api_1.ManifestTemplateFileName);
|
|
58
75
|
const apiSpecFolderPath = path_1.default.join(destinationPath, teamsfx_api_1.AppPackageFolderName, apiSpecFolderName);
|
|
59
76
|
let url = (_a = inputs[questionNames_1.QuestionNames.ApiSpecLocation]) !== null && _a !== void 0 ? _a : (_b = inputs.openAIPluginManifest) === null || _b === void 0 ? void 0 : _b.api.url;
|
|
@@ -83,15 +100,16 @@ class CopilotPluginGenerator {
|
|
|
83
100
|
if (templateRes.isErr())
|
|
84
101
|
return teamsfx_api_1.err(templateRes.error);
|
|
85
102
|
context.telemetryReporter.sendTelemetryEvent(copilotPluginExistingApiSpecUrlTelemetryEvent, {
|
|
86
|
-
[isRemoteUrlTelemetryProperty]: util_1.isValidHttpUrl(url).toString(),
|
|
103
|
+
["remote-url" /* isRemoteUrlTelemetryProperty */]: util_1.isValidHttpUrl(url).toString(),
|
|
104
|
+
["generate-type" /* generateType */]: type,
|
|
87
105
|
});
|
|
88
106
|
// validate API spec
|
|
89
107
|
const allowAPIKeyAuth = featureFlags_1.isApiKeyEnabled();
|
|
90
108
|
const allowMultipleParameters = featureFlags_1.isMultipleParametersEnabled();
|
|
91
|
-
const specParser = new
|
|
109
|
+
const specParser = new m365_spec_parser_1.SpecParser(url, { allowAPIKeyAuth, allowMultipleParameters });
|
|
92
110
|
const validationRes = await specParser.validate();
|
|
93
111
|
const warnings = validationRes.warnings;
|
|
94
|
-
const operationIdWarning = warnings.find((w) => w.type ===
|
|
112
|
+
const operationIdWarning = warnings.find((w) => w.type === m365_spec_parser_1.WarningType.OperationIdMissing);
|
|
95
113
|
if (operationIdWarning && operationIdWarning.data) {
|
|
96
114
|
const apisMissingOperationId = operationIdWarning.data.filter((api) => filters.includes(api));
|
|
97
115
|
if (apisMissingOperationId.length > 0) {
|
|
@@ -102,22 +120,23 @@ class CopilotPluginGenerator {
|
|
|
102
120
|
warnings.splice(warnings.indexOf(operationIdWarning), 1);
|
|
103
121
|
}
|
|
104
122
|
}
|
|
105
|
-
const specVersionWarning = warnings.find((w) => w.type ===
|
|
123
|
+
const specVersionWarning = warnings.find((w) => w.type === m365_spec_parser_1.WarningType.ConvertSwaggerToOpenAPI);
|
|
106
124
|
if (specVersionWarning) {
|
|
107
125
|
specVersionWarning.content = ""; // We don't care content of this warning
|
|
108
126
|
}
|
|
109
|
-
if (validationRes.status ===
|
|
127
|
+
if (validationRes.status === m365_spec_parser_1.ValidationStatus.Error) {
|
|
110
128
|
helper_1.logValidationResults(validationRes.errors, warnings, context, true, false, true);
|
|
111
129
|
const errorMessage = inputs.platform === teamsfx_api_1.Platform.VSCode
|
|
112
130
|
? localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.multipleValidationErrors.vscode.message")
|
|
113
131
|
: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.multipleValidationErrors.message");
|
|
114
|
-
return teamsfx_api_1.err(new teamsfx_api_1.UserError(componentName, invalidApiSpecErrorName, errorMessage, errorMessage));
|
|
132
|
+
return teamsfx_api_1.err(new teamsfx_api_1.UserError(componentName, helper_1.invalidApiSpecErrorName, errorMessage, errorMessage));
|
|
115
133
|
}
|
|
116
134
|
// generate files
|
|
117
135
|
await fs.ensureDir(apiSpecFolderPath);
|
|
118
136
|
const adaptiveCardFolder = path_1.default.join(destinationPath, teamsfx_api_1.AppPackageFolderName, teamsfx_api_1.ResponseTemplatesFolderName);
|
|
119
137
|
const generateResult = await specParser.generate(manifestPath, filters, openapiSpecPath, adaptiveCardFolder);
|
|
120
138
|
context.telemetryReporter.sendTelemetryEvent(helper_1.specParserGenerateResultTelemetryEvent, {
|
|
139
|
+
["generate-type" /* generateType */]: type,
|
|
121
140
|
[helper_1.specParserGenerateResultAllSuccessTelemetryProperty]: generateResult.allSuccess.toString(),
|
|
122
141
|
[helper_1.specParserGenerateResultWarningsTelemetryProperty]: generateResult.warnings
|
|
123
142
|
.map((w) => w.type.toString() + ": " + w.content)
|
|
@@ -125,7 +144,7 @@ class CopilotPluginGenerator {
|
|
|
125
144
|
});
|
|
126
145
|
if (generateResult.warnings.length > 0) {
|
|
127
146
|
generateResult.warnings.find((o) => {
|
|
128
|
-
if (o.type ===
|
|
147
|
+
if (o.type === m365_spec_parser_1.WarningType.OperationOnlyContainsOptionalParam) {
|
|
129
148
|
o.content = ""; // We don't care content of this warning
|
|
130
149
|
}
|
|
131
150
|
});
|
|
@@ -166,7 +185,7 @@ class CopilotPluginGenerator {
|
|
|
166
185
|
}
|
|
167
186
|
catch (e) {
|
|
168
187
|
let error;
|
|
169
|
-
if (e instanceof
|
|
188
|
+
if (e instanceof m365_spec_parser_1.SpecParserError) {
|
|
170
189
|
error = helper_1.convertSpecParserErrorToFxError(e);
|
|
171
190
|
}
|
|
172
191
|
else {
|
|
@@ -186,9 +205,22 @@ tslib_1.__decorate([
|
|
|
186
205
|
}),
|
|
187
206
|
]),
|
|
188
207
|
tslib_1.__metadata("design:type", Function),
|
|
189
|
-
tslib_1.__metadata("design:paramtypes", [Object, Object, String]),
|
|
208
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, String, Object]),
|
|
209
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
210
|
+
], CopilotPluginGenerator, "generateMeFromApiSpec", null);
|
|
211
|
+
tslib_1.__decorate([
|
|
212
|
+
lib_1.hooks([
|
|
213
|
+
actionExecutionMW_1.ActionExecutionMW({
|
|
214
|
+
enableTelemetry: true,
|
|
215
|
+
telemetryComponentName: pluginFromApiSpecComponentName,
|
|
216
|
+
telemetryEventName: telemetryEvents_1.TelemetryEvents.Generate,
|
|
217
|
+
errorSource: pluginFromApiSpecComponentName,
|
|
218
|
+
}),
|
|
219
|
+
]),
|
|
220
|
+
tslib_1.__metadata("design:type", Function),
|
|
221
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, String, Object]),
|
|
190
222
|
tslib_1.__metadata("design:returntype", Promise)
|
|
191
|
-
], CopilotPluginGenerator, "
|
|
223
|
+
], CopilotPluginGenerator, "generatePluginFromApiSpec", null);
|
|
192
224
|
tslib_1.__decorate([
|
|
193
225
|
lib_1.hooks([
|
|
194
226
|
actionExecutionMW_1.ActionExecutionMW({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/component/generator/copilotPlugin/generator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;AAElC;;GAEG;AAEH,+CAA8C;AAC9C,wDAegC;AAChC,4CAAyC;AACzC,wDAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/component/generator/copilotPlugin/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author yuqzho@microsoft.com
|
|
3
3
|
*/
|
|
4
|
-
import { Context, FxError, OpenAIPluginManifest, Result, TeamsAppManifest, ApiOperation, Warning } from "@microsoft/teamsfx-api";
|
|
5
|
-
import { ErrorType as ApiSpecErrorType, WarningResult, SpecParserError, ErrorResult as ApiSpecErrorResult } from "
|
|
4
|
+
import { Context, FxError, OpenAIPluginManifest, Result, TeamsAppManifest, ApiOperation, Warning, Inputs } from "@microsoft/teamsfx-api";
|
|
5
|
+
import { ErrorType as ApiSpecErrorType, WarningResult, SpecParserError, ErrorResult as ApiSpecErrorResult } from "@microsoft/m365-spec-parser";
|
|
6
6
|
declare enum OpenAIPluginManifestErrorType {
|
|
7
7
|
AuthNotSupported = "openai-pliugin-auth-not-supported",
|
|
8
8
|
ApiUrlMissing = "openai-plugin-api-url-missing"
|
|
@@ -10,6 +10,7 @@ declare enum OpenAIPluginManifestErrorType {
|
|
|
10
10
|
export declare const specParserGenerateResultTelemetryEvent = "spec-parser-generate-result";
|
|
11
11
|
export declare const specParserGenerateResultAllSuccessTelemetryProperty = "all-success";
|
|
12
12
|
export declare const specParserGenerateResultWarningsTelemetryProperty = "warnings";
|
|
13
|
+
export declare const invalidApiSpecErrorName = "invalid-api-spec";
|
|
13
14
|
export interface ErrorResult {
|
|
14
15
|
/**
|
|
15
16
|
* The type of error.
|
|
@@ -25,7 +26,8 @@ export declare class OpenAIPluginManifestHelper {
|
|
|
25
26
|
static loadOpenAIPluginManifest(input: string): Promise<OpenAIPluginManifest>;
|
|
26
27
|
static updateManifest(openAiPluginManifest: OpenAIPluginManifest, teamsAppManifest: TeamsAppManifest, manifestPath: string): Promise<Result<undefined, FxError>>;
|
|
27
28
|
}
|
|
28
|
-
export declare function listOperations(context: Context, manifest: OpenAIPluginManifest | undefined, apiSpecUrl: string | undefined,
|
|
29
|
+
export declare function listOperations(context: Context, manifest: OpenAIPluginManifest | undefined, apiSpecUrl: string | undefined, inputs: Inputs, includeExistingAPIs?: boolean, shouldLogWarning?: boolean, existingCorrelationId?: string): Promise<Result<ApiOperation[], ErrorResult[]>>;
|
|
30
|
+
export declare function listPluginExistingOperations(manifest: TeamsAppManifest, teamsManifestPath: string, destinationApiSpecFilePath: string): Promise<string[]>;
|
|
29
31
|
export declare function logValidationResults(errors: ErrorResult[], warnings: WarningResult[], context: Context, isApiSpec: boolean, shouldLogWarning: boolean, shouldSkipTelemetry: boolean, existingCorrelationId?: string): void;
|
|
30
32
|
export declare function generateScaffoldingSummary(warnings: Warning[], teamsManifest: TeamsAppManifest, projectPath: string): string;
|
|
31
33
|
export declare function convertSpecParserErrorToFxError(error: SpecParserError): FxError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/copilotPlugin/helper.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH,OAAO,EACL,OAAO,EACP,OAAO,EAEP,oBAAoB,EACpB,MAAM,EAIN,gBAAgB,EAChB,YAAY,EAEZ,OAAO,
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../src/component/generator/copilotPlugin/helper.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH,OAAO,EACL,OAAO,EACP,OAAO,EAEP,oBAAoB,EACpB,MAAM,EAIN,gBAAgB,EAChB,YAAY,EAEZ,OAAO,EAKP,MAAM,EACP,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAEL,SAAS,IAAI,gBAAgB,EAE7B,aAAa,EAEb,eAAe,EAEf,WAAW,IAAI,kBAAkB,EAElC,MAAM,6BAA6B,CAAC;AA2BrC,aAAK,6BAA6B;IAChC,gBAAgB,sCAAsC;IACtD,aAAa,kCAAkC;CAChD;AAED,eAAO,MAAM,sCAAsC,gCAAgC,CAAC;AACpF,eAAO,MAAM,mDAAmD,gBAAgB,CAAC;AACjF,eAAO,MAAM,iDAAiD,aAAa,CAAC;AAE5E,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAG1D,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,gBAAgB,GAAG,6BAA6B,CAAC;IAEvD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,qBAAa,0BAA0B;WACxB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;WA0BtE,cAAc,CACzB,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;CAUvC;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,oBAAoB,GAAG,SAAS,EAC1C,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,MAAM,EAAE,MAAM,EACd,mBAAmB,UAAO,EAC1B,gBAAgB,UAAO,EACvB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CA+FhD;AAgCD,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,gBAAgB,EAC1B,iBAAiB,EAAE,MAAM,EACzB,0BAA0B,EAAE,MAAM,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EAAE,EACrB,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,OAAO,EAClB,gBAAgB,EAAE,OAAO,EACzB,mBAAmB,EAAE,OAAO,EAC5B,qBAAqB,CAAC,EAAE,MAAM,GAC7B,IAAI,CAuEN;AA0BD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,gBAAgB,EAC/B,WAAW,EAAE,MAAM,GAClB,MAAM,CA6BR;AAkKD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAE/E;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBvE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAQzF"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.formatValidationErrors = exports.isYamlSpecFile = exports.convertSpecParserErrorToFxError = exports.generateScaffoldingSummary = exports.logValidationResults = exports.listOperations = exports.OpenAIPluginManifestHelper = exports.specParserGenerateResultWarningsTelemetryProperty = exports.specParserGenerateResultAllSuccessTelemetryProperty = exports.specParserGenerateResultTelemetryEvent = void 0;
|
|
5
|
+
exports.formatValidationErrors = exports.isYamlSpecFile = exports.convertSpecParserErrorToFxError = exports.generateScaffoldingSummary = exports.logValidationResults = exports.listPluginExistingOperations = exports.listOperations = exports.OpenAIPluginManifestHelper = exports.invalidApiSpecErrorName = exports.specParserGenerateResultWarningsTelemetryProperty = exports.specParserGenerateResultAllSuccessTelemetryProperty = exports.specParserGenerateResultTelemetryEvent = void 0;
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
7
|
/**
|
|
8
8
|
* @author yuqzho@microsoft.com
|
|
@@ -10,7 +10,7 @@ const tslib_1 = require("tslib");
|
|
|
10
10
|
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
11
11
|
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
12
12
|
const utils_1 = require("../utils");
|
|
13
|
-
const
|
|
13
|
+
const m365_spec_parser_1 = require("@microsoft/m365-spec-parser");
|
|
14
14
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
15
15
|
const localizeUtils_1 = require("../../../common/localizeUtils");
|
|
16
16
|
const error_1 = require("../../../error");
|
|
@@ -19,6 +19,9 @@ const constant_1 = require("../../configManager/constant");
|
|
|
19
19
|
const ManifestUtils_1 = require("../../driver/teamsApp/utils/ManifestUtils");
|
|
20
20
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
21
21
|
const featureFlags_1 = require("../../../common/featureFlags");
|
|
22
|
+
const questionNames_1 = require("../../../question/questionNames");
|
|
23
|
+
const PluginManifestUtils_1 = require("../../driver/teamsApp/utils/PluginManifestUtils");
|
|
24
|
+
const constants_1 = require("../../../question/constants");
|
|
22
25
|
const manifestFilePath = "/.well-known/ai-plugin.json";
|
|
23
26
|
const componentName = "OpenAIPluginManifestHelper";
|
|
24
27
|
var OpenAIPluginManifestErrorType;
|
|
@@ -29,6 +32,8 @@ var OpenAIPluginManifestErrorType;
|
|
|
29
32
|
exports.specParserGenerateResultTelemetryEvent = "spec-parser-generate-result";
|
|
30
33
|
exports.specParserGenerateResultAllSuccessTelemetryProperty = "all-success";
|
|
31
34
|
exports.specParserGenerateResultWarningsTelemetryProperty = "warnings";
|
|
35
|
+
exports.invalidApiSpecErrorName = "invalid-api-spec";
|
|
36
|
+
const apiSpecNotUsedInPlugin = "api-spec-not-used-in-plugin";
|
|
32
37
|
class OpenAIPluginManifestHelper {
|
|
33
38
|
static async loadOpenAIPluginManifest(input) {
|
|
34
39
|
input = input.trim();
|
|
@@ -60,7 +65,7 @@ class OpenAIPluginManifestHelper {
|
|
|
60
65
|
}
|
|
61
66
|
}
|
|
62
67
|
exports.OpenAIPluginManifestHelper = OpenAIPluginManifestHelper;
|
|
63
|
-
async function listOperations(context, manifest, apiSpecUrl,
|
|
68
|
+
async function listOperations(context, manifest, apiSpecUrl, inputs, includeExistingAPIs = true, shouldLogWarning = true, existingCorrelationId) {
|
|
64
69
|
if (manifest) {
|
|
65
70
|
const errors = validateOpenAIPluginManifest(manifest);
|
|
66
71
|
logValidationResults(errors, [], context, false, shouldLogWarning, false, existingCorrelationId);
|
|
@@ -69,35 +74,45 @@ async function listOperations(context, manifest, apiSpecUrl, teamsManifestPath,
|
|
|
69
74
|
}
|
|
70
75
|
apiSpecUrl = manifest.api.url;
|
|
71
76
|
}
|
|
77
|
+
const isPlugin = inputs[questionNames_1.QuestionNames.Capabilities] === constants_1.copilotPluginApiSpecOptionId;
|
|
72
78
|
try {
|
|
73
|
-
const allowAPIKeyAuth = featureFlags_1.isApiKeyEnabled();
|
|
74
|
-
const allowMultipleParameters = featureFlags_1.isMultipleParametersEnabled();
|
|
75
|
-
const specParser = new
|
|
79
|
+
const allowAPIKeyAuth = isPlugin || featureFlags_1.isApiKeyEnabled();
|
|
80
|
+
const allowMultipleParameters = isPlugin || featureFlags_1.isMultipleParametersEnabled();
|
|
81
|
+
const specParser = new m365_spec_parser_1.SpecParser(apiSpecUrl, {
|
|
76
82
|
allowAPIKeyAuth,
|
|
77
83
|
allowMultipleParameters,
|
|
78
84
|
});
|
|
79
85
|
const validationRes = await specParser.validate();
|
|
80
86
|
validationRes.errors = formatValidationErrors(validationRes.errors);
|
|
81
87
|
logValidationResults(validationRes.errors, validationRes.warnings, context, true, shouldLogWarning, false, existingCorrelationId);
|
|
82
|
-
if (validationRes.status ===
|
|
88
|
+
if (validationRes.status === m365_spec_parser_1.ValidationStatus.Error) {
|
|
83
89
|
return teamsfx_api_1.err(validationRes.errors);
|
|
84
90
|
}
|
|
85
91
|
let operations = await specParser.list();
|
|
86
92
|
// Filter out exsiting APIs
|
|
87
93
|
if (!includeExistingAPIs) {
|
|
94
|
+
const teamsManifestPath = inputs[questionNames_1.QuestionNames.ManifestPath];
|
|
88
95
|
if (!teamsManifestPath) {
|
|
89
96
|
throw new error_1.MissingRequiredInputError("teamsManifestPath", "inputs");
|
|
90
97
|
}
|
|
91
98
|
const manifest = await ManifestUtils_1.manifestUtils._readAppManifest(teamsManifestPath);
|
|
99
|
+
let existingOperations = [];
|
|
92
100
|
if (manifest.isOk()) {
|
|
93
|
-
|
|
94
|
-
|
|
101
|
+
if (isPlugin) {
|
|
102
|
+
existingOperations = await listPluginExistingOperations(manifest.value, teamsManifestPath, inputs[questionNames_1.QuestionNames.DestinationApiSpecFilePath]);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
const existingOperationIds = ManifestUtils_1.manifestUtils.getOperationIds(manifest.value);
|
|
106
|
+
existingOperations = operations
|
|
107
|
+
.filter((operation) => existingOperationIds.includes(operation.operationId))
|
|
108
|
+
.map((operation) => operation.api);
|
|
109
|
+
}
|
|
95
110
|
operations = operations.filter((operation) => !existingOperations.includes(operation.api));
|
|
96
111
|
// No extra API can be added
|
|
97
112
|
if (operations.length == 0) {
|
|
98
113
|
const errors = [
|
|
99
114
|
{
|
|
100
|
-
type:
|
|
115
|
+
type: m365_spec_parser_1.ErrorType.NoExtraAPICanBeAdded,
|
|
101
116
|
content: localizeUtils_1.getLocalizedString("error.copilotPlugin.noExtraAPICanBeAdded"),
|
|
102
117
|
},
|
|
103
118
|
];
|
|
@@ -113,7 +128,7 @@ async function listOperations(context, manifest, apiSpecUrl, teamsManifestPath,
|
|
|
113
128
|
return teamsfx_api_1.ok(sortedOperations);
|
|
114
129
|
}
|
|
115
130
|
catch (e) {
|
|
116
|
-
if (e instanceof
|
|
131
|
+
if (e instanceof m365_spec_parser_1.SpecParserError) {
|
|
117
132
|
throw convertSpecParserErrorToFxError(e);
|
|
118
133
|
}
|
|
119
134
|
else {
|
|
@@ -148,6 +163,33 @@ function sortOperations(operations) {
|
|
|
148
163
|
function formatTelemetryValidationProperty(result) {
|
|
149
164
|
return result.type.toString() + ": " + result.content;
|
|
150
165
|
}
|
|
166
|
+
async function listPluginExistingOperations(manifest, teamsManifestPath, destinationApiSpecFilePath) {
|
|
167
|
+
const getApiSPecFileRes = await PluginManifestUtils_1.pluginManifestUtils.getApiSpecFilePathFromTeamsManifest(manifest, teamsManifestPath);
|
|
168
|
+
if (getApiSPecFileRes.isErr()) {
|
|
169
|
+
throw getApiSPecFileRes.error;
|
|
170
|
+
}
|
|
171
|
+
let apiSpecFilePath;
|
|
172
|
+
const apiSpecFiles = getApiSPecFileRes.value;
|
|
173
|
+
for (const file of apiSpecFiles) {
|
|
174
|
+
if (path_1.default.resolve(file) === path_1.default.resolve(destinationApiSpecFilePath)) {
|
|
175
|
+
apiSpecFilePath = file;
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
if (!apiSpecFilePath) {
|
|
180
|
+
throw new teamsfx_api_1.UserError("listPluginExistingOperations", apiSpecNotUsedInPlugin, localizeUtils_1.getLocalizedString("error.copilotPlugin.apiSpecNotUsedInPlugin", destinationApiSpecFilePath), localizeUtils_1.getLocalizedString("error.copilotPlugin.apiSpecNotUsedInPlugin", destinationApiSpecFilePath));
|
|
181
|
+
}
|
|
182
|
+
const specParser = new m365_spec_parser_1.SpecParser(apiSpecFilePath);
|
|
183
|
+
const validationRes = await specParser.validate();
|
|
184
|
+
validationRes.errors = formatValidationErrors(validationRes.errors);
|
|
185
|
+
if (validationRes.status === m365_spec_parser_1.ValidationStatus.Error) {
|
|
186
|
+
const errorMessage = localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.multipleValidationErrors.message");
|
|
187
|
+
throw new teamsfx_api_1.UserError("listPluginExistingOperations", exports.invalidApiSpecErrorName, errorMessage, errorMessage);
|
|
188
|
+
}
|
|
189
|
+
const operations = await specParser.list();
|
|
190
|
+
return operations.map((o) => o.api);
|
|
191
|
+
}
|
|
192
|
+
exports.listPluginExistingOperations = listPluginExistingOperations;
|
|
151
193
|
function logValidationResults(errors, warnings, context, isApiSpec, shouldLogWarning, shouldSkipTelemetry, existingCorrelationId) {
|
|
152
194
|
if (!shouldSkipTelemetry) {
|
|
153
195
|
const properties = {
|
|
@@ -242,11 +284,11 @@ function generateScaffoldingSummary(warnings, teamsManifest, projectPath) {
|
|
|
242
284
|
exports.generateScaffoldingSummary = generateScaffoldingSummary;
|
|
243
285
|
function formatApiSpecValidationWarningMessage(specWarnings, apiSpecFileName) {
|
|
244
286
|
const resultWarnings = [];
|
|
245
|
-
const operationIdWarning = specWarnings.find((w) => w.type ===
|
|
287
|
+
const operationIdWarning = specWarnings.find((w) => w.type === m365_spec_parser_1.WarningType.OperationIdMissing);
|
|
246
288
|
if (operationIdWarning) {
|
|
247
289
|
resultWarnings.push(localizeUtils_1.getLocalizedString("core.copilotPlugin.scaffold.summary.warning.operationId", `${constant_1.SummaryConstant.NotExecuted} ${operationIdWarning.content}`, teamsfx_api_1.ManifestTemplateFileName));
|
|
248
290
|
}
|
|
249
|
-
const swaggerWarning = specWarnings.find((w) => w.type ===
|
|
291
|
+
const swaggerWarning = specWarnings.find((w) => w.type === m365_spec_parser_1.WarningType.ConvertSwaggerToOpenAPI);
|
|
250
292
|
if (swaggerWarning) {
|
|
251
293
|
resultWarnings.push(`${constant_1.SummaryConstant.NotExecuted} ` +
|
|
252
294
|
localizeUtils_1.getLocalizedString("core.copilotPlugin.scaffold.summary.warning.swaggerVersion", apiSpecFileName));
|
|
@@ -285,7 +327,7 @@ function validateTeamsManifestLength(teamsManifest, projectPath, warnings) {
|
|
|
285
327
|
}
|
|
286
328
|
// validate command
|
|
287
329
|
if (teamsfx_api_1.ManifestUtil.parseCommonProperties(teamsManifest).isApiME) {
|
|
288
|
-
const optionalParamsOnlyWarnings = warnings.filter((o) => o.type ===
|
|
330
|
+
const optionalParamsOnlyWarnings = warnings.filter((o) => o.type === m365_spec_parser_1.WarningType.OperationOnlyContainsOptionalParam);
|
|
289
331
|
const commands = teamsManifest.composeExtensions[0].commands;
|
|
290
332
|
if (optionalParamsOnlyWarnings) {
|
|
291
333
|
for (const optionalParamsOnlyWarning of optionalParamsOnlyWarnings) {
|
|
@@ -300,7 +342,7 @@ function validateTeamsManifestLength(teamsManifest, projectPath, warnings) {
|
|
|
300
342
|
for (const command of commands) {
|
|
301
343
|
if (command.type === "query") {
|
|
302
344
|
if (!command.apiResponseRenderingTemplateFile) {
|
|
303
|
-
const errorDetail = (_e = warnings.find((w) => w.type ===
|
|
345
|
+
const errorDetail = (_e = warnings.find((w) => w.type === m365_spec_parser_1.WarningType.GenerateCardFailed && w.data === command.id)) === null || _e === void 0 ? void 0 : _e.content;
|
|
304
346
|
resultWarnings.push(localizeUtils_1.getLocalizedString("core.copilotPlugin.scaffold.summary.warning.teamsManifest.missingCardTemlate", "apiResponseRenderingTemplateFile", command.id) +
|
|
305
347
|
localizeUtils_1.getLocalizedString("core.copilotPlugin.scaffold.summary.warning.teamsManifest.missingCardTemlate.mitigation", teamsfx_api_1.AppPackageFolderName, `composeExtensions/commands/${command.id}/apiResponseRenderingTemplateFile`, path_1.default.join(teamsfx_api_1.AppPackageFolderName, teamsfx_api_1.ManifestTemplateFileName)) +
|
|
306
348
|
(errorDetail ? os_1.EOL + errorDetail : ""));
|
|
@@ -351,7 +393,7 @@ exports.formatValidationErrors = formatValidationErrors;
|
|
|
351
393
|
function formatValidationErrorContent(error) {
|
|
352
394
|
try {
|
|
353
395
|
switch (error.type) {
|
|
354
|
-
case
|
|
396
|
+
case m365_spec_parser_1.ErrorType.SpecNotValid: {
|
|
355
397
|
let content = error.content;
|
|
356
398
|
if (error.content.startsWith("ResolverError: Error downloading")) {
|
|
357
399
|
content = error.content
|
|
@@ -362,23 +404,23 @@ function formatValidationErrorContent(error) {
|
|
|
362
404
|
}
|
|
363
405
|
return content;
|
|
364
406
|
}
|
|
365
|
-
case
|
|
407
|
+
case m365_spec_parser_1.ErrorType.RemoteRefNotSupported:
|
|
366
408
|
return localizeUtils_1.getLocalizedString("core.common.RemoteRefNotSupported", error.data.join(", "));
|
|
367
|
-
case
|
|
409
|
+
case m365_spec_parser_1.ErrorType.NoServerInformation:
|
|
368
410
|
return localizeUtils_1.getLocalizedString("core.common.NoServerInformation");
|
|
369
|
-
case
|
|
411
|
+
case m365_spec_parser_1.ErrorType.UrlProtocolNotSupported:
|
|
370
412
|
return localizeUtils_1.getLocalizedString("core.common.UrlProtocolNotSupported", error.data);
|
|
371
|
-
case
|
|
413
|
+
case m365_spec_parser_1.ErrorType.RelativeServerUrlNotSupported:
|
|
372
414
|
return localizeUtils_1.getLocalizedString("core.common.RelativeServerUrlNotSupported");
|
|
373
|
-
case
|
|
415
|
+
case m365_spec_parser_1.ErrorType.NoSupportedApi:
|
|
374
416
|
return localizeUtils_1.getLocalizedString("core.common.NoSupportedApi");
|
|
375
|
-
case
|
|
417
|
+
case m365_spec_parser_1.ErrorType.NoExtraAPICanBeAdded:
|
|
376
418
|
return localizeUtils_1.getLocalizedString("error.copilotPlugin.noExtraAPICanBeAdded");
|
|
377
|
-
case
|
|
419
|
+
case m365_spec_parser_1.ErrorType.ResolveServerUrlFailed:
|
|
378
420
|
return error.content;
|
|
379
|
-
case
|
|
421
|
+
case m365_spec_parser_1.ErrorType.Cancelled:
|
|
380
422
|
return localizeUtils_1.getLocalizedString("core.common.CancelledMessage");
|
|
381
|
-
case
|
|
423
|
+
case m365_spec_parser_1.ErrorType.SwaggerNotSupported:
|
|
382
424
|
return localizeUtils_1.getLocalizedString("core.common.SwaggerNotSupported");
|
|
383
425
|
default:
|
|
384
426
|
return error.content;
|