@microsoft/teamsfx-core 2.0.7 → 2.0.8-alpha.2a327dc81.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 +7 -1
- package/build/common/constants.d.ts.map +1 -1
- package/build/common/constants.js +7 -1
- package/build/common/constants.js.map +1 -1
- package/build/common/featureFlags.d.ts +6 -0
- package/build/common/featureFlags.d.ts.map +1 -1
- package/build/common/featureFlags.js +28 -2
- package/build/common/featureFlags.js.map +1 -1
- package/build/common/m365/packageService.d.ts +1 -0
- package/build/common/m365/packageService.d.ts.map +1 -1
- package/build/common/m365/packageService.js +15 -2
- 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 +3 -2
- package/build/common/samples.d.ts.map +1 -1
- package/build/common/samples.js +84 -40
- 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 +3 -2
- 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/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 +10 -1
- package/build/component/coordinator/index.d.ts.map +1 -1
- package/build/component/coordinator/index.js +77 -10
- 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/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 +9 -0
- package/build/component/driver/aad/utility/aadAppClient.js.map +1 -1
- package/build/component/driver/aad/utility/aadManifestHelper.js +2 -1
- package/build/component/driver/aad/utility/aadManifestHelper.js.map +1 -1
- package/build/component/driver/apiKey/create.d.ts.map +1 -1
- package/build/component/driver/apiKey/create.js +5 -7
- package/build/component/driver/apiKey/create.js.map +1 -1
- package/build/component/driver/botFramework/createOrUpdateBot.d.ts.map +1 -1
- package/build/component/driver/botFramework/createOrUpdateBot.js +0 -2
- 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/deploy/spfx/utility/spoClient.d.ts.map +1 -1
- package/build/component/driver/deploy/spfx/utility/spoClient.js +3 -1
- package/build/component/driver/deploy/spfx/utility/spoClient.js.map +1 -1
- package/build/component/driver/index.d.ts +1 -0
- package/build/component/driver/index.d.ts.map +1 -1
- package/build/component/driver/index.js +1 -0
- package/build/component/driver/index.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 +31 -9
- package/build/component/driver/teamsApp/clients/appStudioClient.d.ts.map +1 -1
- package/build/component/driver/teamsApp/clients/appStudioClient.js +86 -111
- 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 +4 -0
- package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
- package/build/component/driver/teamsApp/constants.js +6 -1
- 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/interfaces/ValidateWithTestCasesArgs.d.ts +17 -0
- package/build/component/driver/teamsApp/interfaces/ValidateWithTestCasesArgs.d.ts.map +1 -0
- package/build/component/driver/teamsApp/interfaces/ValidateWithTestCasesArgs.js +5 -0
- package/build/component/driver/teamsApp/interfaces/ValidateWithTestCasesArgs.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/driver/teamsApp/validateTestCases.d.ts +22 -0
- package/build/component/driver/teamsApp/validateTestCases.d.ts.map +1 -0
- package/build/component/driver/teamsApp/validateTestCases.js +156 -0
- package/build/component/driver/teamsApp/validateTestCases.js.map +1 -0
- 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 +2 -4
- package/build/component/feature/collaboration.js.map +1 -1
- package/build/component/generator/copilotPlugin/generator.d.ts +5 -2
- package/build/component/generator/copilotPlugin/generator.d.ts.map +1 -1
- package/build/component/generator/copilotPlugin/generator.js +101 -26
- package/build/component/generator/copilotPlugin/generator.js.map +1 -1
- package/build/component/generator/copilotPlugin/helper.d.ts +8 -3
- package/build/component/generator/copilotPlugin/helper.d.ts.map +1 -1
- package/build/component/generator/copilotPlugin/helper.js +274 -29
- 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 +6 -1
- package/build/component/generator/generator.d.ts.map +1 -1
- package/build/component/generator/generator.js +32 -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 +32 -1
- package/build/component/generator/officeAddin/config/projectProperties.d.ts.map +1 -1
- package/build/component/generator/officeAddin/config/projectProperties.js +33 -2
- package/build/component/generator/officeAddin/config/projectProperties.js.map +1 -1
- package/build/component/generator/officeAddin/config/projectsJsonData.d.ts +7 -1
- package/build/component/generator/officeAddin/config/projectsJsonData.d.ts.map +1 -1
- package/build/component/generator/officeAddin/config/projectsJsonData.js +54 -4
- 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 +31 -10
- 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/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 +1 -0
- package/build/component/middleware/envMW.js.map +1 -1
- package/build/component/resource/botService/appStudio/appStudioClient.d.ts.map +1 -1
- package/build/component/resource/botService/appStudio/appStudioClient.js +11 -39
- 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.d.ts.map +1 -1
- package/build/component/utils/pathUtils.js +2 -0
- package/build/component/utils/pathUtils.js.map +1 -1
- package/build/core/FxCore.d.ts +2 -0
- package/build/core/FxCore.d.ts.map +1 -1
- package/build/core/FxCore.js +91 -17
- 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/common.d.ts.map +1 -1
- package/build/error/common.js +1 -1
- 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/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 +35 -2
- package/build/question/create.d.ts.map +1 -1
- package/build/question/create.js +578 -79
- package/build/question/create.js.map +1 -1
- package/build/question/inputs/CreateProjectInputs.d.ts +22 -8
- 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 +58 -12
- package/build/question/options/CreateProjectOptions.js.map +1 -1
- package/build/question/other.d.ts +1 -0
- package/build/question/other.d.ts.map +1 -1
- package/build/question/other.js +17 -1
- package/build/question/other.js.map +1 -1
- package/build/question/questionNames.d.ts +10 -1
- package/build/question/questionNames.d.ts.map +1 -1
- package/build/question/questionNames.js +9 -0
- package/build/question/questionNames.js.map +1 -1
- package/package.json +4 -4
- package/resource/package.nls.json +208 -116
- 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 -595
- package/build/common/spec-parser/utils.js.map +0 -1
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.ValidateWithTestCasesDriver = void 0;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
8
|
+
const lib_1 = require("@feathersjs/hooks/lib");
|
|
9
|
+
const typedi_1 = require("typedi");
|
|
10
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
11
|
+
const path = tslib_1.__importStar(require("path"));
|
|
12
|
+
const lodash_1 = require("lodash");
|
|
13
|
+
const wrapUtil_1 = require("../util/wrapUtil");
|
|
14
|
+
const addStartAndEndTelemetry_1 = require("../middleware/addStartAndEndTelemetry");
|
|
15
|
+
const appStudioClient_1 = require("./clients/appStudioClient");
|
|
16
|
+
const localizeUtils_1 = require("../../../common/localizeUtils");
|
|
17
|
+
const tools_1 = require("../../../common/tools");
|
|
18
|
+
const adm_zip_1 = tslib_1.__importDefault(require("adm-zip"));
|
|
19
|
+
const constants_1 = require("./constants");
|
|
20
|
+
const metadataUtil_1 = require("../../utils/metadataUtil");
|
|
21
|
+
const common_1 = require("../../../error/common");
|
|
22
|
+
const AsyncAppValidationResponse_1 = require("./interfaces/AsyncAppValidationResponse");
|
|
23
|
+
const actionName = "teamsApp/validateWithTestCases";
|
|
24
|
+
let ValidateWithTestCasesDriver = class ValidateWithTestCasesDriver {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.description = localizeUtils_1.getLocalizedString("core.selectValidateMethodQuestion.validate.testCasesOptionDescription");
|
|
27
|
+
this.progressTitle = localizeUtils_1.getLocalizedString("driver.teamsApp.progressBar.validateWithTestCases");
|
|
28
|
+
}
|
|
29
|
+
async execute(args, context) {
|
|
30
|
+
const wrapContext = new wrapUtil_1.WrapDriverContext(context, actionName, actionName);
|
|
31
|
+
const res = await this.validate(args, wrapContext);
|
|
32
|
+
return {
|
|
33
|
+
result: res,
|
|
34
|
+
summaries: wrapContext.summaries,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
async validate(args, context) {
|
|
38
|
+
const result = this.validateArgs(args);
|
|
39
|
+
if (result.isErr()) {
|
|
40
|
+
return teamsfx_api_1.err(result.error);
|
|
41
|
+
}
|
|
42
|
+
let appPackagePath = args.appPackagePath;
|
|
43
|
+
if (!path.isAbsolute(appPackagePath)) {
|
|
44
|
+
appPackagePath = path.join(context.projectPath, appPackagePath);
|
|
45
|
+
}
|
|
46
|
+
if (!(await fs_extra_1.default.pathExists(appPackagePath))) {
|
|
47
|
+
return teamsfx_api_1.err(new common_1.FileNotFoundError(actionName, appPackagePath));
|
|
48
|
+
}
|
|
49
|
+
const archivedFile = await fs_extra_1.default.readFile(appPackagePath);
|
|
50
|
+
const zipEntries = new adm_zip_1.default(archivedFile).getEntries();
|
|
51
|
+
const manifestFile = zipEntries.find((x) => x.entryName === constants_1.Constants.MANIFEST_FILE);
|
|
52
|
+
if (manifestFile) {
|
|
53
|
+
const manifestContent = manifestFile.getData().toString();
|
|
54
|
+
const manifest = JSON.parse(manifestContent);
|
|
55
|
+
metadataUtil_1.metadataUtil.parseManifest(manifest);
|
|
56
|
+
// Add common properties like isCopilotPlugin: boolean
|
|
57
|
+
const manifestTelemetries = teamsfx_api_1.ManifestUtil.parseCommonTelemetryProperties(manifest);
|
|
58
|
+
lodash_1.merge(context.telemetryProperties, manifestTelemetries);
|
|
59
|
+
const appStudioTokenRes = await context.m365TokenProvider.getAccessToken({
|
|
60
|
+
scopes: tools_1.AppStudioScopes,
|
|
61
|
+
});
|
|
62
|
+
if (appStudioTokenRes.isErr()) {
|
|
63
|
+
return teamsfx_api_1.err(appStudioTokenRes.error);
|
|
64
|
+
}
|
|
65
|
+
const appStudioToken = appStudioTokenRes.value;
|
|
66
|
+
const response = await appStudioClient_1.AppStudioClient.submitAppValidationRequest(manifest.id, appStudioToken);
|
|
67
|
+
const message = localizeUtils_1.getLocalizedString("driver.teamsApp.progressBar.validateWithTestCases.step", response.status, `${constants_1.getAppStudioEndpoint()}/apps/${manifest.id}/app-validation`);
|
|
68
|
+
context.logProvider.info(message);
|
|
69
|
+
// Do not await the final validation result, return immediately
|
|
70
|
+
void this.runningBackgroundJob(args, context, appStudioToken, response, manifest.id);
|
|
71
|
+
return teamsfx_api_1.ok(new Map());
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return teamsfx_api_1.err(new common_1.FileNotFoundError(actionName, "manifest.json"));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Periodically check the result until it's completed or aborted
|
|
79
|
+
* @param args
|
|
80
|
+
* @param context
|
|
81
|
+
* @param appStudioToken
|
|
82
|
+
* @param response
|
|
83
|
+
* @param teamsAppId
|
|
84
|
+
*/
|
|
85
|
+
async runningBackgroundJob(args, context, appStudioToken, response, teamsAppId) {
|
|
86
|
+
const validationStatusUrl = `${constants_1.getAppStudioEndpoint()}/apps/${teamsAppId}/app-validation/${response.appValidationId}`;
|
|
87
|
+
const validationRequestListUrl = `${constants_1.getAppStudioEndpoint()}/apps/${teamsAppId}/app-validation`;
|
|
88
|
+
try {
|
|
89
|
+
if (args.showProgressBar && context.ui) {
|
|
90
|
+
context.progressBar = context.ui.createProgressBar(this.progressTitle, 1);
|
|
91
|
+
await context.progressBar.start();
|
|
92
|
+
const message = localizeUtils_1.getLocalizedString("driver.teamsApp.progressBar.validateWithTestCases.step", response.status, validationRequestListUrl);
|
|
93
|
+
await context.progressBar.next(message);
|
|
94
|
+
}
|
|
95
|
+
while (response.status !== AsyncAppValidationResponse_1.AsyncAppValidationStatus.Completed &&
|
|
96
|
+
response.status !== AsyncAppValidationResponse_1.AsyncAppValidationStatus.Aborted) {
|
|
97
|
+
await tools_1.waitSeconds(constants_1.CEHCK_VALIDATION_RESULTS_INTERVAL_SECONDS);
|
|
98
|
+
const message = localizeUtils_1.getLocalizedString("driver.teamsApp.progressBar.validateWithTestCases.step", response.status, validationRequestListUrl);
|
|
99
|
+
context.logProvider.info(message);
|
|
100
|
+
response = await appStudioClient_1.AppStudioClient.getAppValidationById(response.appValidationId, appStudioToken);
|
|
101
|
+
}
|
|
102
|
+
if (response.status === AsyncAppValidationResponse_1.AsyncAppValidationStatus.Completed) {
|
|
103
|
+
if (args.showMessage && context.ui) {
|
|
104
|
+
void context.ui
|
|
105
|
+
.showMessage("info", localizeUtils_1.getLocalizedString("driver.teamsApp.summary.validateWithTestCases", response.status), false, localizeUtils_1.getLocalizedString("driver.teamsApp.summary.validateWithTestCases.viewResult"))
|
|
106
|
+
.then(async (res) => {
|
|
107
|
+
var _a;
|
|
108
|
+
if (res.isOk() &&
|
|
109
|
+
res.value ===
|
|
110
|
+
localizeUtils_1.getLocalizedString("driver.teamsApp.summary.validateWithTestCases.viewResult")) {
|
|
111
|
+
await ((_a = context.ui) === null || _a === void 0 ? void 0 : _a.openUrl(validationStatusUrl));
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
context.logProvider.info(localizeUtils_1.getLocalizedString("driver.teamsApp.summary.validateWithTestCases", response.status, validationStatusUrl));
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
if (args.showMessage && context.ui) {
|
|
119
|
+
void context.ui
|
|
120
|
+
.showMessage("error", localizeUtils_1.getLocalizedString("driver.teamsApp.summary.validateWithTestCases.result", response.status), false, localizeUtils_1.getLocalizedString("driver.teamsApp.summary.validateWithTestCases.viewResult"))
|
|
121
|
+
.then(async (res) => {
|
|
122
|
+
var _a;
|
|
123
|
+
if (res.isOk() &&
|
|
124
|
+
res.value ===
|
|
125
|
+
localizeUtils_1.getLocalizedString("driver.teamsApp.summary.validateWithTestCases.viewResult")) {
|
|
126
|
+
await ((_a = context.ui) === null || _a === void 0 ? void 0 : _a.openUrl(validationStatusUrl));
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
context.logProvider.error(localizeUtils_1.getLocalizedString("driver.teamsApp.summary.validateWithTestCases", response.status, validationStatusUrl));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
finally {
|
|
134
|
+
if (args.showProgressBar && context.progressBar) {
|
|
135
|
+
await context.progressBar.end(true);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
validateArgs(args) {
|
|
140
|
+
if (!args || !args.appPackagePath) {
|
|
141
|
+
return teamsfx_api_1.err(new common_1.InvalidActionInputError(actionName, ["appPackagePath"]));
|
|
142
|
+
}
|
|
143
|
+
return teamsfx_api_1.ok(undefined);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
tslib_1.__decorate([
|
|
147
|
+
lib_1.hooks([addStartAndEndTelemetry_1.addStartAndEndTelemetry(actionName, actionName)]),
|
|
148
|
+
tslib_1.__metadata("design:type", Function),
|
|
149
|
+
tslib_1.__metadata("design:paramtypes", [Object, wrapUtil_1.WrapDriverContext]),
|
|
150
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
151
|
+
], ValidateWithTestCasesDriver.prototype, "validate", null);
|
|
152
|
+
ValidateWithTestCasesDriver = tslib_1.__decorate([
|
|
153
|
+
typedi_1.Service(actionName)
|
|
154
|
+
], ValidateWithTestCasesDriver);
|
|
155
|
+
exports.ValidateWithTestCasesDriver = ValidateWithTestCasesDriver;
|
|
156
|
+
//# sourceMappingURL=validateTestCases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateTestCases.js","sourceRoot":"","sources":["../../../../src/component/driver/teamsApp/validateTestCases.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export declare class AadCollaboration {
|
|
|
11
11
|
}
|
|
12
12
|
export declare class TeamsCollaboration {
|
|
13
13
|
private readonly tokenProvider;
|
|
14
|
-
constructor(
|
|
14
|
+
constructor(m365TokenProvider: M365TokenProvider);
|
|
15
15
|
grantPermission(ctx: Context, teamsAppId: string, userInfo: AppUser): Promise<Result<ResourcePermission[], FxError>>;
|
|
16
16
|
listCollaborator(ctx: Context, teamsAppId: string): Promise<Result<TeamsAppAdmin[], FxError>>;
|
|
17
17
|
checkPermission(ctx: Context, teamsAppId: string, userInfo: AppUser): Promise<Result<ResourcePermission[], FxError>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collaboration.d.ts","sourceRoot":"","sources":["../../../src/component/feature/collaboration.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,MAAM,EAGP,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAS/F,OAAO,EAAE,OAAO,EAAE,MAAM,sDAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"collaboration.d.ts","sourceRoot":"","sources":["../../../src/component/feature/collaboration.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,MAAM,EAGP,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAS/F,OAAO,EAAE,OAAO,EAAE,MAAM,sDAAsD,CAAC;AAU/E,qBACa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEhC,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,WAAW;IAO9D,eAAe,CAC1B,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAC;IAqBpC,gBAAgB,CAC3B,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IAY1B,eAAe,CAC1B,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAC;IAmBjD,OAAO,CAAC,WAAW;CAiBpB;AAED,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;gBAEtC,iBAAiB,EAAE,iBAAiB;IAOnC,eAAe,CAC1B,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAC;IA8BpC,gBAAgB,CAC3B,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;IAsC/B,eAAe,CAC1B,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAC;IA4BjD,OAAO,CAAC,WAAW;CAoBpB"}
|
|
@@ -16,7 +16,6 @@ const constants_1 = require("../driver/aad/utility/constants");
|
|
|
16
16
|
const addStartAndEndTelemetry_1 = require("../driver/middleware/addStartAndEndTelemetry");
|
|
17
17
|
const appStudioClient_1 = require("../driver/teamsApp/clients/appStudioClient");
|
|
18
18
|
const constants_2 = require("../driver/teamsApp/constants");
|
|
19
|
-
const telemetry_1 = require("../driver/teamsApp/utils/telemetry");
|
|
20
19
|
const EventName = {
|
|
21
20
|
grantPermission: "grant-permission",
|
|
22
21
|
listCollaborator: "list-collaborator",
|
|
@@ -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 {
|
|
@@ -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,+CAA8C;AAC9C,wDAQgC;AAChC,0DAA0B;AAC1B,mCAAiC;AAEjC,4CAAiD;AACjD,sDAAuD;AACvD,+CAAqF;AACrF,qEAAkE;AAClE,+DAAkE;AAClE,0FAAuF;AACvF,gFAA6E;AAC7E,4DAA0E;
|
|
1
|
+
{"version":3,"file":"collaboration.js","sourceRoot":"","sources":["../../../src/component/feature/collaboration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
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
|
-
|
|
10
|
+
static generateForCustomCopilotRagCustomApi(context: Context, inputs: Inputs, destinationPath: string): Promise<Result<CopilotPluginGeneratorResult, FxError>>;
|
|
11
|
+
private static generate;
|
|
9
12
|
}
|
|
10
13
|
//# 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,
|
|
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,EAIR,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAqB,MAAM,oCAAoC,CAAC;AA6DtF,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;WAmBrC,oCAAoC,CACtD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;mBAWpC,QAAQ;CAuP9B"}
|
|
@@ -20,40 +20,62 @@ 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";
|
|
34
|
+
const forCustomCopilotRagCustomApi = "custom-copilot-rag-custom-api";
|
|
33
35
|
const apiSpecFolderName = "apiSpecificationFile";
|
|
34
36
|
const apiSpecYamlFileName = "openapi.yaml";
|
|
35
37
|
const apiSpecJsonFileName = "openapi.json";
|
|
36
|
-
const
|
|
38
|
+
const pluginManifestFileName = "ai-plugin.json";
|
|
37
39
|
const copilotPluginExistingApiSpecUrlTelemetryEvent = "copilot-plugin-existing-api-spec-url";
|
|
38
|
-
const
|
|
40
|
+
const apiPluginFromApiSpecTemplateName = "api-plugin-existing-api";
|
|
41
|
+
const failedToUpdateCustomApiTemplateErrorName = "failed-to-update-custom-api-template";
|
|
39
42
|
function normalizePath(path) {
|
|
40
43
|
return "./" + path.replace(/\\/g, "/");
|
|
41
44
|
}
|
|
42
45
|
class CopilotPluginGenerator {
|
|
43
|
-
static async
|
|
46
|
+
static async generateMeFromApiSpec(context, inputs, destinationPath, actionContext) {
|
|
44
47
|
const apiOperations = inputs[questionNames_1.QuestionNames.ApiOperation];
|
|
45
48
|
const authApi = inputs.supportedApisFromApiSpec.find((api) => !!api.data.authName && apiOperations.includes(api.id));
|
|
46
|
-
|
|
49
|
+
const templateName = authApi ? fromApiSpecWithApiKeyTemplateName : fromApiSpecTemplateName;
|
|
50
|
+
const componentName = fromApiSpecComponentName;
|
|
51
|
+
lodash_1.merge(actionContext === null || actionContext === void 0 ? void 0 : actionContext.telemetryProps, { ["template-name" /* templateName */]: templateName });
|
|
52
|
+
return await this.generate(context, inputs, destinationPath, templateName, componentName, false, authApi === null || authApi === void 0 ? void 0 : authApi.data);
|
|
53
|
+
}
|
|
54
|
+
static async generatePluginFromApiSpec(context, inputs, destinationPath, actionContext) {
|
|
55
|
+
const apiOperations = inputs[questionNames_1.QuestionNames.ApiOperation];
|
|
56
|
+
const authApi = inputs.supportedApisFromApiSpec.find((api) => !!api.data.authName && apiOperations.includes(api.id));
|
|
57
|
+
const templateName = apiPluginFromApiSpecTemplateName;
|
|
58
|
+
const componentName = fromApiSpecComponentName;
|
|
59
|
+
lodash_1.merge(actionContext === null || actionContext === void 0 ? void 0 : actionContext.telemetryProps, { ["template-name" /* templateName */]: templateName });
|
|
60
|
+
return await this.generate(context, inputs, destinationPath, templateName, componentName, true, authApi === null || authApi === void 0 ? void 0 : authApi.data);
|
|
47
61
|
}
|
|
48
62
|
static async generateFromOpenAIPlugin(context, inputs, destinationPath) {
|
|
49
|
-
return await this.
|
|
63
|
+
return await this.generate(context, inputs, destinationPath, fromOpenAIPluginTemplateName, fromOpenAIPlugincomponentName, false);
|
|
50
64
|
}
|
|
51
|
-
static async
|
|
65
|
+
static async generateForCustomCopilotRagCustomApi(context, inputs, destinationPath) {
|
|
66
|
+
return await this.generate(context, inputs, destinationPath, forCustomCopilotRagCustomApi, forCustomCopilotRagCustomApi, false);
|
|
67
|
+
}
|
|
68
|
+
static async generate(context, inputs, destinationPath, templateName, componentName, isPlugin, apiKeyAuthData) {
|
|
52
69
|
var _a, _b;
|
|
53
70
|
try {
|
|
54
71
|
const appName = inputs[questionNames_1.QuestionNames.AppName];
|
|
55
72
|
const language = inputs[questionNames_1.QuestionNames.ProgrammingLanguage];
|
|
56
73
|
const safeProjectNameFromVS = language === "csharp" ? inputs[questionNames_1.QuestionNames.SafeProjectName] : undefined;
|
|
74
|
+
const type = templateName === forCustomCopilotRagCustomApi
|
|
75
|
+
? m365_spec_parser_1.ProjectType.TeamsAi
|
|
76
|
+
: isPlugin
|
|
77
|
+
? m365_spec_parser_1.ProjectType.Copilot
|
|
78
|
+
: m365_spec_parser_1.ProjectType.SME;
|
|
57
79
|
const manifestPath = path_1.default.join(destinationPath, teamsfx_api_1.AppPackageFolderName, teamsfx_api_1.ManifestTemplateFileName);
|
|
58
80
|
const apiSpecFolderPath = path_1.default.join(destinationPath, teamsfx_api_1.AppPackageFolderName, apiSpecFolderName);
|
|
59
81
|
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;
|
|
@@ -68,30 +90,39 @@ class CopilotPluginGenerator {
|
|
|
68
90
|
const openapiSpecFileName = isYaml ? apiSpecYamlFileName : apiSpecJsonFileName;
|
|
69
91
|
const openapiSpecPath = path_1.default.join(apiSpecFolderPath, openapiSpecFileName);
|
|
70
92
|
if (apiKeyAuthData === null || apiKeyAuthData === void 0 ? void 0 : apiKeyAuthData.authName) {
|
|
71
|
-
context.templateVariables = generator_1.Generator.getDefaultVariables(appName, safeProjectNameFromVS, inputs.targetFramework, {
|
|
93
|
+
context.templateVariables = generator_1.Generator.getDefaultVariables(appName, safeProjectNameFromVS, inputs.targetFramework, inputs.placeProjectFileInSolutionDir === "true", {
|
|
72
94
|
authName: apiKeyAuthData.authName,
|
|
73
95
|
openapiSpecPath: normalizePath(path_1.default.join(teamsfx_api_1.AppPackageFolderName, apiSpecFolderName, openapiSpecFileName)),
|
|
74
96
|
registrationIdEnvName: `${apiKeyAuthData.authName.toUpperCase()}_REGISTRATION_ID`,
|
|
75
97
|
});
|
|
76
98
|
}
|
|
77
99
|
else {
|
|
78
|
-
context.templateVariables = generator_1.Generator.getDefaultVariables(appName, safeProjectNameFromVS, inputs.targetFramework);
|
|
100
|
+
context.templateVariables = generator_1.Generator.getDefaultVariables(appName, safeProjectNameFromVS, inputs.targetFramework, inputs.placeProjectFileInSolutionDir === "true");
|
|
79
101
|
}
|
|
80
102
|
const filters = inputs[questionNames_1.QuestionNames.ApiOperation];
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
103
|
+
if (templateName != forCustomCopilotRagCustomApi) {
|
|
104
|
+
// download template
|
|
105
|
+
const templateRes = await generator_1.Generator.generateTemplate(context, destinationPath, templateName, language === create_1.ProgrammingLanguage.CSharp ? create_1.ProgrammingLanguage.CSharp : undefined);
|
|
106
|
+
if (templateRes.isErr())
|
|
107
|
+
return teamsfx_api_1.err(templateRes.error);
|
|
108
|
+
}
|
|
85
109
|
context.telemetryReporter.sendTelemetryEvent(copilotPluginExistingApiSpecUrlTelemetryEvent, {
|
|
86
|
-
[isRemoteUrlTelemetryProperty]: util_1.isValidHttpUrl(url).toString(),
|
|
110
|
+
["remote-url" /* isRemoteUrlTelemetryProperty */]: util_1.isValidHttpUrl(url).toString(),
|
|
111
|
+
["generate-type" /* generateType */]: type.toString(),
|
|
87
112
|
});
|
|
88
113
|
// validate API spec
|
|
89
114
|
const allowAPIKeyAuth = featureFlags_1.isApiKeyEnabled();
|
|
90
115
|
const allowMultipleParameters = featureFlags_1.isMultipleParametersEnabled();
|
|
91
|
-
const specParser = new
|
|
116
|
+
const specParser = new m365_spec_parser_1.SpecParser(url, isPlugin
|
|
117
|
+
? helper_1.copilotPluginParserOptions
|
|
118
|
+
: {
|
|
119
|
+
allowAPIKeyAuth,
|
|
120
|
+
allowMultipleParameters,
|
|
121
|
+
projectType: type,
|
|
122
|
+
});
|
|
92
123
|
const validationRes = await specParser.validate();
|
|
93
124
|
const warnings = validationRes.warnings;
|
|
94
|
-
const operationIdWarning = warnings.find((w) => w.type ===
|
|
125
|
+
const operationIdWarning = warnings.find((w) => w.type === m365_spec_parser_1.WarningType.OperationIdMissing);
|
|
95
126
|
if (operationIdWarning && operationIdWarning.data) {
|
|
96
127
|
const apisMissingOperationId = operationIdWarning.data.filter((api) => filters.includes(api));
|
|
97
128
|
if (apisMissingOperationId.length > 0) {
|
|
@@ -102,22 +133,30 @@ class CopilotPluginGenerator {
|
|
|
102
133
|
warnings.splice(warnings.indexOf(operationIdWarning), 1);
|
|
103
134
|
}
|
|
104
135
|
}
|
|
105
|
-
const specVersionWarning = warnings.find((w) => w.type ===
|
|
136
|
+
const specVersionWarning = warnings.find((w) => w.type === m365_spec_parser_1.WarningType.ConvertSwaggerToOpenAPI);
|
|
106
137
|
if (specVersionWarning) {
|
|
107
138
|
specVersionWarning.content = ""; // We don't care content of this warning
|
|
108
139
|
}
|
|
109
|
-
if (validationRes.status ===
|
|
140
|
+
if (validationRes.status === m365_spec_parser_1.ValidationStatus.Error) {
|
|
110
141
|
helper_1.logValidationResults(validationRes.errors, warnings, context, true, false, true);
|
|
111
142
|
const errorMessage = inputs.platform === teamsfx_api_1.Platform.VSCode
|
|
112
143
|
? localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.multipleValidationErrors.vscode.message")
|
|
113
144
|
: localizeUtils_1.getLocalizedString("core.createProjectQuestion.apiSpec.multipleValidationErrors.message");
|
|
114
|
-
return teamsfx_api_1.err(new teamsfx_api_1.UserError(componentName, invalidApiSpecErrorName, errorMessage, errorMessage));
|
|
145
|
+
return teamsfx_api_1.err(new teamsfx_api_1.UserError(componentName, helper_1.invalidApiSpecErrorName, errorMessage, errorMessage));
|
|
115
146
|
}
|
|
116
147
|
// generate files
|
|
117
148
|
await fs.ensureDir(apiSpecFolderPath);
|
|
118
|
-
|
|
119
|
-
|
|
149
|
+
let generateResult;
|
|
150
|
+
if (isPlugin) {
|
|
151
|
+
const pluginManifestPath = path_1.default.join(destinationPath, teamsfx_api_1.AppPackageFolderName, pluginManifestFileName);
|
|
152
|
+
generateResult = await specParser.generateForCopilot(manifestPath, filters, openapiSpecPath, pluginManifestPath);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
const responseTemplateFolder = path_1.default.join(destinationPath, teamsfx_api_1.AppPackageFolderName, teamsfx_api_1.ResponseTemplatesFolderName);
|
|
156
|
+
generateResult = await specParser.generate(manifestPath, filters, openapiSpecPath, type === m365_spec_parser_1.ProjectType.TeamsAi ? undefined : responseTemplateFolder);
|
|
157
|
+
}
|
|
120
158
|
context.telemetryReporter.sendTelemetryEvent(helper_1.specParserGenerateResultTelemetryEvent, {
|
|
159
|
+
["generate-type" /* generateType */]: type.toString(),
|
|
121
160
|
[helper_1.specParserGenerateResultAllSuccessTelemetryProperty]: generateResult.allSuccess.toString(),
|
|
122
161
|
[helper_1.specParserGenerateResultWarningsTelemetryProperty]: generateResult.warnings
|
|
123
162
|
.map((w) => w.type.toString() + ": " + w.content)
|
|
@@ -125,7 +164,7 @@ class CopilotPluginGenerator {
|
|
|
125
164
|
});
|
|
126
165
|
if (generateResult.warnings.length > 0) {
|
|
127
166
|
generateResult.warnings.find((o) => {
|
|
128
|
-
if (o.type ===
|
|
167
|
+
if (o.type === m365_spec_parser_1.WarningType.OperationOnlyContainsOptionalParam) {
|
|
129
168
|
o.content = ""; // We don't care content of this warning
|
|
130
169
|
}
|
|
131
170
|
});
|
|
@@ -142,6 +181,16 @@ class CopilotPluginGenerator {
|
|
|
142
181
|
if (updateManifestRes.isErr())
|
|
143
182
|
return teamsfx_api_1.err(updateManifestRes.error);
|
|
144
183
|
}
|
|
184
|
+
if (componentName === forCustomCopilotRagCustomApi) {
|
|
185
|
+
const specs = await specParser.getFilteredSpecs(filters);
|
|
186
|
+
const spec = specs[1];
|
|
187
|
+
try {
|
|
188
|
+
await helper_1.updateForCustomApi(spec, language, destinationPath, openapiSpecFileName);
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
throw new teamsfx_api_1.SystemError(componentName, failedToUpdateCustomApiTemplateErrorName, error.message, error.message);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
145
194
|
// log warnings
|
|
146
195
|
if (inputs.platform === teamsfx_api_1.Platform.CLI || inputs.platform === teamsfx_api_1.Platform.VS) {
|
|
147
196
|
const warnSummary = helper_1.generateScaffoldingSummary(warnings, teamsManifest, destinationPath);
|
|
@@ -166,7 +215,7 @@ class CopilotPluginGenerator {
|
|
|
166
215
|
}
|
|
167
216
|
catch (e) {
|
|
168
217
|
let error;
|
|
169
|
-
if (e instanceof
|
|
218
|
+
if (e instanceof m365_spec_parser_1.SpecParserError) {
|
|
170
219
|
error = helper_1.convertSpecParserErrorToFxError(e);
|
|
171
220
|
}
|
|
172
221
|
else {
|
|
@@ -186,9 +235,22 @@ tslib_1.__decorate([
|
|
|
186
235
|
}),
|
|
187
236
|
]),
|
|
188
237
|
tslib_1.__metadata("design:type", Function),
|
|
189
|
-
tslib_1.__metadata("design:paramtypes", [Object, Object, String]),
|
|
238
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, String, Object]),
|
|
239
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
240
|
+
], CopilotPluginGenerator, "generateMeFromApiSpec", null);
|
|
241
|
+
tslib_1.__decorate([
|
|
242
|
+
lib_1.hooks([
|
|
243
|
+
actionExecutionMW_1.ActionExecutionMW({
|
|
244
|
+
enableTelemetry: true,
|
|
245
|
+
telemetryComponentName: pluginFromApiSpecComponentName,
|
|
246
|
+
telemetryEventName: telemetryEvents_1.TelemetryEvents.Generate,
|
|
247
|
+
errorSource: pluginFromApiSpecComponentName,
|
|
248
|
+
}),
|
|
249
|
+
]),
|
|
250
|
+
tslib_1.__metadata("design:type", Function),
|
|
251
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, String, Object]),
|
|
190
252
|
tslib_1.__metadata("design:returntype", Promise)
|
|
191
|
-
], CopilotPluginGenerator, "
|
|
253
|
+
], CopilotPluginGenerator, "generatePluginFromApiSpec", null);
|
|
192
254
|
tslib_1.__decorate([
|
|
193
255
|
lib_1.hooks([
|
|
194
256
|
actionExecutionMW_1.ActionExecutionMW({
|
|
@@ -202,5 +264,18 @@ tslib_1.__decorate([
|
|
|
202
264
|
tslib_1.__metadata("design:paramtypes", [Object, Object, String]),
|
|
203
265
|
tslib_1.__metadata("design:returntype", Promise)
|
|
204
266
|
], CopilotPluginGenerator, "generateFromOpenAIPlugin", null);
|
|
267
|
+
tslib_1.__decorate([
|
|
268
|
+
lib_1.hooks([
|
|
269
|
+
actionExecutionMW_1.ActionExecutionMW({
|
|
270
|
+
enableTelemetry: true,
|
|
271
|
+
telemetryComponentName: fromOpenAIPlugincomponentName,
|
|
272
|
+
telemetryEventName: telemetryEvents_1.TelemetryEvents.Generate,
|
|
273
|
+
errorSource: fromOpenAIPlugincomponentName,
|
|
274
|
+
}),
|
|
275
|
+
]),
|
|
276
|
+
tslib_1.__metadata("design:type", Function),
|
|
277
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, String]),
|
|
278
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
279
|
+
], CopilotPluginGenerator, "generateForCustomCopilotRagCustomApi", null);
|
|
205
280
|
exports.CopilotPluginGenerator = CopilotPluginGenerator;
|
|
206
281
|
//# sourceMappingURL=generator.js.map
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/component/generator/copilotPlugin/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,18 @@
|
|
|
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, ParseOptions } from "@microsoft/m365-spec-parser";
|
|
6
|
+
import { OpenAPIV3 } from "openapi-types";
|
|
6
7
|
declare enum OpenAIPluginManifestErrorType {
|
|
7
8
|
AuthNotSupported = "openai-pliugin-auth-not-supported",
|
|
8
9
|
ApiUrlMissing = "openai-plugin-api-url-missing"
|
|
9
10
|
}
|
|
11
|
+
export declare const copilotPluginParserOptions: ParseOptions;
|
|
10
12
|
export declare const specParserGenerateResultTelemetryEvent = "spec-parser-generate-result";
|
|
11
13
|
export declare const specParserGenerateResultAllSuccessTelemetryProperty = "all-success";
|
|
12
14
|
export declare const specParserGenerateResultWarningsTelemetryProperty = "warnings";
|
|
15
|
+
export declare const invalidApiSpecErrorName = "invalid-api-spec";
|
|
13
16
|
export interface ErrorResult {
|
|
14
17
|
/**
|
|
15
18
|
* The type of error.
|
|
@@ -25,11 +28,13 @@ export declare class OpenAIPluginManifestHelper {
|
|
|
25
28
|
static loadOpenAIPluginManifest(input: string): Promise<OpenAIPluginManifest>;
|
|
26
29
|
static updateManifest(openAiPluginManifest: OpenAIPluginManifest, teamsAppManifest: TeamsAppManifest, manifestPath: string): Promise<Result<undefined, FxError>>;
|
|
27
30
|
}
|
|
28
|
-
export declare function listOperations(context: Context, manifest: OpenAIPluginManifest | undefined, apiSpecUrl: string | undefined,
|
|
31
|
+
export declare function listOperations(context: Context, manifest: OpenAIPluginManifest | undefined, apiSpecUrl: string | undefined, inputs: Inputs, includeExistingAPIs?: boolean, shouldLogWarning?: boolean, existingCorrelationId?: string): Promise<Result<ApiOperation[], ErrorResult[]>>;
|
|
32
|
+
export declare function listPluginExistingOperations(manifest: TeamsAppManifest, teamsManifestPath: string, destinationApiSpecFilePath: string): Promise<string[]>;
|
|
29
33
|
export declare function logValidationResults(errors: ErrorResult[], warnings: WarningResult[], context: Context, isApiSpec: boolean, shouldLogWarning: boolean, shouldSkipTelemetry: boolean, existingCorrelationId?: string): void;
|
|
30
34
|
export declare function generateScaffoldingSummary(warnings: Warning[], teamsManifest: TeamsAppManifest, projectPath: string): string;
|
|
31
35
|
export declare function convertSpecParserErrorToFxError(error: SpecParserError): FxError;
|
|
32
36
|
export declare function isYamlSpecFile(specPath: string): Promise<boolean>;
|
|
33
37
|
export declare function formatValidationErrors(errors: ApiSpecErrorResult[]): ApiSpecErrorResult[];
|
|
38
|
+
export declare function updateForCustomApi(spec: OpenAPIV3.Document, language: string, destinationPath: string, openapiSpecFileName: string): Promise<void>;
|
|
34
39
|
export {};
|
|
35
40
|
//# sourceMappingURL=helper.d.ts.map
|
|
@@ -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,EAGjC,YAAY,EAGb,MAAM,6BAA6B,CAAC;AAYrC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAsB1C,aAAK,6BAA6B;IAChC,gBAAgB,sCAAsC;IACtD,aAAa,kCAAkC;CAChD;AAED,eAAO,MAAM,0BAA0B,EAAE,YAQxC,CAAC;AAEF,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,CAgHhD;AAgCD,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,gBAAgB,EAC1B,iBAAiB,EAAE,MAAM,EACzB,0BAA0B,EAAE,MAAM,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CA6CnB;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;AAiQD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,SAAS,CAAC,QAAQ,EACxB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|