@microsoft/teamsfx-core 3.0.11 → 3.1.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/client/aadAppClient.d.ts.map +1 -1
- package/build/client/aadAppClient.js +16 -20
- package/build/client/aadAppClient.js.map +1 -1
- package/build/client/graphClient.d.ts +0 -2
- package/build/client/graphClient.d.ts.map +1 -1
- package/build/client/graphClient.js +15 -15
- package/build/client/graphClient.js.map +1 -1
- package/build/client/interfaces/GetJoinedTeamsResponse.d.ts +1 -1
- package/build/client/interfaces/GetJoinedTeamsResponse.d.ts.map +1 -1
- package/build/client/teamsDevPortalClient.d.ts +0 -2
- package/build/client/teamsDevPortalClient.d.ts.map +1 -1
- package/build/client/teamsDevPortalClient.js +50 -72
- package/build/client/teamsDevPortalClient.js.map +1 -1
- package/build/common/accountUtils.js +6 -6
- package/build/common/accountUtils.js.map +1 -1
- package/build/common/authInterface.d.ts +1 -1
- package/build/common/authInterface.d.ts.map +1 -1
- package/build/common/azureUtils.js +1 -2
- package/build/common/azureUtils.js.map +1 -1
- package/build/common/constants.d.ts.map +1 -1
- package/build/common/constants.js +23 -23
- package/build/common/constants.js.map +1 -1
- package/build/common/correlator.js +1 -1
- package/build/common/correlator.js.map +1 -1
- package/build/common/daSpecParser.js +33 -28
- package/build/common/daSpecParser.js.map +1 -1
- package/build/common/featureFlags.d.ts +0 -5
- package/build/common/featureFlags.d.ts.map +1 -1
- package/build/common/featureFlags.js +90 -95
- package/build/common/featureFlags.js.map +1 -1
- package/build/common/fetchHelper.d.ts +3 -0
- package/build/common/fetchHelper.d.ts.map +1 -0
- package/build/common/fetchHelper.js +19 -0
- package/build/common/fetchHelper.js.map +1 -0
- package/build/common/globalState.js +2 -3
- package/build/common/globalState.js.map +1 -1
- package/build/common/globalVars.d.ts +1 -1
- package/build/common/globalVars.d.ts.map +1 -1
- package/build/common/globalVars.js +18 -17
- package/build/common/globalVars.js.map +1 -1
- package/build/common/jsonUtils.js +2 -4
- package/build/common/jsonUtils.js.map +1 -1
- package/build/common/kiotaClient.js +7 -8
- package/build/common/kiotaClient.js.map +1 -1
- package/build/common/localizeUtils.d.ts +5 -0
- package/build/common/localizeUtils.d.ts.map +1 -1
- package/build/common/localizeUtils.js +11 -4
- package/build/common/localizeUtils.js.map +1 -1
- package/build/common/permissionInterface.js +1 -1
- package/build/common/permissionInterface.js.map +1 -1
- package/build/common/projectSettingsHelper.js +18 -19
- package/build/common/projectSettingsHelper.js.map +1 -1
- package/build/common/projectTypeChecker.js +12 -15
- package/build/common/projectTypeChecker.js.map +1 -1
- package/build/common/requestUtils.js +4 -6
- package/build/common/requestUtils.js.map +1 -1
- package/build/common/samples.d.ts +1 -1
- package/build/common/samples.d.ts.map +1 -1
- package/build/common/samples.js +13 -7
- package/build/common/samples.js.map +1 -1
- package/build/common/secretmasker/dict.js +6 -4
- package/build/common/secretmasker/dict.js.map +1 -1
- package/build/common/secretmasker/feature.d.ts +1 -1
- package/build/common/secretmasker/feature.d.ts.map +1 -1
- package/build/common/secretmasker/feature.js +10 -10
- package/build/common/secretmasker/feature.js.map +1 -1
- package/build/common/secretmasker/masker.js +8 -10
- package/build/common/secretmasker/masker.js.map +1 -1
- package/build/common/stringUtils.js +12 -13
- package/build/common/stringUtils.js.map +1 -1
- package/build/common/telemetry.js +19 -22
- package/build/common/telemetry.js.map +1 -1
- package/build/common/templates-config.json +4 -3
- package/build/common/tools.js +13 -15
- package/build/common/tools.js.map +1 -1
- package/build/common/utils.js +3 -4
- package/build/common/utils.js.map +1 -1
- package/build/common/versionMetadata.d.ts +2 -2
- package/build/common/versionMetadata.d.ts.map +1 -1
- package/build/common/versionMetadata.js +6 -6
- package/build/common/versionMetadata.js.map +1 -1
- package/build/common/wrappedAxiosClient.d.ts.map +1 -1
- package/build/common/wrappedAxiosClient.js +38 -21
- package/build/common/wrappedAxiosClient.js.map +1 -1
- package/build/component/configManager/actionInjector.js +23 -16
- package/build/component/configManager/actionInjector.js.map +1 -1
- package/build/component/configManager/constant.js +2 -2
- package/build/component/configManager/constant.js.map +1 -1
- package/build/component/configManager/interface.d.ts +15 -15
- package/build/component/configManager/interface.d.ts.map +1 -1
- package/build/component/configManager/lifecycle.js +9 -8
- package/build/component/configManager/lifecycle.js.map +1 -1
- package/build/component/configManager/parser.js +1 -1
- package/build/component/configManager/parser.js.map +1 -1
- package/build/component/configManager/validator.d.ts +1 -1
- package/build/component/configManager/validator.d.ts.map +1 -1
- package/build/component/configManager/validator.js +2 -1
- package/build/component/configManager/validator.js.map +1 -1
- package/build/component/constant/commonConstant.js +13 -13
- package/build/component/constant/commonConstant.js.map +1 -1
- package/build/component/constant/deployConstant.js +36 -36
- package/build/component/constant/deployConstant.js.map +1 -1
- package/build/component/constants.js +35 -35
- package/build/component/constants.js.map +1 -1
- package/build/component/coordinator/index.js +36 -47
- package/build/component/coordinator/index.js.map +1 -1
- package/build/component/coordinator/summary.d.ts +2 -2
- package/build/component/coordinator/summary.d.ts.map +1 -1
- package/build/component/coordinator/summary.js +3 -0
- package/build/component/coordinator/summary.js.map +1 -1
- package/build/component/deployUtils.js +2 -3
- package/build/component/deployUtils.js.map +1 -1
- package/build/component/deps-checker/checkerFactory.js.map +1 -1
- package/build/component/deps-checker/constant/telemetry.js +4 -4
- package/build/component/deps-checker/constant/telemetry.js.map +1 -1
- package/build/component/deps-checker/coreDepsLoggerAdapter.js +2 -1
- package/build/component/deps-checker/coreDepsLoggerAdapter.js.map +1 -1
- package/build/component/deps-checker/coreDepsTelemetryAdapter.js +10 -3
- package/build/component/deps-checker/coreDepsTelemetryAdapter.js.map +1 -1
- package/build/component/deps-checker/depsChecker.d.ts +2 -2
- package/build/component/deps-checker/depsChecker.d.ts.map +1 -1
- package/build/component/deps-checker/depsChecker.js +2 -2
- package/build/component/deps-checker/depsChecker.js.map +1 -1
- package/build/component/deps-checker/depsManager.d.ts +1 -1
- package/build/component/deps-checker/depsManager.d.ts.map +1 -1
- package/build/component/deps-checker/depsManager.js +8 -5
- package/build/component/deps-checker/depsManager.js.map +1 -1
- package/build/component/deps-checker/internal/dotnetChecker.js +7 -6
- package/build/component/deps-checker/internal/dotnetChecker.js.map +1 -1
- package/build/component/deps-checker/internal/funcToolChecker.d.ts +1 -1
- package/build/component/deps-checker/internal/funcToolChecker.d.ts.map +1 -1
- package/build/component/deps-checker/internal/funcToolChecker.js +12 -14
- package/build/component/deps-checker/internal/funcToolChecker.js.map +1 -1
- package/build/component/deps-checker/internal/nodeChecker.js +18 -22
- package/build/component/deps-checker/internal/nodeChecker.js.map +1 -1
- package/build/component/deps-checker/internal/testToolChecker.d.ts +1 -1
- package/build/component/deps-checker/internal/testToolChecker.d.ts.map +1 -1
- package/build/component/deps-checker/internal/testToolChecker.js +78 -71
- package/build/component/deps-checker/internal/testToolChecker.js.map +1 -1
- package/build/component/deps-checker/internal/vxTestAppChecker.js +3 -1
- package/build/component/deps-checker/internal/vxTestAppChecker.js.map +1 -1
- package/build/component/deps-checker/util/cpUtils.d.ts +0 -1
- package/build/component/deps-checker/util/cpUtils.d.ts.map +1 -1
- package/build/component/deps-checker/util/cpUtils.js +9 -10
- package/build/component/deps-checker/util/cpUtils.js.map +1 -1
- package/build/component/deps-checker/util/downloadHelper.js +2 -3
- package/build/component/deps-checker/util/downloadHelper.js.map +1 -1
- package/build/component/deps-checker/util/fileHelper.js +5 -6
- package/build/component/deps-checker/util/fileHelper.js.map +1 -1
- package/build/component/deps-checker/util/progressIndicator.js +1 -2
- package/build/component/deps-checker/util/progressIndicator.js.map +1 -1
- package/build/component/deps-checker/util/system.js +4 -5
- package/build/component/deps-checker/util/system.js.map +1 -1
- package/build/component/developerPortalScaffoldUtils.js +4 -5
- package/build/component/developerPortalScaffoldUtils.js.map +1 -1
- package/build/component/driver/aad/create.js +18 -21
- package/build/component/driver/aad/create.js.map +1 -1
- package/build/component/driver/aad/error/aadManifestError.js +9 -9
- package/build/component/driver/aad/error/aadManifestError.js.map +1 -1
- package/build/component/driver/aad/error/invalidFieldInManifestError.js.map +1 -1
- package/build/component/driver/aad/error/missingEnvError.js.map +1 -1
- package/build/component/driver/aad/interface/createAadAppOutput.d.ts +1 -1
- package/build/component/driver/aad/interface/createAadAppOutput.d.ts.map +1 -1
- package/build/component/driver/aad/interface/signInAudience.js +1 -1
- package/build/component/driver/aad/interface/signInAudience.js.map +1 -1
- package/build/component/driver/aad/permissions/index.js +3 -3
- package/build/component/driver/aad/permissions/index.js.map +1 -1
- package/build/component/driver/aad/update.js +12 -15
- package/build/component/driver/aad/update.js.map +1 -1
- package/build/component/driver/aad/utility/aadManifestHelper.js +26 -25
- package/build/component/driver/aad/utility/aadManifestHelper.js.map +1 -1
- package/build/component/driver/aad/utility/buildAadManifest.js +3 -6
- package/build/component/driver/aad/utility/buildAadManifest.js.map +1 -1
- package/build/component/driver/aad/utility/constants.js +1 -1
- package/build/component/driver/aad/utility/constants.js.map +1 -1
- package/build/component/driver/add/addWebPart.js +6 -9
- package/build/component/driver/add/addWebPart.js.map +1 -1
- package/build/component/driver/add/utility/constants.js +5 -5
- package/build/component/driver/add/utility/constants.js.map +1 -1
- package/build/component/driver/apiKey/create.js +10 -13
- package/build/component/driver/apiKey/create.js.map +1 -1
- package/build/component/driver/apiKey/interface/createApiKeyOutputs.d.ts +1 -1
- package/build/component/driver/apiKey/interface/createApiKeyOutputs.d.ts.map +1 -1
- package/build/component/driver/apiKey/update.js +9 -12
- package/build/component/driver/apiKey/update.js.map +1 -1
- package/build/component/driver/apiKey/utility/utility.js +4 -5
- package/build/component/driver/apiKey/utility/utility.js.map +1 -1
- package/build/component/driver/arm/constant.js +1 -1
- package/build/component/driver/arm/constant.js.map +1 -1
- package/build/component/driver/arm/deploy.js +4 -6
- package/build/component/driver/arm/deploy.js.map +1 -1
- package/build/component/driver/arm/deployImpl.js +7 -4
- package/build/component/driver/arm/deployImpl.js.map +1 -1
- package/build/component/driver/arm/interface.d.ts +1 -1
- package/build/component/driver/arm/interface.d.ts.map +1 -1
- package/build/component/driver/arm/util/bicepChecker.js +18 -19
- package/build/component/driver/arm/util/bicepChecker.js.map +1 -1
- package/build/component/driver/arm/util/handleError.d.ts +1 -1
- package/build/component/driver/arm/util/handleError.d.ts.map +1 -1
- package/build/component/driver/arm/util/handleError.js +13 -16
- package/build/component/driver/arm/util/handleError.js.map +1 -1
- package/build/component/driver/arm/util/innerHandleError.js +6 -19
- package/build/component/driver/arm/util/innerHandleError.js.map +1 -1
- package/build/component/driver/arm/util/util.js +3 -4
- package/build/component/driver/arm/util/util.js.map +1 -1
- package/build/component/driver/arm/validator.js +1 -2
- package/build/component/driver/arm/validator.js.map +1 -1
- package/build/component/driver/botAadApp/create.js +14 -17
- package/build/component/driver/botAadApp/create.js.map +1 -1
- package/build/component/driver/botAadApp/interface/createBotAadAppOutput.d.ts +1 -1
- package/build/component/driver/botAadApp/interface/createBotAadAppOutput.d.ts.map +1 -1
- package/build/component/driver/botFramework/createOrUpdateBot.js +9 -12
- package/build/component/driver/botFramework/createOrUpdateBot.js.map +1 -1
- package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js +8 -9
- package/build/component/driver/deploy/azure/azureAppServiceDeployDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js +9 -10
- package/build/component/driver/deploy/azure/azureFunctionDeployDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.d.ts +1 -1
- package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.js +13 -15
- package/build/component/driver/deploy/azure/azureStaticWebAppGetDeploymentTokenDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/azureStorageDeployDriver.js +15 -33
- package/build/component/driver/deploy/azure/azureStorageDeployDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.d.ts +1 -1
- package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js +19 -22
- package/build/component/driver/deploy/azure/azureStorageStaticWebsiteConfigDriver.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts +0 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js +30 -31
- package/build/component/driver/deploy/azure/impl/AzureZipDeployImpl.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.js +13 -18
- package/build/component/driver/deploy/azure/impl/azureDeployImpl.js.map +1 -1
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts +1 -1
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.d.ts.map +1 -1
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.js +22 -15
- package/build/component/driver/deploy/azure/impl/baseDeployImpl.js.map +1 -1
- package/build/component/driver/deploy/spfx/deployDriver.js +12 -15
- package/build/component/driver/deploy/spfx/deployDriver.js.map +1 -1
- package/build/component/driver/deploy/spfx/utility/constants.js +12 -12
- package/build/component/driver/deploy/spfx/utility/constants.js.map +1 -1
- package/build/component/driver/deploy/spfx/utility/sleep.js +1 -2
- package/build/component/driver/deploy/spfx/utility/sleep.js.map +1 -1
- package/build/component/driver/deploy/spfx/utility/spoClient.d.ts +0 -2
- package/build/component/driver/deploy/spfx/utility/spoClient.d.ts.map +1 -1
- package/build/component/driver/deploy/spfx/utility/spoClient.js +2 -2
- package/build/component/driver/deploy/spfx/utility/spoClient.js.map +1 -1
- package/build/component/driver/devChannel/create.js +4 -6
- package/build/component/driver/devChannel/create.js.map +1 -1
- package/build/component/driver/devChannel/installApp.d.ts.map +1 -1
- package/build/component/driver/devChannel/installApp.js +7 -10
- package/build/component/driver/devChannel/installApp.js.map +1 -1
- package/build/component/driver/devChannel/interfaces/CreateDevChannelOutput.d.ts +1 -1
- package/build/component/driver/devChannel/interfaces/CreateDevChannelOutput.d.ts.map +1 -1
- package/build/component/driver/devTool/constant.js +6 -6
- package/build/component/driver/devTool/constant.js.map +1 -1
- package/build/component/driver/devTool/httpClient.d.ts +2 -3
- package/build/component/driver/devTool/httpClient.d.ts.map +1 -1
- package/build/component/driver/devTool/httpClient.js +36 -33
- package/build/component/driver/devTool/httpClient.js.map +1 -1
- package/build/component/driver/devTool/installDriver.js +26 -32
- package/build/component/driver/devTool/installDriver.js.map +1 -1
- package/build/component/driver/devTool/nodeInstaller.d.ts +0 -2
- package/build/component/driver/devTool/nodeInstaller.d.ts.map +1 -1
- package/build/component/driver/devTool/nodeInstaller.js +33 -34
- package/build/component/driver/devTool/nodeInstaller.js.map +1 -1
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js +13 -17
- package/build/component/driver/file/createOrUpdateEnvironmentFile.js.map +1 -1
- package/build/component/driver/file/createOrUpdateJsonFile.js +7 -10
- package/build/component/driver/file/createOrUpdateJsonFile.js.map +1 -1
- package/build/component/driver/interface/buildAndDeployArgs.d.ts +10 -10
- package/build/component/driver/interface/buildAndDeployArgs.d.ts.map +1 -1
- package/build/component/driver/interface/commonArgs.d.ts +1 -1
- package/build/component/driver/interface/commonArgs.d.ts.map +1 -1
- package/build/component/driver/interface/provisionArgs.d.ts +2 -2
- package/build/component/driver/interface/provisionArgs.d.ts.map +1 -1
- package/build/component/driver/interface/stepDriver.d.ts +1 -1
- package/build/component/driver/interface/stepDriver.d.ts.map +1 -1
- package/build/component/driver/m365/acquire.js +8 -11
- package/build/component/driver/m365/acquire.js.map +1 -1
- package/build/component/driver/middleware/addSWADeployTelemetry.js +6 -7
- package/build/component/driver/middleware/addSWADeployTelemetry.js.map +1 -1
- package/build/component/driver/middleware/addStartAndEndTelemetry.js +5 -6
- package/build/component/driver/middleware/addStartAndEndTelemetry.js.map +1 -1
- package/build/component/driver/oauth/create.js +12 -16
- package/build/component/driver/oauth/create.js.map +1 -1
- package/build/component/driver/oauth/interface/createOauthOutputs.d.ts +1 -1
- package/build/component/driver/oauth/interface/createOauthOutputs.d.ts.map +1 -1
- package/build/component/driver/oauth/update.js +12 -17
- package/build/component/driver/oauth/update.js.map +1 -1
- package/build/component/driver/oauth/utility/utility.d.ts.map +1 -1
- package/build/component/driver/oauth/utility/utility.js +7 -16
- package/build/component/driver/oauth/utility/utility.js.map +1 -1
- package/build/component/driver/script/baseBuildDriver.d.ts +1 -1
- package/build/component/driver/script/baseBuildDriver.d.ts.map +1 -1
- package/build/component/driver/script/baseBuildDriver.js +15 -11
- package/build/component/driver/script/baseBuildDriver.js.map +1 -1
- package/build/component/driver/script/dotnetBuildDriver.js +4 -10
- package/build/component/driver/script/dotnetBuildDriver.js.map +1 -1
- package/build/component/driver/script/npmBuildDriver.js +4 -10
- package/build/component/driver/script/npmBuildDriver.js.map +1 -1
- package/build/component/driver/script/npxBuildDriver.js +4 -10
- package/build/component/driver/script/npxBuildDriver.js.map +1 -1
- package/build/component/driver/script/scriptDriver.d.ts +0 -3
- package/build/component/driver/script/scriptDriver.d.ts.map +1 -1
- package/build/component/driver/script/scriptDriver.js +16 -18
- package/build/component/driver/script/scriptDriver.js.map +1 -1
- package/build/component/driver/share/utils.js +6 -8
- package/build/component/driver/share/utils.js.map +1 -1
- package/build/component/driver/teamsApp/appStudio.js +15 -18
- package/build/component/driver/teamsApp/appStudio.js.map +1 -1
- package/build/component/driver/teamsApp/configure.js +4 -6
- package/build/component/driver/teamsApp/configure.js.map +1 -1
- package/build/component/driver/teamsApp/constants.d.ts.map +1 -1
- package/build/component/driver/teamsApp/constants.js +57 -57
- package/build/component/driver/teamsApp/constants.js.map +1 -1
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts +0 -2
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.d.ts.map +1 -1
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.js +10 -12
- package/build/component/driver/teamsApp/copyAppPackageToSPFx.js.map +1 -1
- package/build/component/driver/teamsApp/create.d.ts.map +1 -1
- package/build/component/driver/teamsApp/create.js +4 -8
- package/build/component/driver/teamsApp/create.js.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/createAppPackage.js +44 -48
- package/build/component/driver/teamsApp/createAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/errors.d.ts.map +1 -1
- package/build/component/driver/teamsApp/errors.js +158 -163
- package/build/component/driver/teamsApp/errors.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/ApiSecretRegistration.js +3 -3
- package/build/component/driver/teamsApp/interfaces/ApiSecretRegistration.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.js +1 -1
- package/build/component/driver/teamsApp/interfaces/AsyncAppValidationResponse.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/OauthRegistration.js +4 -4
- package/build/component/driver/teamsApp/interfaces/OauthRegistration.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/IPublishingAppDefinition.js +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/IPublishingAppDefinition.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appCategory.js +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appCategory.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appItemHostedCapability.js +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appItemHostedCapability.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appItemIndustry.js +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appItemIndustry.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appPackage.d.ts +0 -2
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appPackage.d.ts.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appPermissionNodeItemType.js +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/appPermissionNodeItemType.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/disabledScopeItemType.js +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/disabledScopeItemType.js.map +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/staticTab.js +1 -1
- package/build/component/driver/teamsApp/interfaces/appdefinitions/staticTab.js.map +1 -1
- package/build/component/driver/teamsApp/publishAppPackage.js +11 -14
- package/build/component/driver/teamsApp/publishAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/results.js +2 -2
- package/build/component/driver/teamsApp/results.js.map +1 -1
- package/build/component/driver/teamsApp/syncManifest.js +8 -9
- package/build/component/driver/teamsApp/syncManifest.js.map +1 -1
- package/build/component/driver/teamsApp/teamsappMgr.js +3 -5
- package/build/component/driver/teamsApp/teamsappMgr.js.map +1 -1
- package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.d.ts +0 -1
- package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.js +10 -15
- package/build/component/driver/teamsApp/utils/CopilotGptManifestUtils.js.map +1 -1
- package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts +0 -2
- package/build/component/driver/teamsApp/utils/ManifestUtils.d.ts.map +1 -1
- package/build/component/driver/teamsApp/utils/ManifestUtils.js +17 -24
- package/build/component/driver/teamsApp/utils/ManifestUtils.js.map +1 -1
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.js +9 -13
- package/build/component/driver/teamsApp/utils/PluginManifestUtils.js.map +1 -1
- package/build/component/driver/teamsApp/utils/telemetry.js +2 -2
- package/build/component/driver/teamsApp/utils/telemetry.js.map +1 -1
- package/build/component/driver/teamsApp/utils/utils.js +25 -28
- package/build/component/driver/teamsApp/utils/utils.js.map +1 -1
- package/build/component/driver/teamsApp/validate.js +28 -24
- package/build/component/driver/teamsApp/validate.js.map +1 -1
- package/build/component/driver/teamsApp/validateAppPackage.js +12 -15
- package/build/component/driver/teamsApp/validateAppPackage.js.map +1 -1
- package/build/component/driver/teamsApp/validateTestCases.js +10 -14
- package/build/component/driver/teamsApp/validateTestCases.js.map +1 -1
- package/build/component/driver/typeSpec/compile.js +9 -12
- package/build/component/driver/typeSpec/compile.js.map +1 -1
- package/build/component/driver/util/utils.js +8 -12
- package/build/component/driver/util/utils.js.map +1 -1
- package/build/component/driver/util/wrapUtil.d.ts +1 -1
- package/build/component/driver/util/wrapUtil.d.ts.map +1 -1
- package/build/component/driver/util/wrapUtil.js +14 -13
- package/build/component/driver/util/wrapUtil.js.map +1 -1
- package/build/component/error/componentError.js +12 -6
- package/build/component/error/componentError.js.map +1 -1
- package/build/component/feature/collaboration.d.ts.map +1 -1
- package/build/component/feature/collaboration.js +30 -30
- package/build/component/feature/collaboration.js.map +1 -1
- package/build/component/feature/createAuthFiles.js +1 -2
- package/build/component/feature/createAuthFiles.js.map +1 -1
- package/build/component/feature/sso.js +3 -5
- package/build/component/feature/sso.js.map +1 -1
- package/build/component/generator/combinedProject/generator.js +9 -7
- package/build/component/generator/combinedProject/generator.js.map +1 -1
- package/build/component/generator/configFiles/configGenerator.js +2 -4
- package/build/component/generator/configFiles/configGenerator.js.map +1 -1
- package/build/component/generator/configFiles/jsonMerger.js +1 -2
- package/build/component/generator/configFiles/jsonMerger.js.map +1 -1
- package/build/component/generator/configFiles/renderTemplate.js +1 -2
- package/build/component/generator/configFiles/renderTemplate.js.map +1 -1
- package/build/component/generator/constant.js +1 -1
- package/build/component/generator/constant.js.map +1 -1
- package/build/component/generator/declarativeAgent/generator.d.ts.map +1 -1
- package/build/component/generator/declarativeAgent/generator.js +20 -25
- package/build/component/generator/declarativeAgent/generator.js.map +1 -1
- package/build/component/generator/declarativeAgent/helper.d.ts.map +1 -1
- package/build/component/generator/declarativeAgent/helper.js +10 -15
- package/build/component/generator/declarativeAgent/helper.js.map +1 -1
- package/build/component/generator/declarativeAgent/oneDriveSharePointHandler.js +8 -10
- package/build/component/generator/declarativeAgent/oneDriveSharePointHandler.js.map +1 -1
- package/build/component/generator/defaultGenerator.js +10 -13
- package/build/component/generator/defaultGenerator.js.map +1 -1
- package/build/component/generator/generator.d.ts.map +1 -1
- package/build/component/generator/generator.js +25 -32
- package/build/component/generator/generator.js.map +1 -1
- package/build/component/generator/generatorAction.d.ts +0 -2
- package/build/component/generator/generatorAction.d.ts.map +1 -1
- package/build/component/generator/generatorAction.js +4 -6
- package/build/component/generator/generatorAction.js.map +1 -1
- package/build/component/generator/officeAddin/config/projectProperties.js +2 -2
- package/build/component/generator/officeAddin/config/projectProperties.js.map +1 -1
- package/build/component/generator/officeAddin/generator.d.ts +1 -1
- package/build/component/generator/officeAddin/generator.d.ts.map +1 -1
- package/build/component/generator/officeAddin/generator.js +4 -8
- package/build/component/generator/officeAddin/generator.js.map +1 -1
- package/build/component/generator/officeAddin/helperMethods.js +2 -2
- package/build/component/generator/officeAddin/helperMethods.js.map +1 -1
- package/build/component/generator/officeAddin/metaOSHelper.js +3 -4
- package/build/component/generator/officeAddin/metaOSHelper.js.map +1 -1
- package/build/component/generator/openApiSpec/common.js +11 -10
- package/build/component/generator/openApiSpec/common.js.map +1 -1
- package/build/component/generator/openApiSpec/customEngineAgentGenerator.js +1 -4
- package/build/component/generator/openApiSpec/customEngineAgentGenerator.js.map +1 -1
- package/build/component/generator/openApiSpec/declarativeAgentGenerator.d.ts.map +1 -1
- package/build/component/generator/openApiSpec/declarativeAgentGenerator.js +1 -12
- package/build/component/generator/openApiSpec/declarativeAgentGenerator.js.map +1 -1
- package/build/component/generator/openApiSpec/helper.d.ts.map +1 -1
- package/build/component/generator/openApiSpec/helper.js +25 -28
- package/build/component/generator/openApiSpec/helper.js.map +1 -1
- package/build/component/generator/openApiSpec/kiota.js +1 -2
- package/build/component/generator/openApiSpec/kiota.js.map +1 -1
- package/build/component/generator/openApiSpec/messageExtensionGenerator.js +1 -4
- package/build/component/generator/openApiSpec/messageExtensionGenerator.js.map +1 -1
- package/build/component/generator/other/ssrTabGenerator.js +4 -1
- package/build/component/generator/other/ssrTabGenerator.js.map +1 -1
- package/build/component/generator/other/tdpGenerator.js +5 -5
- package/build/component/generator/other/tdpGenerator.js.map +1 -1
- package/build/component/generator/spfx/depsChecker/generatorChecker.d.ts.map +1 -1
- package/build/component/generator/spfx/depsChecker/generatorChecker.js +6 -8
- package/build/component/generator/spfx/depsChecker/generatorChecker.js.map +1 -1
- package/build/component/generator/spfx/depsChecker/yoChecker.js +4 -4
- package/build/component/generator/spfx/depsChecker/yoChecker.js.map +1 -1
- package/build/component/generator/spfx/error.js +13 -14
- package/build/component/generator/spfx/error.js.map +1 -1
- package/build/component/generator/spfx/spfxGenerator.js +30 -41
- package/build/component/generator/spfx/spfxGenerator.js.map +1 -1
- package/build/component/generator/spfx/utils/constants.js +36 -36
- package/build/component/generator/spfx/utils/constants.js.map +1 -1
- package/build/component/generator/spfx/utils/progress-helper.js +6 -5
- package/build/component/generator/spfx/utils/progress-helper.js.map +1 -1
- package/build/component/generator/spfx/utils/telemetry-helper.js +2 -4
- package/build/component/generator/spfx/utils/telemetry-helper.js.map +1 -1
- package/build/component/generator/spfx/utils/telemetryEvents.js +2 -2
- package/build/component/generator/spfx/utils/telemetryEvents.js.map +1 -1
- package/build/component/generator/spfx/utils/utils.js +8 -8
- package/build/component/generator/spfx/utils/utils.js.map +1 -1
- package/build/component/generator/templateHelper.js +1 -2
- package/build/component/generator/templateHelper.js.map +1 -1
- package/build/component/generator/templates/metadata/index.d.ts.map +1 -1
- package/build/component/generator/templates/metadata/index.js +7 -7
- package/build/component/generator/templates/metadata/index.js.map +1 -1
- package/build/component/generator/templates/templateNames.d.ts +23 -23
- package/build/component/generator/templates/templateNames.d.ts.map +1 -1
- package/build/component/generator/templates/templateNames.js +1 -1
- package/build/component/generator/templates/templateNames.js.map +1 -1
- package/build/component/generator/templates/templateReplaceMap.d.ts.map +1 -1
- package/build/component/generator/templates/templateReplaceMap.js +21 -26
- package/build/component/generator/templates/templateReplaceMap.js.map +1 -1
- package/build/component/generator/utils.d.ts +1 -2
- package/build/component/generator/utils.d.ts.map +1 -1
- package/build/component/generator/utils.js +63 -51
- package/build/component/generator/utils.js.map +1 -1
- package/build/component/local/constants.d.ts +1 -1
- package/build/component/local/constants.d.ts.map +1 -1
- package/build/component/local/constants.js +14 -14
- package/build/component/local/constants.js.map +1 -1
- package/build/component/local/localCertificateManager.d.ts.map +1 -1
- package/build/component/local/localCertificateManager.js +7 -10
- package/build/component/local/localCertificateManager.js.map +1 -1
- package/build/component/local/localEnvManager.js +5 -2
- package/build/component/local/localEnvManager.js.map +1 -1
- package/build/component/local/localTelemetryReporter.js +11 -10
- package/build/component/local/localTelemetryReporter.js.map +1 -1
- package/build/component/local/npmLogHelper.js +2 -3
- package/build/component/local/npmLogHelper.js.map +1 -1
- package/build/component/local/packageJsonHelper.d.ts.map +1 -1
- package/build/component/local/packageJsonHelper.js +4 -6
- package/build/component/local/packageJsonHelper.js.map +1 -1
- package/build/component/local/portChecker.js +2 -3
- package/build/component/local/portChecker.js.map +1 -1
- package/build/component/local/process.js +2 -3
- package/build/component/local/process.js.map +1 -1
- package/build/component/local/taskDefinition.js +1 -2
- package/build/component/local/taskDefinition.js.map +1 -1
- package/build/component/m365/constants.js +1 -1
- package/build/component/m365/constants.js.map +1 -1
- package/build/component/m365/interface.js +1 -1
- package/build/component/m365/interface.js.map +1 -1
- package/build/component/m365/launchHelper.d.ts.map +1 -1
- package/build/component/m365/launchHelper.js +15 -15
- package/build/component/m365/launchHelper.js.map +1 -1
- package/build/component/m365/packageService.d.ts.map +1 -1
- package/build/component/m365/packageService.js +73 -87
- package/build/component/m365/packageService.js.map +1 -1
- package/build/component/messages.d.ts.map +1 -1
- package/build/component/messages.js +7 -7
- package/build/component/messages.js.map +1 -1
- package/build/component/middleware/actionExecutionMW.js +5 -7
- package/build/component/middleware/actionExecutionMW.js.map +1 -1
- package/build/component/middleware/envMW.js +2 -2
- package/build/component/middleware/envMW.js.map +1 -1
- package/build/component/middleware/questionMW.js +1 -2
- package/build/component/middleware/questionMW.js.map +1 -1
- package/build/component/migrate.js +12 -16
- package/build/component/migrate.js.map +1 -1
- package/build/component/provisionUtils.js +6 -8
- package/build/component/provisionUtils.js.map +1 -1
- package/build/component/resource/botService/appStudio/interfaces/IBotRegistration.js +1 -1
- package/build/component/resource/botService/appStudio/interfaces/IBotRegistration.js.map +1 -1
- package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js +6 -7
- package/build/component/resource/botService/botRegistration/botFrameworkRegistration.js.map +1 -1
- package/build/component/resource/botService/botRegistration/utils.js +1 -2
- package/build/component/resource/botService/botRegistration/utils.js.map +1 -1
- package/build/component/resource/botService/common.js +2 -3
- package/build/component/resource/botService/common.js.map +1 -1
- package/build/component/resource/botService/constants.js +17 -17
- package/build/component/resource/botService/constants.js.map +1 -1
- package/build/component/resource/botService/errors.d.ts +5 -5
- package/build/component/resource/botService/errors.d.ts.map +1 -1
- package/build/component/resource/botService/errors.js +8 -2
- package/build/component/resource/botService/errors.js.map +1 -1
- package/build/component/resource/botService/messages.d.ts.map +1 -1
- package/build/component/resource/botService/messages.js +17 -18
- package/build/component/resource/botService/messages.js.map +1 -1
- package/build/component/resource/botService/retryHandler.js +1 -2
- package/build/component/resource/botService/retryHandler.js.map +1 -1
- package/build/component/resource/botService/strings.js +3 -3
- package/build/component/resource/botService/strings.js.map +1 -1
- package/build/component/telemetry.d.ts +1 -1
- package/build/component/telemetry.d.ts.map +1 -1
- package/build/component/telemetry.js +19 -13
- package/build/component/telemetry.js.map +1 -1
- package/build/component/utils/ResourceGroupHelper.d.ts +1 -1
- package/build/component/utils/ResourceGroupHelper.d.ts.map +1 -1
- package/build/component/utils/ResourceGroupHelper.js +12 -14
- package/build/component/utils/ResourceGroupHelper.js.map +1 -1
- package/build/component/utils/azureClient.d.ts.map +1 -1
- package/build/component/utils/azureClient.js +11 -13
- package/build/component/utils/azureClient.js.map +1 -1
- package/build/component/utils/azureResourceOperation.d.ts.map +1 -1
- package/build/component/utils/azureResourceOperation.js +6 -6
- package/build/component/utils/azureResourceOperation.js.map +1 -1
- package/build/component/utils/azureSdkErrorHandler.js +2 -4
- package/build/component/utils/azureSdkErrorHandler.js.map +1 -1
- package/build/component/utils/charsetUtils.js +4 -5
- package/build/component/utils/charsetUtils.js.map +1 -1
- package/build/component/utils/common.d.ts +1 -1
- package/build/component/utils/common.d.ts.map +1 -1
- package/build/component/utils/common.js +13 -14
- package/build/component/utils/common.js.map +1 -1
- package/build/component/utils/depsChecker/common.d.ts.map +1 -1
- package/build/component/utils/depsChecker/common.js +3 -4
- package/build/component/utils/depsChecker/common.js.map +1 -1
- package/build/component/utils/depsChecker/cpUtils.d.ts +0 -1
- package/build/component/utils/depsChecker/cpUtils.d.ts.map +1 -1
- package/build/component/utils/depsChecker/cpUtils.js +10 -15
- package/build/component/utils/depsChecker/cpUtils.js.map +1 -1
- package/build/component/utils/envFunctionUtils.js +4 -4
- package/build/component/utils/envFunctionUtils.js.map +1 -1
- package/build/component/utils/envUtil.d.ts +2 -4
- package/build/component/utils/envUtil.d.ts.map +1 -1
- package/build/component/utils/envUtil.js +1 -2
- package/build/component/utils/envUtil.js.map +1 -1
- package/build/component/utils/fileOperation.d.ts +0 -1
- package/build/component/utils/fileOperation.d.ts.map +1 -1
- package/build/component/utils/fileOperation.js +5 -7
- package/build/component/utils/fileOperation.js.map +1 -1
- package/build/component/utils/metadataDAProperties.js +6 -7
- package/build/component/utils/metadataDAProperties.js.map +1 -1
- package/build/component/utils/metadataGraphPermssion.js +3 -5
- package/build/component/utils/metadataGraphPermssion.js.map +1 -1
- package/build/component/utils/metadataRscPermission.js +6 -8
- package/build/component/utils/metadataRscPermission.js.map +1 -1
- package/build/component/utils/metadataUtil.js +22 -16
- package/build/component/utils/metadataUtil.js.map +1 -1
- package/build/component/utils/odrProvider.js +9 -10
- package/build/component/utils/odrProvider.js.map +1 -1
- package/build/component/utils/pathUtils.js +1 -2
- package/build/component/utils/pathUtils.js.map +1 -1
- package/build/component/utils/pipelinePolicy.js +3 -2
- package/build/component/utils/pipelinePolicy.js.map +1 -1
- package/build/component/utils/settingsUtil.js.map +1 -1
- package/build/component/utils/teamsFxTelemetryReporter.d.ts.map +1 -1
- package/build/component/utils/teamsFxTelemetryReporter.js +16 -5
- package/build/component/utils/teamsFxTelemetryReporter.js.map +1 -1
- package/build/core/FxCore.d.ts +4 -1
- package/build/core/FxCore.d.ts.map +1 -1
- package/build/core/FxCore.declarativeAgent.js +9 -7
- package/build/core/FxCore.declarativeAgent.js.map +1 -1
- package/build/core/FxCore.js +256 -200
- package/build/core/FxCore.js.map +1 -1
- package/build/core/callback.d.ts +1 -1
- package/build/core/callback.d.ts.map +1 -1
- package/build/core/callback.js +1 -2
- package/build/core/callback.js.map +1 -1
- package/build/core/collaborator.js +46 -54
- package/build/core/collaborator.js.map +1 -1
- package/build/core/crypto.js +3 -1
- package/build/core/crypto.js.map +1 -1
- package/build/core/environment.js +1 -0
- package/build/core/environment.js.map +1 -1
- package/build/core/environmentName.js +9 -11
- package/build/core/environmentName.js.map +1 -1
- package/build/core/generateConfigFiles.js +3 -5
- package/build/core/generateConfigFiles.js.map +1 -1
- package/build/core/middleware/concurrentLocker.d.ts.map +1 -1
- package/build/core/middleware/concurrentLocker.js +4 -9
- package/build/core/middleware/concurrentLocker.js.map +1 -1
- package/build/core/middleware/contextInjector.d.ts.map +1 -1
- package/build/core/middleware/errorHandler.js +4 -5
- package/build/core/middleware/errorHandler.js.map +1 -1
- package/build/core/middleware/fileLocker.js +1 -2
- package/build/core/middleware/fileLocker.js.map +1 -1
- package/build/core/middleware/projectMigratorV3.d.ts +1 -1
- package/build/core/middleware/projectMigratorV3.d.ts.map +1 -1
- package/build/core/middleware/projectMigratorV3.js +33 -35
- package/build/core/middleware/projectMigratorV3.js.map +1 -1
- package/build/core/middleware/projectSettingsLoader.js +4 -5
- package/build/core/middleware/projectSettingsLoader.js.map +1 -1
- package/build/core/middleware/projectVersionChecker.js.map +1 -1
- package/build/core/middleware/retry.js +2 -4
- package/build/core/middleware/retry.js.map +1 -1
- package/build/core/middleware/utils/MigrationUtils.js +6 -6
- package/build/core/middleware/utils/MigrationUtils.js.map +1 -1
- package/build/core/middleware/utils/appYmlGenerator.d.ts.map +1 -1
- package/build/core/middleware/utils/appYmlGenerator.js +9 -8
- package/build/core/middleware/utils/appYmlGenerator.js.map +1 -1
- package/build/core/middleware/utils/debug/appLocalYmlGenerator.js +7 -9
- package/build/core/middleware/utils/debug/appLocalYmlGenerator.js.map +1 -1
- package/build/core/middleware/utils/debug/constants.js +13 -13
- package/build/core/middleware/utils/debug/constants.js.map +1 -1
- package/build/core/middleware/utils/debug/debugMigrationContext.js +6 -1
- package/build/core/middleware/utils/debug/debugMigrationContext.js.map +1 -1
- package/build/core/middleware/utils/debug/debugV3MigrationUtils.js +17 -18
- package/build/core/middleware/utils/debug/debugV3MigrationUtils.js.map +1 -1
- package/build/core/middleware/utils/debug/taskMigrator.d.ts.map +1 -1
- package/build/core/middleware/utils/debug/taskMigrator.js +25 -32
- package/build/core/middleware/utils/debug/taskMigrator.js.map +1 -1
- package/build/core/middleware/utils/migrationContext.d.ts +0 -1
- package/build/core/middleware/utils/migrationContext.d.ts.map +1 -1
- package/build/core/middleware/utils/migrationContext.js +12 -12
- package/build/core/middleware/utils/migrationContext.js.map +1 -1
- package/build/core/middleware/utils/v3MigrationUtils.js +37 -38
- package/build/core/middleware/utils/v3MigrationUtils.js.map +1 -1
- package/build/core/middleware/videoFilterAppBlocker.d.ts.map +1 -1
- package/build/core/middleware/videoFilterAppBlocker.js +4 -5
- package/build/core/middleware/videoFilterAppBlocker.js.map +1 -1
- package/build/core/share.js +6 -10
- package/build/core/share.js.map +1 -1
- package/build/core/telemetry.js +5 -5
- package/build/core/telemetry.js.map +1 -1
- package/build/error/common.js +4 -4
- package/build/error/common.js.map +1 -1
- package/build/error/deploy.js +2 -4
- package/build/error/deploy.js.map +1 -1
- package/build/error/teamsApp.js.map +1 -1
- package/build/error/types.js +1 -1
- package/build/error/types.js.map +1 -1
- package/build/folder.js +2 -3
- package/build/folder.js.map +1 -1
- package/build/question/collaborator.js +10 -13
- package/build/question/collaborator.js.map +1 -1
- package/build/question/constants.d.ts +1 -1
- package/build/question/constants.d.ts.map +1 -1
- package/build/question/constants.js +12 -15
- package/build/question/constants.js.map +1 -1
- package/build/question/create.d.ts.map +1 -1
- package/build/question/create.js +65 -68
- package/build/question/create.js.map +1 -1
- package/build/question/generator.js +3 -4
- package/build/question/generator.js.map +1 -1
- package/build/question/other.js +59 -62
- package/build/question/other.js.map +1 -1
- package/build/question/questionNames.d.ts +2 -2
- package/build/question/questionNames.d.ts.map +1 -1
- package/build/question/questionNames.js +1 -1
- package/build/question/questionNames.js.map +1 -1
- package/build/question/scaffold/commonNodes.js +9 -13
- package/build/question/scaffold/commonNodes.js.map +1 -1
- package/build/question/scaffold/constructNode.d.ts +2 -2
- package/build/question/scaffold/constructNode.d.ts.map +1 -1
- package/build/question/scaffold/constructNode.js +129 -31
- package/build/question/scaffold/constructNode.js.map +1 -1
- package/build/question/scaffold/vs/createRootNode.d.ts.map +1 -1
- package/build/question/scaffold/vs/createRootNode.js +4 -4
- package/build/question/scaffold/vs/createRootNode.js.map +1 -1
- package/build/question/scaffold/vsc/CapabilityOptions.d.ts +1 -0
- package/build/question/scaffold/vsc/CapabilityOptions.d.ts.map +1 -1
- package/build/question/scaffold/vsc/CapabilityOptions.js +50 -43
- package/build/question/scaffold/vsc/CapabilityOptions.js.map +1 -1
- package/build/question/scaffold/vsc/ProjectTypeOptions.d.ts.map +1 -1
- package/build/question/scaffold/vsc/ProjectTypeOptions.js +23 -23
- package/build/question/scaffold/vsc/ProjectTypeOptions.js.map +1 -1
- package/build/question/scaffold/vsc/createFromTdpNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/createFromTdpNode.js +11 -32
- package/build/question/scaffold/vsc/createFromTdpNode.js.map +1 -1
- package/build/question/scaffold/vsc/createRootNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/createRootNode.js +13 -39
- package/build/question/scaffold/vsc/createRootNode.js.map +1 -1
- package/build/question/scaffold/vsc/daProjectTypeNode.d.ts +1 -2
- package/build/question/scaffold/vsc/daProjectTypeNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/daProjectTypeNode.js +10 -19
- package/build/question/scaffold/vsc/daProjectTypeNode.js.map +1 -1
- package/build/question/scaffold/vsc/rootNode.d.ts +12 -0
- package/build/question/scaffold/vsc/rootNode.d.ts.map +1 -0
- package/build/question/scaffold/vsc/rootNode.js +46 -0
- package/build/question/scaffold/vsc/rootNode.js.map +1 -0
- package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts +4 -0
- package/build/question/scaffold/vsc/teamsProjectTypeNode.d.ts.map +1 -1
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js +29 -36
- package/build/question/scaffold/vsc/teamsProjectTypeNode.js.map +1 -1
- package/build/question/share.js +6 -6
- package/build/question/share.js.map +1 -1
- package/build/question/utils.js +1 -2
- package/build/question/utils.js.map +1 -1
- package/build/ui/validationUtils.d.ts.map +1 -1
- package/build/ui/validationUtils.js +3 -7
- package/build/ui/validationUtils.js.map +1 -1
- package/build/ui/visitor.d.ts +1 -1
- package/build/ui/visitor.d.ts.map +1 -1
- package/build/ui/visitor.js +10 -12
- package/build/ui/visitor.js.map +1 -1
- package/package.json +23 -22
- package/resource/package.nls.cs.json +1095 -1143
- package/resource/package.nls.de.json +1095 -1143
- package/resource/package.nls.es.json +1095 -1143
- package/resource/package.nls.fr.json +1095 -1143
- package/resource/package.nls.it.json +1095 -1143
- package/resource/package.nls.ja.json +1095 -1143
- package/resource/package.nls.json +1 -56
- package/resource/package.nls.ko.json +1095 -1143
- package/resource/package.nls.pl.json +1095 -1143
- package/resource/package.nls.pt-BR.json +1095 -1143
- package/resource/package.nls.ru.json +1095 -1143
- package/resource/package.nls.tr.json +1095 -1143
- package/resource/package.nls.zh-Hans.json +1095 -1143
- package/resource/package.nls.zh-Hant.json +1095 -1143
- package/resource/package.nls.zh-cn.json +1 -34
- package/resource/package.nls.zh-tw.json +1 -34
- package/resource/templates/package.nls.cs.json +58 -4
- package/resource/templates/package.nls.de.json +58 -4
- package/resource/templates/package.nls.es.json +58 -4
- package/resource/templates/package.nls.fr.json +58 -4
- package/resource/templates/package.nls.it.json +57 -3
- package/resource/templates/package.nls.ja.json +57 -3
- package/resource/templates/package.nls.json +57 -3
- package/resource/templates/package.nls.ko.json +58 -4
- package/resource/templates/package.nls.pl.json +58 -4
- package/resource/templates/package.nls.pt-BR.json +56 -2
- package/resource/templates/package.nls.ru.json +58 -4
- package/resource/templates/package.nls.tr.json +56 -2
- package/resource/templates/package.nls.zh-Hans.json +56 -2
- package/resource/templates/package.nls.zh-Hant.json +56 -2
- package/resource/templates/package.nls.zh-cn.json +55 -1
- package/resource/templates/package.nls.zh-tw.json +55 -1
- 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/metadata.zip +0 -0
- package/templates/ui/tdpNode.json +330 -0
- package/templates/ui/wizardNode.json +447 -0
- package/build/question/scaffold/vsc/customEngineAgentNode.d.ts +0 -3
- package/build/question/scaffold/vsc/customEngineAgentNode.d.ts.map +0 -1
- package/build/question/scaffold/vsc/customEngineAgentNode.js +0 -28
- package/build/question/scaffold/vsc/customEngineAgentNode.js.map +0 -1
- package/build/question/scaffold/vsc/graphConnectorProjectTypeNode.d.ts +0 -3
- package/build/question/scaffold/vsc/graphConnectorProjectTypeNode.d.ts.map +0 -1
- package/build/question/scaffold/vsc/graphConnectorProjectTypeNode.js +0 -25
- package/build/question/scaffold/vsc/graphConnectorProjectTypeNode.js.map +0 -1
- package/build/question/scaffold/vsc/officeAddinProjectTypeNode.d.ts +0 -4
- package/build/question/scaffold/vsc/officeAddinProjectTypeNode.d.ts.map +0 -1
- package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js +0 -93
- package/build/question/scaffold/vsc/officeAddinProjectTypeNode.js.map +0 -1
- package/templates/ui/ceaNode.json +0 -30
- package/templates/ui/teamsNode.json +0 -124
package/build/core/FxCore.js
CHANGED
|
@@ -44,7 +44,6 @@ const ManifestUtils_1 = require("../component/driver/teamsApp/utils/ManifestUtil
|
|
|
44
44
|
const PluginManifestUtils_1 = require("../component/driver/teamsApp/utils/PluginManifestUtils");
|
|
45
45
|
const utils_3 = require("../component/driver/teamsApp/utils/utils");
|
|
46
46
|
const utils_4 = require("../component/driver/util/utils");
|
|
47
|
-
require("../component/feature/sso");
|
|
48
47
|
const helper_1 = require("../component/generator/declarativeAgent/helper");
|
|
49
48
|
const oneDriveSharePointHandler_1 = require("../component/generator/declarativeAgent/oneDriveSharePointHandler");
|
|
50
49
|
const helper_2 = require("../component/generator/openApiSpec/helper");
|
|
@@ -53,7 +52,6 @@ const templateNames_1 = require("../component/generator/templates/templateNames"
|
|
|
53
52
|
const utils_5 = require("../component/generator/utils");
|
|
54
53
|
const launchHelper_1 = require("../component/m365/launchHelper");
|
|
55
54
|
const packageService_1 = require("../component/m365/packageService");
|
|
56
|
-
const constants_3 = require("../common/constants");
|
|
57
55
|
const envMW_1 = require("../component/middleware/envMW");
|
|
58
56
|
const questionMW_1 = require("../component/middleware/questionMW");
|
|
59
57
|
const common_1 = require("../component/utils/common");
|
|
@@ -64,7 +62,7 @@ const settingsUtil_1 = require("../component/utils/settingsUtil");
|
|
|
64
62
|
const common_2 = require("../error/common");
|
|
65
63
|
const upgrade_1 = require("../error/upgrade");
|
|
66
64
|
const yml_1 = require("../error/yml");
|
|
67
|
-
const
|
|
65
|
+
const constants_3 = require("../question/constants");
|
|
68
66
|
const other_1 = require("../question/other");
|
|
69
67
|
const ProjectTypeOptions_1 = require("../question/scaffold/vsc/ProjectTypeOptions");
|
|
70
68
|
const share_1 = require("../question/share");
|
|
@@ -97,10 +95,10 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
97
95
|
}
|
|
98
96
|
async createProject(inputs) {
|
|
99
97
|
const context = (0, globalVars_1.createContext)();
|
|
100
|
-
if (inputs[
|
|
98
|
+
if (inputs[constants_3.QuestionNames.ProjectType] === ProjectTypeOptions_1.ProjectTypeOptions.startWithGithubCopilot().id) {
|
|
101
99
|
return (0, teamsfx_api_1.ok)({ projectPath: "", shouldInvokeTeamsAgent: true });
|
|
102
100
|
}
|
|
103
|
-
inputs[
|
|
101
|
+
inputs[constants_3.QuestionNames.Scratch] = constants_3.ScratchOptions.yes().id;
|
|
104
102
|
const res = await coordinator_1.coordinator.create(context, inputs);
|
|
105
103
|
if (res.isOk()) {
|
|
106
104
|
inputs.projectPath = res.value.projectPath;
|
|
@@ -109,7 +107,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
109
107
|
}
|
|
110
108
|
async createProjectFromTdp(inputs) {
|
|
111
109
|
const context = (0, globalVars_1.createContext)();
|
|
112
|
-
inputs[
|
|
110
|
+
inputs[constants_3.QuestionNames.Scratch] = constants_3.ScratchOptions.yes().id;
|
|
113
111
|
// should never happen as we do same check on Developer Portal.
|
|
114
112
|
if (inputs.teamsAppFromTdp) {
|
|
115
113
|
if ((0, utils_3.containsUnsupportedFeature)(inputs.teamsAppFromTdp)) {
|
|
@@ -135,12 +133,12 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
135
133
|
folder = path.resolve(folder);
|
|
136
134
|
const appName = inputs["app-name"];
|
|
137
135
|
if (undefined === appName)
|
|
138
|
-
return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError(
|
|
136
|
+
return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError(constants_3.QuestionNames.AppName));
|
|
139
137
|
const validateResult = jsonschema.validate(appName, {
|
|
140
|
-
pattern:
|
|
138
|
+
pattern: constants_3.AppNamePattern,
|
|
141
139
|
});
|
|
142
140
|
if (validateResult.errors && validateResult.errors.length > 0) {
|
|
143
|
-
return (0, teamsfx_api_1.err)(new common_2.InputValidationError(
|
|
141
|
+
return (0, teamsfx_api_1.err)(new common_2.InputValidationError(constants_3.QuestionNames.AppName, validateResult.errors[0].message));
|
|
144
142
|
}
|
|
145
143
|
const projectPath = path.join(folder, appName);
|
|
146
144
|
//2. run generator
|
|
@@ -164,7 +162,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
164
162
|
*/
|
|
165
163
|
async createSampleProject(inputs) {
|
|
166
164
|
const context = (0, globalVars_1.createContext)();
|
|
167
|
-
inputs[
|
|
165
|
+
inputs[constants_3.QuestionNames.Scratch] = constants_3.ScratchOptions.no().id;
|
|
168
166
|
const res = await coordinator_1.coordinator.create(context, inputs);
|
|
169
167
|
inputs.projectPath = context.projectPath;
|
|
170
168
|
return res;
|
|
@@ -208,12 +206,12 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
208
206
|
* none lifecycle command, uninstall provisioned resources
|
|
209
207
|
*/
|
|
210
208
|
async uninstall(inputs) {
|
|
211
|
-
switch (inputs[
|
|
212
|
-
case
|
|
209
|
+
switch (inputs[constants_3.QuestionNames.UninstallMode]) {
|
|
210
|
+
case constants_3.QuestionNames.UninstallModeManifestId:
|
|
213
211
|
return await this.uninstallByManifestId(inputs);
|
|
214
|
-
case
|
|
212
|
+
case constants_3.QuestionNames.UninstallModeEnv:
|
|
215
213
|
return await this.uninstallByEnv(inputs);
|
|
216
|
-
case
|
|
214
|
+
case constants_3.QuestionNames.UninstallModeTitleId:
|
|
217
215
|
return await this.uninstallByTitleId(inputs);
|
|
218
216
|
default:
|
|
219
217
|
return (0, teamsfx_api_1.err)(new common_2.UnhandledError(new Error("Uninstall mode not supported"), "FxCore"));
|
|
@@ -223,14 +221,14 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
223
221
|
* uninstall provisioned resources by manifest ID
|
|
224
222
|
*/
|
|
225
223
|
async uninstallByManifestId(inputs) {
|
|
226
|
-
const manifestId = inputs[
|
|
224
|
+
const manifestId = inputs[constants_3.QuestionNames.ManifestId];
|
|
227
225
|
if (!manifestId) {
|
|
228
226
|
return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError("manifest-id", "FxCore"));
|
|
229
227
|
}
|
|
230
|
-
const uninstallOptions = inputs[
|
|
231
|
-
const m356AppOption = uninstallOptions
|
|
232
|
-
const tdpOption = uninstallOptions
|
|
233
|
-
const botOption = uninstallOptions
|
|
228
|
+
const uninstallOptions = inputs[constants_3.QuestionNames.UninstallOptions];
|
|
229
|
+
const m356AppOption = uninstallOptions?.includes(constants_3.QuestionNames.UninstallOptionM365);
|
|
230
|
+
const tdpOption = uninstallOptions?.includes(constants_3.QuestionNames.UninstallOptionTDP);
|
|
231
|
+
const botOption = uninstallOptions?.includes(constants_3.QuestionNames.UninstallOptionBot);
|
|
234
232
|
if (m356AppOption) {
|
|
235
233
|
const res = await this.uninstallM365App(undefined, manifestId);
|
|
236
234
|
if (res.isErr()) {
|
|
@@ -256,7 +254,6 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
256
254
|
* uninstall provisioned resources by a given environment
|
|
257
255
|
*/
|
|
258
256
|
async uninstallByEnv(inputs, ctx) {
|
|
259
|
-
var _a, _b, _c, _d, _e;
|
|
260
257
|
if (!inputs.env) {
|
|
261
258
|
return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError("env", "FxCore"));
|
|
262
259
|
}
|
|
@@ -272,24 +269,24 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
272
269
|
let teamsAppIdKeyName = "";
|
|
273
270
|
let botIdKeyName = "";
|
|
274
271
|
let m365TitleIdKeyName = "";
|
|
275
|
-
for (const action of
|
|
272
|
+
for (const action of projectModel.provision?.driverDefs ?? []) {
|
|
276
273
|
if (action.uses === "teamsApp/create") {
|
|
277
|
-
teamsAppIdKeyName =
|
|
274
|
+
teamsAppIdKeyName = action.writeToEnvironmentFile?.teamsAppId || "TEAMS_APP_ID";
|
|
278
275
|
teamsAppId = process.env[teamsAppIdKeyName];
|
|
279
276
|
}
|
|
280
277
|
else if (action.uses === "botFramework/create") {
|
|
281
|
-
botIdKeyName =
|
|
278
|
+
botIdKeyName = action.writeToEnvironmentFile?.botId || "BOT_ID";
|
|
282
279
|
botId = process.env[botIdKeyName];
|
|
283
280
|
}
|
|
284
281
|
else if (action.uses === "teamsApp/extendToM365") {
|
|
285
|
-
m365TitleIdKeyName =
|
|
282
|
+
m365TitleIdKeyName = action.writeToEnvironmentFile?.titleId || "M365_TITLE_ID";
|
|
286
283
|
m365TitleId = process.env[m365TitleIdKeyName];
|
|
287
284
|
}
|
|
288
285
|
}
|
|
289
|
-
const uninstallOptions = inputs[
|
|
290
|
-
const m356AppOption = uninstallOptions
|
|
291
|
-
const tdpOption = uninstallOptions
|
|
292
|
-
const botOption = uninstallOptions
|
|
286
|
+
const uninstallOptions = inputs[constants_3.QuestionNames.UninstallOptions];
|
|
287
|
+
const m356AppOption = uninstallOptions?.includes(constants_3.QuestionNames.UninstallOptionM365);
|
|
288
|
+
const tdpOption = uninstallOptions?.includes(constants_3.QuestionNames.UninstallOptionTDP);
|
|
289
|
+
const botOption = uninstallOptions?.includes(constants_3.QuestionNames.UninstallOptionBot);
|
|
293
290
|
if ((teamsAppId || m365TitleId) && m356AppOption) {
|
|
294
291
|
const res = await this.uninstallM365App(m365TitleId, teamsAppId);
|
|
295
292
|
if (res.isErr()) {
|
|
@@ -332,7 +329,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
332
329
|
* uninstall provisioned resources by title ID. Titlle mode only uninstalls M365 app.
|
|
333
330
|
*/
|
|
334
331
|
async uninstallByTitleId(inputs) {
|
|
335
|
-
const titleId = inputs[
|
|
332
|
+
const titleId = inputs[constants_3.QuestionNames.TitleId];
|
|
336
333
|
if (!titleId) {
|
|
337
334
|
return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError("title-id", "FxCore"));
|
|
338
335
|
}
|
|
@@ -346,13 +343,12 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
346
343
|
* uninstall sideloaded appps in M365
|
|
347
344
|
*/
|
|
348
345
|
async uninstallM365App(titleId, manifestId) {
|
|
349
|
-
var _a, _b;
|
|
350
346
|
if (titleId === undefined && manifestId === undefined) {
|
|
351
347
|
return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError("title id or manifest id", "FxCore"));
|
|
352
348
|
}
|
|
353
349
|
const sideloadingServiceEndpoint = (0, constants_1.getResourceServiceEndpoint)(constants_1.ResourceServiceType.MOS3);
|
|
354
350
|
const sideloadingTokenRes = await globalVars_1.TOOLS.tokenProvider.m365TokenProvider.getAccessToken({
|
|
355
|
-
scopes: (0,
|
|
351
|
+
scopes: (0, constants_1.MosServiceScope)(),
|
|
356
352
|
});
|
|
357
353
|
if (sideloadingTokenRes.isErr()) {
|
|
358
354
|
return (0, teamsfx_api_1.err)(sideloadingTokenRes.error);
|
|
@@ -360,19 +356,19 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
360
356
|
const packageService = new packageService_1.PackageService(sideloadingServiceEndpoint, globalVars_1.TOOLS.logProvider);
|
|
361
357
|
if (titleId === undefined) {
|
|
362
358
|
try {
|
|
363
|
-
titleId = await packageService.retrieveTitleId(sideloadingTokenRes.value, manifestId
|
|
359
|
+
titleId = await packageService.retrieveTitleId(sideloadingTokenRes.value, manifestId ?? "");
|
|
364
360
|
}
|
|
365
361
|
catch (err) {
|
|
366
362
|
await globalVars_1.TOOLS.ui.showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.uninstall.failed.titleId"), false);
|
|
367
363
|
throw (0, common_2.assembleError)(err);
|
|
368
364
|
}
|
|
369
365
|
}
|
|
370
|
-
const confirmRes = await
|
|
366
|
+
const confirmRes = await globalVars_1.TOOLS.ui.confirm?.({
|
|
371
367
|
name: "uninstallM365App",
|
|
372
368
|
title: (0, localizeUtils_1.getLocalizedString)("core.uninstall.confirm.m365App", titleId),
|
|
373
369
|
default: true,
|
|
374
|
-
})
|
|
375
|
-
if (
|
|
370
|
+
});
|
|
371
|
+
if (confirmRes?.isOk() && confirmRes.value.result === true) {
|
|
376
372
|
await packageService.unacquire(sideloadingTokenRes.value, titleId);
|
|
377
373
|
await globalVars_1.TOOLS.ui.showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.uninstall.success.m365App", titleId), false);
|
|
378
374
|
await globalVars_1.TOOLS.ui.showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.uninstall.success.delayWarning"), false);
|
|
@@ -387,19 +383,18 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
387
383
|
* uninstall sideloaded apps in Teams Developer Portal
|
|
388
384
|
*/
|
|
389
385
|
async uninstallAppRegistration(manifestId) {
|
|
390
|
-
var _a, _b;
|
|
391
386
|
const appStudioTokenRes = await globalVars_1.TOOLS.tokenProvider.m365TokenProvider.getAccessToken({
|
|
392
387
|
scopes: (0, constants_1.AppStudioScopes)(),
|
|
393
388
|
});
|
|
394
389
|
if (appStudioTokenRes.isErr()) {
|
|
395
390
|
return (0, teamsfx_api_1.err)(appStudioTokenRes.error);
|
|
396
391
|
}
|
|
397
|
-
const confirmRes = await
|
|
392
|
+
const confirmRes = await globalVars_1.TOOLS.ui.confirm?.({
|
|
398
393
|
name: "uninstallAppRegistration",
|
|
399
394
|
title: (0, localizeUtils_1.getLocalizedString)("core.uninstall.confirm.tdp", manifestId),
|
|
400
395
|
default: true,
|
|
401
|
-
})
|
|
402
|
-
if (
|
|
396
|
+
});
|
|
397
|
+
if (confirmRes?.isOk() && confirmRes.value.result === true) {
|
|
403
398
|
const token = appStudioTokenRes.value;
|
|
404
399
|
await teamsDevPortalClient_1.teamsDevPortalClient.deleteApp(token, manifestId);
|
|
405
400
|
await globalVars_1.TOOLS.ui.showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.uninstall.success.tdp", manifestId), false);
|
|
@@ -414,7 +409,6 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
414
409
|
* uninstall bots created in dev.botframework.com
|
|
415
410
|
*/
|
|
416
411
|
async uninstallBotFrameworRegistration(botId, manifestId) {
|
|
417
|
-
var _a, _b;
|
|
418
412
|
if (!botId && !manifestId) {
|
|
419
413
|
return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError("bot id or manifest id", "FxCore"));
|
|
420
414
|
}
|
|
@@ -433,12 +427,12 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
433
427
|
}
|
|
434
428
|
botId = botIdRes;
|
|
435
429
|
}
|
|
436
|
-
const confirmRes = await
|
|
430
|
+
const confirmRes = await globalVars_1.TOOLS.ui.confirm?.({
|
|
437
431
|
name: "uninstallBotFrameworRegistration",
|
|
438
432
|
title: (0, localizeUtils_1.getLocalizedString)("core.uninstall.confirm.bot", botId),
|
|
439
433
|
default: true,
|
|
440
|
-
})
|
|
441
|
-
if (
|
|
434
|
+
});
|
|
435
|
+
if (confirmRes?.isOk() && confirmRes.value.result === true) {
|
|
442
436
|
await teamsDevPortalClient_1.teamsDevPortalClient.deleteBot(token, botId);
|
|
443
437
|
await globalVars_1.TOOLS.ui.showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.uninstall.success.bot", botId), false);
|
|
444
438
|
}
|
|
@@ -476,7 +470,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
476
470
|
inputs.stage = teamsfx_api_1.Stage.deployAad;
|
|
477
471
|
const updateAadClient = typedi_1.Container.get("aadApp/update");
|
|
478
472
|
// In V3, the aad.template.json exist at .fx folder, and output to root build folder.
|
|
479
|
-
const manifestTemplatePath = inputs[
|
|
473
|
+
const manifestTemplatePath = inputs[constants_3.QuestionNames.AadAppManifestFilePath];
|
|
480
474
|
if (!(await fs_extra_1.default.pathExists(manifestTemplatePath))) {
|
|
481
475
|
return (0, teamsfx_api_1.err)(new common_2.FileNotFoundError("deployAadManifest", manifestTemplatePath));
|
|
482
476
|
}
|
|
@@ -517,12 +511,12 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
517
511
|
(0, globalVars_1.setErrorContext)({ component: "spfxAdd", method: "run" });
|
|
518
512
|
const driver = typedi_1.Container.get("spfx/add");
|
|
519
513
|
const args = {
|
|
520
|
-
manifestPath: inputs[
|
|
521
|
-
localManifestPath: inputs[
|
|
522
|
-
spfxFolder: inputs[
|
|
523
|
-
webpartName: inputs[
|
|
524
|
-
framework: inputs[
|
|
525
|
-
spfxPackage:
|
|
514
|
+
manifestPath: inputs[constants_3.QuestionNames.ManifestPath],
|
|
515
|
+
localManifestPath: inputs[constants_3.QuestionNames.LocalTeamsAppManifestFilePath],
|
|
516
|
+
spfxFolder: inputs[constants_3.QuestionNames.SPFxFolder],
|
|
517
|
+
webpartName: inputs[constants_3.QuestionNames.SPFxWebpartName],
|
|
518
|
+
framework: inputs[constants_3.QuestionNames.SPFxFramework],
|
|
519
|
+
spfxPackage: constants_3.SPFxVersionOptionIds.installLocally,
|
|
526
520
|
};
|
|
527
521
|
const Context = (0, utils_4.createDriverContext)(inputs);
|
|
528
522
|
const res = await driver.run(args, Context);
|
|
@@ -549,8 +543,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
549
543
|
}
|
|
550
544
|
}
|
|
551
545
|
async removeSharedAccess(inputs, ctx) {
|
|
552
|
-
|
|
553
|
-
const emails = inputs[constants_4.QuestionNames.RemoveUsers];
|
|
546
|
+
const emails = inputs[constants_3.QuestionNames.RemoveUsers];
|
|
554
547
|
if (!emails || emails.length === 0) {
|
|
555
548
|
return (0, teamsfx_api_1.err)(new common_2.MissingRequiredInputError("emails", "FxCore"));
|
|
556
549
|
}
|
|
@@ -569,7 +562,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
569
562
|
}
|
|
570
563
|
const appStudioToken = appStudioTokenRes.value;
|
|
571
564
|
const mosTokenRes = await tokenProvider.getAccessToken({
|
|
572
|
-
scopes: (0,
|
|
565
|
+
scopes: (0, constants_1.MosServiceScope)(),
|
|
573
566
|
});
|
|
574
567
|
if (mosTokenRes.isErr()) {
|
|
575
568
|
return (0, teamsfx_api_1.err)(mosTokenRes.error);
|
|
@@ -598,20 +591,20 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
598
591
|
}
|
|
599
592
|
}
|
|
600
593
|
const msg = (0, localizeUtils_1.getLocalizedString)("core.common.removeOwnership.success", emails);
|
|
601
|
-
|
|
594
|
+
globalVars_1.TOOLS.ui?.showMessage("info", msg, false);
|
|
602
595
|
return (0, teamsfx_api_1.ok)(undefined);
|
|
603
596
|
}
|
|
604
597
|
/**
|
|
605
598
|
* lifecycle command: share
|
|
606
599
|
*/
|
|
607
600
|
async shareApplication(inputs, ctx) {
|
|
608
|
-
const operation = inputs[
|
|
609
|
-
const scope = inputs[
|
|
601
|
+
const operation = inputs[constants_3.QuestionNames.ShareOperation];
|
|
602
|
+
const scope = inputs[constants_3.QuestionNames.ShareScope];
|
|
610
603
|
let emails = [];
|
|
611
604
|
if (scope === share_1.ShareScopeOption.ShareAppWithSpecificUsers ||
|
|
612
605
|
operation === share_1.ShareOperationOption.RemoveShareAccessFromUsers) {
|
|
613
|
-
emails = inputs[
|
|
614
|
-
if (emails.length >
|
|
606
|
+
emails = inputs[constants_3.QuestionNames.UserEmail].split(",").map((e) => e.trim());
|
|
607
|
+
if (emails.length > constants_3.MAX_EMAIL_NUMBER) {
|
|
615
608
|
return (0, teamsfx_api_1.err)(new common_2.InputValidationError("emails", "Too many emails"));
|
|
616
609
|
}
|
|
617
610
|
}
|
|
@@ -622,7 +615,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
622
615
|
const sharedTitleId = parseRes.value.titleId;
|
|
623
616
|
const tokenProvider = globalVars_1.TOOLS.tokenProvider.m365TokenProvider;
|
|
624
617
|
const mosTokenRes = await tokenProvider.getAccessToken({
|
|
625
|
-
scopes: (0,
|
|
618
|
+
scopes: (0, constants_1.MosServiceScope)(),
|
|
626
619
|
});
|
|
627
620
|
if (mosTokenRes.isErr()) {
|
|
628
621
|
return (0, teamsfx_api_1.err)(mosTokenRes.error);
|
|
@@ -650,7 +643,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
650
643
|
if (func.method === "addSso") {
|
|
651
644
|
// used in v3 only in VS
|
|
652
645
|
inputs.stage = teamsfx_api_1.Stage.addFeature;
|
|
653
|
-
inputs[
|
|
646
|
+
inputs[constants_3.QuestionNames.Features] = constants_2.SingleSignOnOptionItem.id;
|
|
654
647
|
const component = typedi_1.Container.get("sso");
|
|
655
648
|
(0, globalVars_1.setErrorContext)({ component: "sso", method: "add" });
|
|
656
649
|
res = await component.add(context, inputs);
|
|
@@ -668,23 +661,21 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
668
661
|
return (0, teamsfx_api_1.err)(new common_2.FileNotFoundError("buildAadManifest", manifestTemplatePath));
|
|
669
662
|
}
|
|
670
663
|
await fs_extra_1.default.ensureDir(path.join(inputs.projectPath, "build"));
|
|
671
|
-
const manifestOutputPath = path.join(inputs.projectPath, "build",
|
|
672
|
-
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
673
|
-
`aad.${inputs.env}.json`);
|
|
664
|
+
const manifestOutputPath = path.join(inputs.projectPath, "build", `aad.${inputs.env}.json`);
|
|
674
665
|
const Context = (0, utils_4.createDriverContext)(inputs);
|
|
675
666
|
await (0, buildAadManifest_1.buildAadManifest)(Context, manifestTemplatePath, manifestOutputPath);
|
|
676
667
|
return (0, teamsfx_api_1.ok)(undefined);
|
|
677
668
|
}
|
|
678
669
|
async convertAadToNewSchema(inputs) {
|
|
679
|
-
const manifestTemplatePath = inputs[
|
|
680
|
-
const projectPath = inputs[
|
|
670
|
+
const manifestTemplatePath = inputs[constants_3.QuestionNames.AadAppManifestFilePath];
|
|
671
|
+
const projectPath = inputs[constants_3.QuestionNames.ProjectPath];
|
|
681
672
|
return aadManifestHelper_1.AadManifestHelper.convertManifestToNewSchemaAndOverride(manifestTemplatePath, projectPath);
|
|
682
673
|
}
|
|
683
674
|
/**
|
|
684
675
|
* v3 only none lifecycle command
|
|
685
676
|
*/
|
|
686
677
|
async deployTeamsManifest(inputs, ctx) {
|
|
687
|
-
inputs.manifestTemplatePath = inputs[
|
|
678
|
+
inputs.manifestTemplatePath = inputs[constants_3.QuestionNames.TeamsAppManifestFilePath];
|
|
688
679
|
const context = (0, globalVars_1.createContext)();
|
|
689
680
|
const res = await (0, appStudio_1.updateManifestV3)(context, inputs);
|
|
690
681
|
if (res.isOk()) {
|
|
@@ -731,7 +722,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
731
722
|
if (inputs["manifest-path"]) {
|
|
732
723
|
return await this.validateManifest(inputs);
|
|
733
724
|
}
|
|
734
|
-
else if (inputs[
|
|
725
|
+
else if (inputs[constants_3.QuestionNames.ValidateMethod] === constants_3.TeamsAppValidationOptions.testCases().id) {
|
|
735
726
|
return await this.validateWithTestCases(inputs);
|
|
736
727
|
}
|
|
737
728
|
else {
|
|
@@ -747,7 +738,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
747
738
|
const teamsAppManifestFilePath = inputs["manifest-path"];
|
|
748
739
|
const args = {
|
|
749
740
|
manifestPath: teamsAppManifestFilePath,
|
|
750
|
-
showMessage:
|
|
741
|
+
showMessage: inputs?.showMessage != undefined ? inputs.showMessage : true,
|
|
751
742
|
};
|
|
752
743
|
const driver = typedi_1.Container.get("teamsApp/validateManifest");
|
|
753
744
|
const result = await driver.execute(args, context);
|
|
@@ -782,9 +773,9 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
782
773
|
*/
|
|
783
774
|
async syncManifest(inputs) {
|
|
784
775
|
const context = (0, utils_4.createDriverContext)(inputs);
|
|
785
|
-
const projectPath = inputs[
|
|
786
|
-
const env = inputs[
|
|
787
|
-
const teamsAppId = inputs[
|
|
776
|
+
const projectPath = inputs[constants_3.QuestionNames.ProjectPath];
|
|
777
|
+
const env = inputs[constants_3.QuestionNames.Env];
|
|
778
|
+
const teamsAppId = inputs[constants_3.QuestionNames.TeamsAppId];
|
|
788
779
|
const args = {
|
|
789
780
|
projectPath: projectPath,
|
|
790
781
|
env: env,
|
|
@@ -797,22 +788,19 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
797
788
|
* v3 only none lifecycle command
|
|
798
789
|
*/
|
|
799
790
|
async createAppPackage(inputs) {
|
|
800
|
-
var _a, _b, _c;
|
|
801
791
|
inputs.stage = teamsfx_api_1.Stage.createAppPackage;
|
|
802
792
|
const context = (0, utils_4.createDriverContext)(inputs);
|
|
803
793
|
// For TSP projects
|
|
804
794
|
await (0, tools_1.runForTypeSpecProject)(inputs.projectPath, context);
|
|
805
|
-
const teamsAppManifestFilePath = inputs
|
|
795
|
+
const teamsAppManifestFilePath = inputs?.[constants_3.QuestionNames.TeamsAppManifestFilePath];
|
|
806
796
|
const driver = typedi_1.Container.get("teamsApp/zipAppPackage");
|
|
807
797
|
const args = {
|
|
808
798
|
manifestPath: teamsAppManifestFilePath,
|
|
809
|
-
outputZipPath:
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
815
|
-
`${inputs.projectPath}/${teamsfx_api_1.AppPackageFolderName}/${teamsfx_api_1.BuildFolderName}`,
|
|
799
|
+
outputZipPath: inputs[constants_3.QuestionNames.OutputZipPathParamName] ??
|
|
800
|
+
`${inputs.projectPath}/${teamsfx_api_1.AppPackageFolderName}/${teamsfx_api_1.BuildFolderName}/appPackage.${process.env
|
|
801
|
+
.TEAMSFX_ENV}.zip`,
|
|
802
|
+
outputFolder: inputs[constants_3.QuestionNames.OutputManifestParamName] ??
|
|
803
|
+
`${inputs.projectPath}/${teamsfx_api_1.AppPackageFolderName}/${teamsfx_api_1.BuildFolderName}`,
|
|
816
804
|
};
|
|
817
805
|
const result = (await driver.execute(args, context)).result;
|
|
818
806
|
if (context.platform === teamsfx_api_1.Platform.VSCode) {
|
|
@@ -828,7 +816,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
828
816
|
const appPackageLink = `${constants_1.VSCodeExtensionCommand.openFolder}?%5B%22${folderLink.toString()}%22%5D`;
|
|
829
817
|
builtSuccess = (0, localizeUtils_1.getLocalizedString)("plugins.appstudio.buildSucceedNotice", appPackageLink);
|
|
830
818
|
}
|
|
831
|
-
|
|
819
|
+
context.ui?.showMessage("info", builtSuccess, false);
|
|
832
820
|
}
|
|
833
821
|
}
|
|
834
822
|
return result;
|
|
@@ -841,8 +829,8 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
841
829
|
*/
|
|
842
830
|
async previewWithManifest(inputs) {
|
|
843
831
|
inputs.stage = teamsfx_api_1.Stage.previewWithManifest;
|
|
844
|
-
const hub = inputs[
|
|
845
|
-
const manifestFilePath = inputs[
|
|
832
|
+
const hub = inputs[constants_3.QuestionNames.M365Host];
|
|
833
|
+
const manifestFilePath = inputs[constants_3.QuestionNames.TeamsAppManifestFilePath];
|
|
846
834
|
const context = (0, globalVars_1.createContext)();
|
|
847
835
|
const manifestRes = await ManifestUtils_1.manifestUtils.getManifestV3(manifestFilePath, (0, utils_1.generateDriverContext)(context, inputs), false);
|
|
848
836
|
if (manifestRes.isErr()) {
|
|
@@ -920,7 +908,6 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
920
908
|
* get Teams App Name from yml
|
|
921
909
|
*/
|
|
922
910
|
async getTeamsAppName(projectPath) {
|
|
923
|
-
var _a;
|
|
924
911
|
const ymlPath = pathUtils_1.pathUtils.getYmlFilePath(projectPath, "dev");
|
|
925
912
|
const maybeProjectModel = await metadataUtil_1.metadataUtil.parse(ymlPath);
|
|
926
913
|
if (maybeProjectModel.isErr()) {
|
|
@@ -928,7 +915,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
928
915
|
}
|
|
929
916
|
const projectModel = maybeProjectModel.value;
|
|
930
917
|
if (projectModel.provision) {
|
|
931
|
-
const teamsAppCreate =
|
|
918
|
+
const teamsAppCreate = projectModel.provision?.driverDefs.find((d) => d.uses === "teamsApp/create");
|
|
932
919
|
if (teamsAppCreate) {
|
|
933
920
|
let name = teamsAppCreate.with.name;
|
|
934
921
|
if (name) {
|
|
@@ -943,7 +930,6 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
943
930
|
* get project info
|
|
944
931
|
*/
|
|
945
932
|
async getProjectInfo(projectPath, env) {
|
|
946
|
-
var _a;
|
|
947
933
|
const ymlPath = pathUtils_1.pathUtils.getYmlFilePath(projectPath, env);
|
|
948
934
|
const maybeProjectModel = await metadataUtil_1.metadataUtil.parse(ymlPath);
|
|
949
935
|
if (maybeProjectModel.isErr()) {
|
|
@@ -964,7 +950,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
964
950
|
if (projectModel.provision) {
|
|
965
951
|
const teamsAppCreate = projectModel.provision.driverDefs.find((d) => d.uses === "teamsApp/create");
|
|
966
952
|
if (teamsAppCreate) {
|
|
967
|
-
const teamsAppIdEnvName =
|
|
953
|
+
const teamsAppIdEnvName = teamsAppCreate.writeToEnvironmentFile?.teamsAppId;
|
|
968
954
|
if (teamsAppIdEnvName) {
|
|
969
955
|
const teamsAppId = envObject[teamsAppIdEnvName];
|
|
970
956
|
res.teamsAppId = teamsAppId;
|
|
@@ -1035,7 +1021,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1035
1021
|
return res.value.decrypt(ciphertext);
|
|
1036
1022
|
}
|
|
1037
1023
|
async createEnv(inputs) {
|
|
1038
|
-
return this.createEnvCopyV3(inputs[
|
|
1024
|
+
return this.createEnvCopyV3(inputs[constants_3.QuestionNames.NewTargetEnvName], inputs[constants_3.QuestionNames.SourceEnvName], inputs.projectPath);
|
|
1039
1025
|
}
|
|
1040
1026
|
async createEnvCopyV3(targetEnvName, sourceEnvName, projectPath) {
|
|
1041
1027
|
let res = await pathUtils_1.pathUtils.getEnvFilePath(projectPath, sourceEnvName);
|
|
@@ -1218,9 +1204,9 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1218
1204
|
return await coordinator_1.coordinator.publishInDeveloperPortal(context, inputs);
|
|
1219
1205
|
}
|
|
1220
1206
|
async copilotPluginAddAPI(inputs) {
|
|
1221
|
-
const newOperations = inputs[
|
|
1222
|
-
const url = inputs[
|
|
1223
|
-
const manifestPath = inputs[
|
|
1207
|
+
const newOperations = inputs[constants_3.QuestionNames.ApiOperation];
|
|
1208
|
+
const url = inputs[constants_3.QuestionNames.ApiSpecLocation];
|
|
1209
|
+
const manifestPath = inputs[constants_3.QuestionNames.ManifestPath];
|
|
1224
1210
|
const context = (0, globalVars_1.createContext)();
|
|
1225
1211
|
// Get API spec file path from manifest
|
|
1226
1212
|
const manifestRes = await ManifestUtils_1.manifestUtils._readAppManifest(manifestPath);
|
|
@@ -1303,7 +1289,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1303
1289
|
}
|
|
1304
1290
|
async listPluginApiSpecs(inputs) {
|
|
1305
1291
|
try {
|
|
1306
|
-
const manifestPath = inputs[
|
|
1292
|
+
const manifestPath = inputs[constants_3.QuestionNames.ManifestPath];
|
|
1307
1293
|
const manifestRes = await ManifestUtils_1.manifestUtils._readAppManifest(manifestPath);
|
|
1308
1294
|
if (manifestRes.isErr()) {
|
|
1309
1295
|
return (0, teamsfx_api_1.err)(manifestRes.error);
|
|
@@ -1334,25 +1320,23 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1334
1320
|
* check project type info
|
|
1335
1321
|
*/
|
|
1336
1322
|
async checkProjectType(projectPath) {
|
|
1337
|
-
var _a;
|
|
1338
1323
|
const projectTypeRes = await projectTypeChecker_1.projectTypeChecker.checkProjectType(projectPath);
|
|
1339
1324
|
const props = {};
|
|
1340
1325
|
telemetry_1.telemetryUtils.fillinProjectTypeProperties(props, projectTypeRes);
|
|
1341
|
-
|
|
1326
|
+
globalVars_1.TOOLS.telemetryReporter?.sendTelemetryEvent(telemetry_1.TelemetryEvent.ProjectType, props);
|
|
1342
1327
|
return (0, teamsfx_api_1.ok)(projectTypeRes);
|
|
1343
1328
|
}
|
|
1344
1329
|
/**
|
|
1345
1330
|
* Add plugin
|
|
1346
1331
|
*/
|
|
1347
1332
|
async addPlugin(inputs) {
|
|
1348
|
-
var _a, _b, _c, _d;
|
|
1349
1333
|
if (!inputs.projectPath) {
|
|
1350
1334
|
throw new Error("projectPath is undefined"); // should never happen
|
|
1351
1335
|
}
|
|
1352
1336
|
const context = (0, globalVars_1.createContext)();
|
|
1353
|
-
const teamsManifestPath = inputs[
|
|
1337
|
+
const teamsManifestPath = inputs[constants_3.QuestionNames.ManifestPath];
|
|
1354
1338
|
const appPackageFolder = path.dirname(teamsManifestPath);
|
|
1355
|
-
const isGenerateFromApiSpec = inputs[
|
|
1339
|
+
const isGenerateFromApiSpec = inputs[constants_3.QuestionNames.ActionType] === constants_3.ActionStartOptions.apiSpec().id;
|
|
1356
1340
|
// validate the project is valid for adding plugin
|
|
1357
1341
|
const manifestRes = await ManifestUtils_1.manifestUtils._readAppManifest(teamsManifestPath);
|
|
1358
1342
|
if (manifestRes.isErr()) {
|
|
@@ -1360,9 +1344,9 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1360
1344
|
}
|
|
1361
1345
|
const teamsManifest = manifestRes.value;
|
|
1362
1346
|
const declarativeGpt = teamsManifest.copilotExtensions
|
|
1363
|
-
?
|
|
1364
|
-
:
|
|
1365
|
-
if (!
|
|
1347
|
+
? teamsManifest.copilotExtensions.declarativeCopilots?.[0]
|
|
1348
|
+
: teamsManifest.copilotAgents?.declarativeAgents?.[0];
|
|
1349
|
+
if (!declarativeGpt?.file) {
|
|
1366
1350
|
return (0, teamsfx_api_1.err)(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.name, errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.message("declarativeAgents", teamsManifestPath)));
|
|
1367
1351
|
}
|
|
1368
1352
|
const gptManifestFilePathRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.getManifestPath(teamsManifestPath);
|
|
@@ -1380,8 +1364,8 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1380
1364
|
let specParser = undefined;
|
|
1381
1365
|
let authNameAndSchemes = [];
|
|
1382
1366
|
if (isGenerateFromApiSpec) {
|
|
1383
|
-
specParser = new m365_spec_parser_1.SpecParser(inputs[
|
|
1384
|
-
const listResult = await (0, daSpecParser_1.listAPIInfo)(inputs[
|
|
1367
|
+
specParser = new m365_spec_parser_1.SpecParser(inputs[constants_3.QuestionNames.ApiSpecLocation].trim(), (0, helper_2.getParserOptions)(m365_spec_parser_1.ProjectType.Copilot, true));
|
|
1368
|
+
const listResult = await (0, daSpecParser_1.listAPIInfo)(inputs[constants_3.QuestionNames.ApiSpecLocation].trim());
|
|
1385
1369
|
authNameAndSchemes = this.parseAuthNameAndScheme(listResult, inputs);
|
|
1386
1370
|
if (authNameAndSchemes.length > 0) {
|
|
1387
1371
|
const doesLocalYamlPathExists = await fs_extra_1.default.pathExists(path.join(inputs.projectPath, versionMetadata_1.MetadataV3.localConfigFile));
|
|
@@ -1402,8 +1386,8 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1402
1386
|
let actionId = "";
|
|
1403
1387
|
let suffix = 1;
|
|
1404
1388
|
actionId = `action_${suffix}`;
|
|
1405
|
-
const existingActionIds =
|
|
1406
|
-
while (existingActionIds
|
|
1389
|
+
const existingActionIds = declarativeCopilotManifest.actions?.map((action) => action.id);
|
|
1390
|
+
while (existingActionIds?.includes(actionId)) {
|
|
1407
1391
|
suffix += 1;
|
|
1408
1392
|
actionId = `action_${suffix}`;
|
|
1409
1393
|
}
|
|
@@ -1412,11 +1396,11 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1412
1396
|
if (isGenerateFromApiSpec && specParser) {
|
|
1413
1397
|
destinationPluginManifestPath =
|
|
1414
1398
|
await CopilotGptManifestUtils_1.copilotGptManifestUtils.getDefaultNextAvailablePluginManifestPath(appPackageFolder, undefined);
|
|
1415
|
-
const destinationApiSpecPath = await PluginManifestUtils_1.pluginManifestUtils.getDefaultNextAvailableApiSpecPath(inputs[
|
|
1399
|
+
const destinationApiSpecPath = await PluginManifestUtils_1.pluginManifestUtils.getDefaultNextAvailableApiSpecPath(inputs[constants_3.QuestionNames.ApiSpecLocation].trim(), path.join(appPackageFolder, teamsfx_api_1.DefaultApiSpecFolderName));
|
|
1416
1400
|
const generateRes = await (0, helper_2.generateFromApiSpec)(specParser, teamsManifestPath, inputs, context, teamsfx_api_1.Stage.addPlugin, m365_spec_parser_1.ProjectType.Copilot, {
|
|
1417
1401
|
destinationApiSpecFilePath: destinationApiSpecPath,
|
|
1418
1402
|
pluginManifestFilePath: destinationPluginManifestPath,
|
|
1419
|
-
}, inputs[
|
|
1403
|
+
}, inputs[constants_3.QuestionNames.ApiSpecLocation].trim());
|
|
1420
1404
|
if (generateRes.isErr()) {
|
|
1421
1405
|
return (0, teamsfx_api_1.err)(generateRes.error);
|
|
1422
1406
|
}
|
|
@@ -1434,7 +1418,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1434
1418
|
}
|
|
1435
1419
|
}
|
|
1436
1420
|
else {
|
|
1437
|
-
const addPluginRes = await (0, helper_1.addExistingPlugin)(declarativeCopilotManifestPath, inputs[
|
|
1421
|
+
const addPluginRes = await (0, helper_1.addExistingPlugin)(declarativeCopilotManifestPath, inputs[constants_3.QuestionNames.PluginManifestFilePath].trim(), inputs[constants_3.QuestionNames.PluginOpenApiSpecFilePath].trim(), actionId, context, teamsfx_api_1.Stage.addPlugin);
|
|
1438
1422
|
if (addPluginRes.isErr()) {
|
|
1439
1423
|
return (0, teamsfx_api_1.err)(addPluginRes.error);
|
|
1440
1424
|
}
|
|
@@ -1448,10 +1432,9 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1448
1432
|
void context.userInteraction
|
|
1449
1433
|
.showMessage("info", successMessage, false, viewPluginManifest)
|
|
1450
1434
|
.then((userRes) => {
|
|
1451
|
-
var _a, _b;
|
|
1452
1435
|
if (userRes.isOk() && userRes.value === viewPluginManifest) {
|
|
1453
1436
|
context.telemetryReporter.sendTelemetryEvent(telemetry_1.TelemetryEvent.ViewPluginManifestAfterAdded);
|
|
1454
|
-
void
|
|
1437
|
+
void globalVars_1.TOOLS?.ui?.openFile?.(destinationPluginManifestPath);
|
|
1455
1438
|
}
|
|
1456
1439
|
});
|
|
1457
1440
|
}
|
|
@@ -1464,7 +1447,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1464
1447
|
async regeneratePlugin(inputs) {
|
|
1465
1448
|
const projectPath = inputs.projectPath;
|
|
1466
1449
|
const context = (0, globalVars_1.createContext)();
|
|
1467
|
-
const teamsManifestPath = inputs[
|
|
1450
|
+
const teamsManifestPath = inputs[constants_3.QuestionNames.ManifestPath];
|
|
1468
1451
|
const appPackageFolder = path.dirname(teamsManifestPath);
|
|
1469
1452
|
const manifestRes = await ManifestUtils_1.manifestUtils._readAppManifest(teamsManifestPath);
|
|
1470
1453
|
if (manifestRes.isErr()) {
|
|
@@ -1477,7 +1460,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1477
1460
|
let confirmMessage = (0, localizeUtils_1.getLocalizedString)("core.addApi.confirm", path.relative(projectPath, appPackageFolder));
|
|
1478
1461
|
// Will be used if generating from API spec
|
|
1479
1462
|
let authNameAndSchemes = [];
|
|
1480
|
-
const specPath = inputs[
|
|
1463
|
+
const specPath = inputs[constants_3.QuestionNames.ApiSpecLocation].trim();
|
|
1481
1464
|
const listResult = await (0, daSpecParser_1.listAPIInfo)(specPath);
|
|
1482
1465
|
authNameAndSchemes = this.parseAuthNameAndScheme(listResult, inputs);
|
|
1483
1466
|
if (authNameAndSchemes.length > 0) {
|
|
@@ -1493,12 +1476,12 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1493
1476
|
else if (confirmRes.value !== (0, localizeUtils_1.getLocalizedString)("core.regenerateApi.continue")) {
|
|
1494
1477
|
return (0, teamsfx_api_1.err)(new common_2.UserCancelError());
|
|
1495
1478
|
}
|
|
1496
|
-
const destinationPluginManifestPath = inputs[
|
|
1497
|
-
const destinationApiSpecPath = inputs[
|
|
1479
|
+
const destinationPluginManifestPath = inputs[constants_3.QuestionNames.SelectPluginManifest];
|
|
1480
|
+
const destinationApiSpecPath = inputs[constants_3.QuestionNames.SelectOpenAPISpecFromPlugin];
|
|
1498
1481
|
const generateRes = await (0, helper_2.generateFromApiSpec)(undefined, teamsManifestPath, inputs, context, teamsfx_api_1.Stage.RegeneratePlugin, m365_spec_parser_1.ProjectType.Copilot, {
|
|
1499
1482
|
destinationApiSpecFilePath: destinationApiSpecPath,
|
|
1500
1483
|
pluginManifestFilePath: destinationPluginManifestPath,
|
|
1501
|
-
}, inputs[
|
|
1484
|
+
}, inputs[constants_3.QuestionNames.ApiSpecLocation].trim(), true);
|
|
1502
1485
|
if (generateRes.isErr()) {
|
|
1503
1486
|
return (0, teamsfx_api_1.err)(generateRes.error);
|
|
1504
1487
|
}
|
|
@@ -1520,17 +1503,16 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1520
1503
|
const actionPath = path.normalize(path.join(appPackageFolder, action.file));
|
|
1521
1504
|
await CopilotGptManifestUtils_1.copilotGptManifestUtils.updateConversationStarters(actionPath, declarativeAgentManifest);
|
|
1522
1505
|
}
|
|
1523
|
-
const actionId = inputs[
|
|
1506
|
+
const actionId = inputs[constants_3.QuestionNames.SelectPluginId];
|
|
1524
1507
|
if (inputs.platform === teamsfx_api_1.Platform.VSCode) {
|
|
1525
1508
|
const successMessage = (0, localizeUtils_1.getLocalizedString)("core.regeneratePlugin.success.vsc", actionId);
|
|
1526
1509
|
const viewPluginManifest = (0, localizeUtils_1.getLocalizedString)("core.regeneratePlugin.success.viewPluginManifest");
|
|
1527
1510
|
void context.userInteraction
|
|
1528
1511
|
.showMessage("info", successMessage, false, viewPluginManifest)
|
|
1529
1512
|
.then((userRes) => {
|
|
1530
|
-
var _a, _b;
|
|
1531
1513
|
if (userRes.isOk() && userRes.value === viewPluginManifest) {
|
|
1532
1514
|
context.telemetryReporter.sendTelemetryEvent(telemetry_1.TelemetryEvent.ViewPluginManifestAfterAdded);
|
|
1533
|
-
void
|
|
1515
|
+
void globalVars_1.TOOLS?.ui?.openFile?.(destinationPluginManifestPath);
|
|
1534
1516
|
}
|
|
1535
1517
|
});
|
|
1536
1518
|
}
|
|
@@ -1545,9 +1527,9 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1545
1527
|
*/
|
|
1546
1528
|
async metaOSExtendToDA(inputs, workDir) {
|
|
1547
1529
|
const context = (0, globalVars_1.createContext)();
|
|
1548
|
-
inputs[
|
|
1549
|
-
inputs[
|
|
1550
|
-
inputs[
|
|
1530
|
+
inputs[constants_3.QuestionNames.Scratch] = constants_3.ScratchOptions.yes().id;
|
|
1531
|
+
inputs[constants_3.QuestionNames.TemplateName] = templateNames_1.TemplateNames.DeclarativeAgentMetaOSUpgradeProject;
|
|
1532
|
+
inputs[constants_3.QuestionNames.OfficeAddinFolder] = workDir;
|
|
1551
1533
|
const res = await coordinator_1.coordinator.create(context, inputs);
|
|
1552
1534
|
if (res.isOk()) {
|
|
1553
1535
|
inputs.projectPath = res.value.projectPath;
|
|
@@ -1558,12 +1540,11 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1558
1540
|
* Add Knowledge
|
|
1559
1541
|
*/
|
|
1560
1542
|
async addKnowledge(inputs) {
|
|
1561
|
-
var _a, _b, _c;
|
|
1562
1543
|
if (!inputs.projectPath) {
|
|
1563
1544
|
throw new Error("projectPath is undefined"); // should never happen
|
|
1564
1545
|
}
|
|
1565
1546
|
const context = (0, globalVars_1.createContext)();
|
|
1566
|
-
const teamsManifestPath = inputs[
|
|
1547
|
+
const teamsManifestPath = inputs[constants_3.QuestionNames.ManifestPath];
|
|
1567
1548
|
const appPackageFolder = path.dirname(teamsManifestPath);
|
|
1568
1549
|
// Validate the project is valid for adding knowledge
|
|
1569
1550
|
const manifestRes = await ManifestUtils_1.manifestUtils._readAppManifest(teamsManifestPath);
|
|
@@ -1572,9 +1553,9 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1572
1553
|
}
|
|
1573
1554
|
const teamsManifest = manifestRes.value;
|
|
1574
1555
|
const agent = teamsManifest.copilotExtensions
|
|
1575
|
-
?
|
|
1576
|
-
:
|
|
1577
|
-
if (!
|
|
1556
|
+
? teamsManifest.copilotExtensions.declarativeCopilots?.[0]
|
|
1557
|
+
: teamsManifest.copilotAgents?.declarativeAgents?.[0];
|
|
1558
|
+
if (!agent?.file) {
|
|
1578
1559
|
return (0, teamsfx_api_1.err)(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.name, errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.message("declarativeAgents", teamsManifestPath)));
|
|
1579
1560
|
}
|
|
1580
1561
|
const agentFilePathRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.getManifestPath(teamsManifestPath);
|
|
@@ -1592,18 +1573,18 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1592
1573
|
return (0, teamsfx_api_1.err)(new common_2.UserCancelError());
|
|
1593
1574
|
}
|
|
1594
1575
|
let result;
|
|
1595
|
-
const knowledgeSource = inputs[
|
|
1576
|
+
const knowledgeSource = inputs[constants_3.QuestionNames.KnowledgeSource];
|
|
1596
1577
|
switch (knowledgeSource) {
|
|
1597
|
-
case
|
|
1578
|
+
case constants_3.KnowledgeSourceOptions.webSearch().id:
|
|
1598
1579
|
result = await this.addWebSearchKnowledge(context, inputs, agentManifestPath);
|
|
1599
1580
|
break;
|
|
1600
|
-
case
|
|
1581
|
+
case constants_3.KnowledgeSourceOptions.oneDriveSharePoint().id:
|
|
1601
1582
|
result = await this.addOneDriveSharePointKnowledge(inputs, agentManifestPath);
|
|
1602
1583
|
break;
|
|
1603
|
-
case
|
|
1584
|
+
case constants_3.KnowledgeSourceOptions.graphConnector().id:
|
|
1604
1585
|
result = await this.addGCKnowledge(inputs, agentManifestPath);
|
|
1605
1586
|
break;
|
|
1606
|
-
case
|
|
1587
|
+
case constants_3.KnowledgeSourceOptions.embeddedKnowledge().id:
|
|
1607
1588
|
result = await this.addEmbeddedKnowledge(inputs);
|
|
1608
1589
|
break;
|
|
1609
1590
|
default:
|
|
@@ -1635,11 +1616,10 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1635
1616
|
* Need to update da manifest and update m365agents.yml
|
|
1636
1617
|
*/
|
|
1637
1618
|
async kiotaRegenerate(inputs) {
|
|
1638
|
-
var _a, _b, _c, _d, _e;
|
|
1639
1619
|
if (!inputs.projectPath) {
|
|
1640
1620
|
throw new Error("projectPath is undefined"); // should never happen
|
|
1641
1621
|
}
|
|
1642
|
-
const teamsManifestPath = inputs[
|
|
1622
|
+
const teamsManifestPath = inputs[constants_3.QuestionNames.ManifestPath];
|
|
1643
1623
|
const appPackageFolder = path.dirname(teamsManifestPath);
|
|
1644
1624
|
const context = (0, globalVars_1.createContext)();
|
|
1645
1625
|
// validate the project is valid for adding plugin
|
|
@@ -1649,9 +1629,9 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1649
1629
|
}
|
|
1650
1630
|
const teamsManifest = manifestRes.value;
|
|
1651
1631
|
const declarativeGpt = teamsManifest.copilotExtensions
|
|
1652
|
-
?
|
|
1653
|
-
:
|
|
1654
|
-
if (!
|
|
1632
|
+
? teamsManifest.copilotExtensions.declarativeCopilots?.[0]
|
|
1633
|
+
: teamsManifest.copilotAgents?.declarativeAgents?.[0];
|
|
1634
|
+
if (!declarativeGpt?.file) {
|
|
1655
1635
|
return (0, teamsfx_api_1.err)(results_1.AppStudioResultFactory.UserError(errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.name, errors_1.AppStudioError.TeamsAppRequiredPropertyMissingError.message("declarativeCopilots", teamsManifestPath)));
|
|
1656
1636
|
}
|
|
1657
1637
|
const gptManifestFilePathRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.getManifestPath(teamsManifestPath);
|
|
@@ -1664,9 +1644,9 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1664
1644
|
return (0, teamsfx_api_1.err)(declarativeCopilotManifesRes.error);
|
|
1665
1645
|
}
|
|
1666
1646
|
const declarativeCopilotManifest = declarativeCopilotManifesRes.value;
|
|
1667
|
-
const pluginManifestFilePath = inputs[
|
|
1647
|
+
const pluginManifestFilePath = inputs[constants_3.QuestionNames.ActionManifestPath];
|
|
1668
1648
|
let actionId = "";
|
|
1669
|
-
|
|
1649
|
+
declarativeCopilotManifest.actions?.forEach((action) => {
|
|
1670
1650
|
const actionFilePath = path.normalize(path.join(appPackageFolder, action.file));
|
|
1671
1651
|
if (actionFilePath.toLowerCase() === path.normalize(pluginManifestFilePath).toLowerCase()) {
|
|
1672
1652
|
actionId = action.id;
|
|
@@ -1677,8 +1657,8 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1677
1657
|
if (!actionId) {
|
|
1678
1658
|
let suffix = 1;
|
|
1679
1659
|
actionId = `action_${suffix}`;
|
|
1680
|
-
const existingActionIds =
|
|
1681
|
-
while (existingActionIds
|
|
1660
|
+
const existingActionIds = declarativeCopilotManifest.actions?.map((action) => action.id);
|
|
1661
|
+
while (existingActionIds?.includes(actionId)) {
|
|
1682
1662
|
suffix += 1;
|
|
1683
1663
|
actionId = `action_${suffix}`;
|
|
1684
1664
|
}
|
|
@@ -1688,10 +1668,10 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1688
1668
|
}
|
|
1689
1669
|
}
|
|
1690
1670
|
// 1. Get registration id and update plugin manifest
|
|
1691
|
-
const pluginManifestPath = inputs[
|
|
1671
|
+
const pluginManifestPath = inputs[constants_3.QuestionNames.ActionManifestPath].trim();
|
|
1692
1672
|
const authData = await (0, daSpecParser_1.parseAndUpdatePluginManifestForKiota)(pluginManifestPath, true);
|
|
1693
1673
|
// 2. Update teamsapp.local.yaml and teamsapp.yaml if need to add auth action
|
|
1694
|
-
const specPath = inputs[
|
|
1674
|
+
const specPath = inputs[constants_3.QuestionNames.ApiSpecLocation].trim();
|
|
1695
1675
|
for (const authInfo of authData) {
|
|
1696
1676
|
await (0, helper_2.injectAuthAction)(inputs.projectPath, authInfo.authName, undefined, specPath, false, authInfo.authType === "apiKey" ? "ApiKeyPluginVault" : "OAuthPluginVault", false, authInfo.registrationId);
|
|
1697
1677
|
}
|
|
@@ -1705,73 +1685,87 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1705
1685
|
return (0, teamsfx_api_1.ok)(undefined);
|
|
1706
1686
|
}
|
|
1707
1687
|
async addAuthAction(inputs) {
|
|
1708
|
-
var _a, _b, _c;
|
|
1709
1688
|
if (!inputs.projectPath) {
|
|
1710
1689
|
throw new Error("projectPath is undefined"); // should never happen
|
|
1711
1690
|
}
|
|
1712
1691
|
const context = (0, globalVars_1.createContext)();
|
|
1713
1692
|
try {
|
|
1714
|
-
const pluginManifestPath = inputs[
|
|
1715
|
-
const apiSpecRelativePath = inputs[
|
|
1716
|
-
const apiOperation = inputs[
|
|
1717
|
-
const authName = inputs[
|
|
1693
|
+
const pluginManifestPath = inputs[constants_3.QuestionNames.PluginManifestFilePath];
|
|
1694
|
+
const apiSpecRelativePath = inputs[constants_3.QuestionNames.ApiSpecLocation];
|
|
1695
|
+
const apiOperation = inputs[constants_3.QuestionNames.ApiOperation];
|
|
1696
|
+
const authName = inputs[constants_3.QuestionNames.AuthName];
|
|
1718
1697
|
const apiSpecPath = path.normalize(path.join(path.dirname(pluginManifestPath), apiSpecRelativePath));
|
|
1719
|
-
const authType = inputs[
|
|
1698
|
+
const authType = inputs[constants_3.QuestionNames.ApiAuth];
|
|
1720
1699
|
let authParameters = {
|
|
1721
1700
|
apis: apiOperation,
|
|
1722
1701
|
};
|
|
1723
|
-
if (authType ===
|
|
1724
|
-
const oauthAuthorizationUrl = inputs[
|
|
1725
|
-
const oauthTokenUrl = inputs[
|
|
1726
|
-
const oauthRefreshUrl = inputs[
|
|
1727
|
-
const oauthScopes = inputs[
|
|
1728
|
-
const enablePKCEStr = inputs[
|
|
1702
|
+
if (authType === constants_3.AddAuthActionAuthTypeOptions.oauth().id) {
|
|
1703
|
+
const oauthAuthorizationUrl = inputs[constants_3.QuestionNames.OAuthAuthorizationUrl];
|
|
1704
|
+
const oauthTokenUrl = inputs[constants_3.QuestionNames.OAuthTokenUrl];
|
|
1705
|
+
const oauthRefreshUrl = inputs[constants_3.QuestionNames.OAuthRefreshUrl];
|
|
1706
|
+
const oauthScopes = inputs[constants_3.QuestionNames.OAuthScope];
|
|
1707
|
+
const enablePKCEStr = inputs[constants_3.QuestionNames.OauthPKCE];
|
|
1729
1708
|
const scopeArr = this.parseScope(oauthScopes);
|
|
1730
|
-
authParameters =
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1709
|
+
authParameters = {
|
|
1710
|
+
...authParameters,
|
|
1711
|
+
authorizationUrl: oauthAuthorizationUrl,
|
|
1712
|
+
tokenUrl: oauthTokenUrl,
|
|
1713
|
+
refreshUrl: oauthRefreshUrl ? oauthRefreshUrl : undefined,
|
|
1714
|
+
scopes: scopeArr,
|
|
1715
|
+
enablePKCE: enablePKCEStr === "true",
|
|
1716
|
+
};
|
|
1717
|
+
}
|
|
1718
|
+
else if (authType === constants_3.AddAuthActionAuthTypeOptions.apiKey().id) {
|
|
1719
|
+
const apiKeyIn = inputs[constants_3.QuestionNames.ApiKeyIn];
|
|
1720
|
+
const apiKeyName = inputs[constants_3.QuestionNames.ApiKeyName];
|
|
1721
|
+
authParameters = {
|
|
1722
|
+
...authParameters,
|
|
1723
|
+
in: apiKeyIn,
|
|
1724
|
+
name: apiKeyName,
|
|
1725
|
+
};
|
|
1726
|
+
}
|
|
1727
|
+
else if (authType === constants_3.AddAuthActionAuthTypeOptions.microsoftEntra().id) {
|
|
1728
|
+
const oauthScopes = inputs[constants_3.QuestionNames.OAuthScope];
|
|
1739
1729
|
const scopeArr = this.parseScope(oauthScopes);
|
|
1740
|
-
authParameters =
|
|
1730
|
+
authParameters = {
|
|
1731
|
+
...authParameters,
|
|
1732
|
+
authorizationUrl: "https://login.microsoftonline.com/${{TEAMS_APP_TENANT_ID}}/oauth2/v2.0/authorize",
|
|
1733
|
+
tokenUrl: "https://login.microsoftonline.com/${{TEAMS_APP_TENANT_ID}}/oauth2/v2.0/token",
|
|
1734
|
+
refreshUrl: undefined,
|
|
1735
|
+
scopes: scopeArr,
|
|
1736
|
+
};
|
|
1741
1737
|
}
|
|
1742
1738
|
// Update openapi spec
|
|
1743
1739
|
const specParser = new m365_spec_parser_1.SpecParser(apiSpecPath, (0, helper_2.getParserOptions)(m365_spec_parser_1.ProjectType.Copilot, true));
|
|
1744
1740
|
await specParser.addAuthScheme(authName, authType, authParameters);
|
|
1745
1741
|
let authTypeScheme;
|
|
1746
1742
|
switch (authType) {
|
|
1747
|
-
case
|
|
1748
|
-
case
|
|
1743
|
+
case constants_3.AddAuthActionAuthTypeOptions.apiKey().id:
|
|
1744
|
+
case constants_3.AddAuthActionAuthTypeOptions.bearerToken().id:
|
|
1749
1745
|
default:
|
|
1750
1746
|
authTypeScheme = constant_1.APIKeyAuthType;
|
|
1751
1747
|
break;
|
|
1752
|
-
case
|
|
1748
|
+
case constants_3.AddAuthActionAuthTypeOptions.oauth().id:
|
|
1753
1749
|
authTypeScheme = constant_1.OAuthAuthType;
|
|
1754
1750
|
break;
|
|
1755
|
-
case
|
|
1751
|
+
case constants_3.AddAuthActionAuthTypeOptions.microsoftEntra().id:
|
|
1756
1752
|
authTypeScheme = constant_1.MicrosoftEntraAuthType;
|
|
1757
1753
|
break;
|
|
1758
1754
|
}
|
|
1759
1755
|
const addAuthActionRes = await (0, helper_2.injectAuthAction)(inputs.projectPath, authName, undefined, apiSpecPath, true, authTypeScheme, "enablePKCE" in authParameters ? authParameters.enablePKCE : undefined);
|
|
1760
|
-
if (addAuthActionRes
|
|
1756
|
+
if (addAuthActionRes?.registrationIdEnvName) {
|
|
1761
1757
|
const pluginManifest = (await fs_extra_1.default.readJson(pluginManifestPath));
|
|
1762
|
-
|
|
1763
|
-
var _a, _b, _c;
|
|
1758
|
+
pluginManifest.runtimes?.forEach((runtime) => {
|
|
1764
1759
|
if (runtime.type === "OpenApi" &&
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
runtime.run_for_functions =
|
|
1760
|
+
runtime.auth?.type === "None" &&
|
|
1761
|
+
runtime.spec?.url === apiSpecRelativePath) {
|
|
1762
|
+
runtime.run_for_functions = runtime.run_for_functions?.filter((value) => !!!apiOperation.includes(value));
|
|
1768
1763
|
}
|
|
1769
1764
|
});
|
|
1770
|
-
pluginManifest.runtimes =
|
|
1771
|
-
|
|
1772
|
-
return !!runtime.run_for_functions && ((_a = runtime.run_for_functions) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
1765
|
+
pluginManifest.runtimes = pluginManifest.runtimes?.filter((runtime) => {
|
|
1766
|
+
return !!runtime.run_for_functions && runtime.run_for_functions?.length > 0;
|
|
1773
1767
|
});
|
|
1774
|
-
|
|
1768
|
+
pluginManifest.runtimes?.push({
|
|
1775
1769
|
type: "OpenApi",
|
|
1776
1770
|
auth: {
|
|
1777
1771
|
type: authTypeScheme === constant_1.MicrosoftEntraAuthType
|
|
@@ -1787,7 +1781,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1787
1781
|
});
|
|
1788
1782
|
await fs_extra_1.default.writeJson(pluginManifestPath, pluginManifest, { spaces: 4 });
|
|
1789
1783
|
}
|
|
1790
|
-
if (authType ===
|
|
1784
|
+
if (authType === constants_3.AddAuthActionAuthTypeOptions.microsoftEntra().id) {
|
|
1791
1785
|
const appIdUriPlaceholder = m365_spec_parser_1.Utils.getSafeRegistrationIdEnvName(`${authName}_APPLICATION_ID_URI`);
|
|
1792
1786
|
void context.userInteraction.showMessage("warn", (0, localizeUtils_1.getLocalizedString)("core.addAuthAction.microsoftEntra.message", appIdUriPlaceholder), false);
|
|
1793
1787
|
}
|
|
@@ -1806,7 +1800,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1806
1800
|
return (0, teamsfx_api_1.ok)(undefined);
|
|
1807
1801
|
}
|
|
1808
1802
|
async setSensitivityLabel(inputs) {
|
|
1809
|
-
const declarativeAgentManifestPath = inputs[
|
|
1803
|
+
const declarativeAgentManifestPath = inputs[constants_3.QuestionNames.DeclarativeAgentManifestPath];
|
|
1810
1804
|
if (!declarativeAgentManifestPath || !(await fs_extra_1.default.pathExists(declarativeAgentManifestPath))) {
|
|
1811
1805
|
throw new Error("declarativeAgentManifestPath is undefined or does not exist");
|
|
1812
1806
|
}
|
|
@@ -1820,7 +1814,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1820
1814
|
else if (confirmRes.value !== (0, localizeUtils_1.getLocalizedString)("core.setSensitivityLabel.continue")) {
|
|
1821
1815
|
return (0, teamsfx_api_1.err)(new common_2.UserCancelError());
|
|
1822
1816
|
}
|
|
1823
|
-
const selectedLabel = inputs[
|
|
1817
|
+
const selectedLabel = inputs[constants_3.QuestionNames.SensitivityLabel];
|
|
1824
1818
|
const declarativeAgentManifestRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.readDeclarativeAgentManifestFile(declarativeAgentManifestPath);
|
|
1825
1819
|
if (declarativeAgentManifestRes.isErr()) {
|
|
1826
1820
|
return (0, teamsfx_api_1.err)(declarativeAgentManifestRes.error);
|
|
@@ -1885,13 +1879,16 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1885
1879
|
await fs_extra_1.default.ensureDir(metadataDir);
|
|
1886
1880
|
const versionFile = path.join(metadataDir, "template-version.txt");
|
|
1887
1881
|
const needDownload = async () => {
|
|
1882
|
+
// Always re-download for mutable pre-release tags (content changes but tag stays the same)
|
|
1883
|
+
if (latestVersion === "0.0.0-rc")
|
|
1884
|
+
return true;
|
|
1888
1885
|
if (!(await fs_extra_1.default.pathExists(versionFile)))
|
|
1889
1886
|
return true;
|
|
1890
1887
|
try {
|
|
1891
1888
|
const cachedVersion = (await fs_extra_1.default.readFile(versionFile, "utf-8")).trim();
|
|
1892
1889
|
return cachedVersion !== latestVersion;
|
|
1893
1890
|
}
|
|
1894
|
-
catch
|
|
1891
|
+
catch {
|
|
1895
1892
|
return true; // re-download if any issue reading cached version
|
|
1896
1893
|
}
|
|
1897
1894
|
};
|
|
@@ -1904,14 +1901,61 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1904
1901
|
const zip = await (0, utils_5.fetchZipFromUrl)(metadataZipUrl);
|
|
1905
1902
|
await (0, utils_5.unzip)(zip, metadataDir);
|
|
1906
1903
|
await fs_extra_1.default.writeFile(versionFile, latestVersion, { encoding: "utf-8" });
|
|
1904
|
+
// Clear locale cache so freshly downloaded NLS files are picked up
|
|
1905
|
+
(0, localizeUtils_1.clearLocaleCache)();
|
|
1907
1906
|
return (0, teamsfx_api_1.ok)(undefined);
|
|
1908
1907
|
}
|
|
1909
1908
|
catch (error) {
|
|
1910
|
-
const message =
|
|
1909
|
+
const message = error?.message || "Unknown error while fetching template metadata";
|
|
1911
1910
|
const systemErr = new teamsfx_api_1.SystemError("FetchOnlineTemplateMetadata", "DownloadFailed", message, message);
|
|
1912
1911
|
return (0, teamsfx_api_1.err)(systemErr);
|
|
1913
1912
|
}
|
|
1914
1913
|
}
|
|
1914
|
+
/**
|
|
1915
|
+
* dynamic VS template metadata download
|
|
1916
|
+
*/
|
|
1917
|
+
async fetchOnlineTemplateMetadataForVS() {
|
|
1918
|
+
if ((0, templateHelper_1.useLocalTemplate)()) {
|
|
1919
|
+
return (0, teamsfx_api_1.ok)(undefined); // Skip if using local templates
|
|
1920
|
+
}
|
|
1921
|
+
try {
|
|
1922
|
+
// VS ships stable templates with a stable fx-core and test/pre-release
|
|
1923
|
+
// templates with a beta fx-core. So beta = pre-stable test build → RC.
|
|
1924
|
+
const coreVersion = require("../../package.json").version;
|
|
1925
|
+
const latestVersion = coreVersion.includes("beta")
|
|
1926
|
+
? "0.0.0-rc"
|
|
1927
|
+
: await (0, utils_5.getTemplateVSLatestVersion)();
|
|
1928
|
+
const homedir = os.homedir();
|
|
1929
|
+
const metadataDir = path.join(homedir, `.${String(teamsfx_api_1.ConfigFolderName)}`, "vs-metadata");
|
|
1930
|
+
await fs_extra_1.default.ensureDir(metadataDir);
|
|
1931
|
+
const versionFile = path.join(metadataDir, "template-vs-version.txt");
|
|
1932
|
+
const needDownload = async () => {
|
|
1933
|
+
if (!(await fs_extra_1.default.pathExists(versionFile)))
|
|
1934
|
+
return true;
|
|
1935
|
+
try {
|
|
1936
|
+
const cachedVersion = (await fs_extra_1.default.readFile(versionFile, "utf-8")).trim();
|
|
1937
|
+
return cachedVersion !== latestVersion;
|
|
1938
|
+
}
|
|
1939
|
+
catch {
|
|
1940
|
+
return true;
|
|
1941
|
+
}
|
|
1942
|
+
};
|
|
1943
|
+
if (!(await needDownload())) {
|
|
1944
|
+
return (0, teamsfx_api_1.ok)(undefined); // Already up-to-date
|
|
1945
|
+
}
|
|
1946
|
+
const tag = `${templates_config_json_1.default.vstagPrefix}${latestVersion}`;
|
|
1947
|
+
const metadataZipUrl = `${templates_config_json_1.default.templateDownloadBaseURL}/${tag}/metadata.zip`;
|
|
1948
|
+
const zip = await (0, utils_5.fetchZipFromUrl)(metadataZipUrl);
|
|
1949
|
+
await (0, utils_5.unzip)(zip, metadataDir);
|
|
1950
|
+
await fs_extra_1.default.writeFile(versionFile, latestVersion, { encoding: "utf-8" });
|
|
1951
|
+
return (0, teamsfx_api_1.ok)(undefined);
|
|
1952
|
+
}
|
|
1953
|
+
catch (error) {
|
|
1954
|
+
const message = error?.message || "Unknown error while fetching VS template metadata";
|
|
1955
|
+
const systemErr = new teamsfx_api_1.SystemError("FetchOnlineTemplateMetadataForVS", "DownloadFailed", message, message);
|
|
1956
|
+
return (0, teamsfx_api_1.err)(systemErr);
|
|
1957
|
+
}
|
|
1958
|
+
}
|
|
1915
1959
|
/**
|
|
1916
1960
|
* generate config files
|
|
1917
1961
|
*/
|
|
@@ -1921,8 +1965,8 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1921
1965
|
async updateAuthActionInYaml(authName, authScheme, projectPath, apSpecPath, pluginManifestPath, forceToAddNew = true) {
|
|
1922
1966
|
if (authName && authScheme) {
|
|
1923
1967
|
const authInjectRes = await (0, helper_2.injectAuthAction)(projectPath, authName, authScheme, apSpecPath, forceToAddNew);
|
|
1924
|
-
if (
|
|
1925
|
-
|
|
1968
|
+
if (authInjectRes?.defaultRegistrationIdEnvName &&
|
|
1969
|
+
authInjectRes?.registrationIdEnvName &&
|
|
1926
1970
|
authInjectRes.defaultRegistrationIdEnvName !== authInjectRes.registrationIdEnvName) {
|
|
1927
1971
|
const pluginManifestContent = await fs_extra_1.default.readFile(pluginManifestPath, "utf-8");
|
|
1928
1972
|
const updatedPluginManifestContext = pluginManifestContent.replace(authInjectRes.defaultRegistrationIdEnvName, authInjectRes.registrationIdEnvName);
|
|
@@ -1933,7 +1977,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1933
1977
|
parseAuthNameAndScheme(listResult, inputs) {
|
|
1934
1978
|
const authApis = listResult.APIs.filter((value) => value.isValid && !!value.auth);
|
|
1935
1979
|
const result = [];
|
|
1936
|
-
for (const api of inputs[
|
|
1980
|
+
for (const api of inputs[constants_3.QuestionNames.ApiOperation]) {
|
|
1937
1981
|
const operation = authApis.find((op) => op.api === api);
|
|
1938
1982
|
if (operation &&
|
|
1939
1983
|
operation.auth &&
|
|
@@ -1961,7 +2005,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1961
2005
|
return scopeArr;
|
|
1962
2006
|
}
|
|
1963
2007
|
async isDelcarativeAgentApp(inputs) {
|
|
1964
|
-
const projectPath = inputs[
|
|
2008
|
+
const projectPath = inputs[constants_3.QuestionNames.ProjectPath];
|
|
1965
2009
|
const manifestRes = await ManifestUtils_1.manifestUtils.readAppManifest(projectPath);
|
|
1966
2010
|
if (manifestRes.isErr()) {
|
|
1967
2011
|
return (0, teamsfx_api_1.err)(manifestRes.error);
|
|
@@ -1969,21 +2013,25 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1969
2013
|
return (0, teamsfx_api_1.ok)((0, projectTypeChecker_1.IsDeclarativeAgentManifest)(manifestRes.value));
|
|
1970
2014
|
}
|
|
1971
2015
|
async addOneDriveSharePointKnowledge(inputs, agentManifestPath) {
|
|
1972
|
-
var _a;
|
|
1973
2016
|
const manifestRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.readCopilotGptManifestFile(agentManifestPath);
|
|
1974
2017
|
if (manifestRes.isErr()) {
|
|
1975
2018
|
return (0, teamsfx_api_1.err)(manifestRes.error);
|
|
1976
2019
|
}
|
|
1977
2020
|
let oneDriveSharePointIds = null;
|
|
1978
2021
|
let oneDriveSharePointUrls = null;
|
|
1979
|
-
const sharePointItem =
|
|
2022
|
+
const sharePointItem = inputs.oneDriveSharePointItem?.[0];
|
|
1980
2023
|
if (sharePointItem &&
|
|
1981
|
-
inputs[
|
|
2024
|
+
inputs[constants_3.QuestionNames.SearchType] !== constants_3.KnowledgeSearchTypeOptions.allOneDriveSharepoint().id) {
|
|
1982
2025
|
if (sharePointItem.url) {
|
|
1983
2026
|
oneDriveSharePointUrls = { url: sharePointItem.url };
|
|
1984
2027
|
}
|
|
1985
2028
|
else {
|
|
1986
|
-
oneDriveSharePointIds =
|
|
2029
|
+
oneDriveSharePointIds = {
|
|
2030
|
+
site_id: sharePointItem.siteId,
|
|
2031
|
+
web_id: sharePointItem.webId,
|
|
2032
|
+
...(sharePointItem.listId && { list_id: sharePointItem.listId }),
|
|
2033
|
+
...(sharePointItem.uniqueId && { unique_id: sharePointItem.uniqueId }),
|
|
2034
|
+
};
|
|
1987
2035
|
}
|
|
1988
2036
|
}
|
|
1989
2037
|
const addOneDriveSharePointCapabilityRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.addOneDriveSharePointCapability(agentManifestPath, oneDriveSharePointIds, oneDriveSharePointUrls, manifestRes);
|
|
@@ -1998,7 +2046,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
1998
2046
|
return (0, teamsfx_api_1.err)(manifestRes.error);
|
|
1999
2047
|
}
|
|
2000
2048
|
let webSearchUrl = null;
|
|
2001
|
-
if (inputs[
|
|
2049
|
+
if (inputs[constants_3.QuestionNames.SearchType] !== constants_3.KnowledgeSearchTypeOptions.allWeb().id) {
|
|
2002
2050
|
webSearchUrl = {
|
|
2003
2051
|
url: inputs.webSearchUrl,
|
|
2004
2052
|
};
|
|
@@ -2015,11 +2063,11 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
2015
2063
|
return (0, teamsfx_api_1.err)(manifestRes.error);
|
|
2016
2064
|
}
|
|
2017
2065
|
let connectionIds;
|
|
2018
|
-
if (inputs[
|
|
2019
|
-
connectionIds = [inputs[
|
|
2066
|
+
if (inputs[constants_3.QuestionNames.GCInput]) {
|
|
2067
|
+
connectionIds = [inputs[constants_3.QuestionNames.GCInput]];
|
|
2020
2068
|
}
|
|
2021
2069
|
else {
|
|
2022
|
-
connectionIds = inputs[
|
|
2070
|
+
connectionIds = inputs[constants_3.QuestionNames.GCList];
|
|
2023
2071
|
}
|
|
2024
2072
|
const addGCCapabilityRes = await CopilotGptManifestUtils_1.copilotGptManifestUtils.addGCCapability(agentManifestPath, connectionIds, manifestRes);
|
|
2025
2073
|
if (addGCCapabilityRes.isErr()) {
|
|
@@ -2028,13 +2076,13 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
2028
2076
|
return (0, teamsfx_api_1.ok)(undefined);
|
|
2029
2077
|
}
|
|
2030
2078
|
async addEmbeddedKnowledge(inputs) {
|
|
2031
|
-
const manifestFilePath = inputs[
|
|
2032
|
-
const filePath = inputs[
|
|
2079
|
+
const manifestFilePath = inputs[constants_3.QuestionNames.ManifestPath];
|
|
2080
|
+
const filePath = inputs[constants_3.QuestionNames.EmbeddedKnowledgeFiles];
|
|
2033
2081
|
const res = await CopilotGptManifestUtils_1.copilotGptManifestUtils.addEmbeddedKnowledgeFiles(manifestFilePath, filePath);
|
|
2034
2082
|
return res;
|
|
2035
2083
|
}
|
|
2036
2084
|
showAddKnowledgeSuccessMessage(context, inputs, agentManifestPath, knowledgeSource) {
|
|
2037
|
-
if (knowledgeSource ===
|
|
2085
|
+
if (knowledgeSource === constants_3.KnowledgeSourceOptions.embeddedKnowledge().id) {
|
|
2038
2086
|
void globalVars_1.TOOLS.ui.showMessage("info", (0, localizeUtils_1.getLocalizedString)("core.addEmbeddedKnowledge.success"), false);
|
|
2039
2087
|
return;
|
|
2040
2088
|
}
|
|
@@ -2044,10 +2092,9 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
2044
2092
|
void context.userInteraction
|
|
2045
2093
|
.showMessage("info", successMessage, false, viewAgentManifest)
|
|
2046
2094
|
.then((userRes) => {
|
|
2047
|
-
var _a, _b;
|
|
2048
2095
|
if (userRes.isOk() && userRes.value === viewAgentManifest) {
|
|
2049
2096
|
context.telemetryReporter.sendTelemetryEvent(telemetry_1.TelemetryEvent.ViewAgentManifestAfterAdded);
|
|
2050
|
-
void
|
|
2097
|
+
void globalVars_1.TOOLS?.ui?.openFile?.(agentManifestPath);
|
|
2051
2098
|
}
|
|
2052
2099
|
});
|
|
2053
2100
|
}
|
|
@@ -2057,6 +2104,7 @@ class FxCore extends FxCore_declarativeAgent_1.FxCoreDeclarativeAgentPart {
|
|
|
2057
2104
|
}
|
|
2058
2105
|
}
|
|
2059
2106
|
}
|
|
2107
|
+
exports.FxCore = FxCore;
|
|
2060
2108
|
tslib_1.__decorate([
|
|
2061
2109
|
(0, hooks_1.hooks)([
|
|
2062
2110
|
(0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "createProject", reset: true }),
|
|
@@ -2749,11 +2797,19 @@ tslib_1.__decorate([
|
|
|
2749
2797
|
tslib_1.__metadata("design:paramtypes", []),
|
|
2750
2798
|
tslib_1.__metadata("design:returntype", Promise)
|
|
2751
2799
|
], FxCore.prototype, "fetchOnlineTemplateMetadata", null);
|
|
2800
|
+
tslib_1.__decorate([
|
|
2801
|
+
(0, hooks_1.hooks)([
|
|
2802
|
+
(0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "fetchOnlineTemplateMetadataForVS" }),
|
|
2803
|
+
errorHandler_1.ErrorHandlerMW,
|
|
2804
|
+
]),
|
|
2805
|
+
tslib_1.__metadata("design:type", Function),
|
|
2806
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
2807
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
2808
|
+
], FxCore.prototype, "fetchOnlineTemplateMetadataForVS", null);
|
|
2752
2809
|
tslib_1.__decorate([
|
|
2753
2810
|
(0, hooks_1.hooks)([(0, globalVars_1.ErrorContextMW)({ component: "FxCore", stage: "generateConfigFiles" }), errorHandler_1.ErrorHandlerMW]),
|
|
2754
2811
|
tslib_1.__metadata("design:type", Function),
|
|
2755
2812
|
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
2756
2813
|
tslib_1.__metadata("design:returntype", Promise)
|
|
2757
2814
|
], FxCore.prototype, "generateConfigFiles", null);
|
|
2758
|
-
exports.FxCore = FxCore;
|
|
2759
2815
|
//# sourceMappingURL=FxCore.js.map
|