@sap/generator-fiori
Version:
Create an SAPUI5 application using SAP Fiori elements or a freestyle approach
4 lines (3 loc) • 49.7 kB
JavaScript
const __esmImportMetaUrl = require('node:url').pathToFileURL(__filename).href;
var Mt=Object.create;var x=Object.defineProperty;var _t=Object.getOwnPropertyDescriptor;var Ft=Object.getOwnPropertyNames;var Vt=Object.getPrototypeOf,Bt=Object.prototype.hasOwnProperty;var a=(e,t)=>x(e,"name",{value:t,configurable:!0});var Qt=(e,t)=>{for(var r in t)x(e,r,{get:t[r],enumerable:!0})},he=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ft(t))!Bt.call(e,n)&&n!==r&&x(e,n,{get:()=>t[n],enumerable:!(i=_t(t,n))||i.enumerable});return e};var Yt=(e,t,r)=>(r=e!=null?Mt(Vt(e)):{},he(t||!e||!e.__esModule?x(r,"default",{value:e,enumerable:!0}):r,e)),Ht=e=>he(x({},"__esModule",{value:!0}),e);var xr={};Qt(xr,{DEFAULT_PACKAGE_ABAP:()=>v,PackageInputChoices:()=>y,TargetSystemType:()=>h,TransportChoices:()=>m,default:()=>wr,getPackageAnswer:()=>T,getPackagePrompts:()=>B,getPrompts:()=>Ot,getTransportAnswer:()=>ee,getTransportRequestPrompts:()=>Q,prompt:()=>Tr,promptNames:()=>g,reconcileAnswers:()=>te});module.exports=Ht(xr);var qt=require("../../open-ux-shared/logger/index.js");var ye=Yt(require("../../commonlibs/i18next/index.js"),1);var Ce={prompts:{target:{destination:{message:"Destination"},targetSystem:{message:"Select Target System",breadcrumb:"Target System"},url:{message:"Target System URL"},scp:{message:"Is This an SAP Business Technology Platform System?",breadcrumb:"SCP"},clientChoice:{message:"Client"},client:{message:"Enter Client",breadcrumb:"Client"}},auth:{username:{message:"Username: "},password:{message:"Password: "}},config:{app:{ui5AbapRepo:{message:"SAPUI5 ABAP Repository",messageMaxLength:"SAPUI5 ABAP Repository (maximum length: 15 characters) must start with {{ applicationPrefix }}.",hint:"Enter the name for the deployed application. The name must follow the rules of creating a BSP application. It must not exceed 15 characters and must consist of alphanumeric characters or underscores only. The name must be unique in the BSP repository and its namespace must be compatible with the selected package."},description:{message:"Deployment Description",hint:"The description of the deployed application."}},package:{packageInputChoice:{message:"Select How You Want to Enter the Package"},packageManual:{message:"Package",hint:"Provide a package for the deployed application."},packageAutocomplete:{message:"Package",messageTypeFilter:" (Type to filter matching records)",hint:"Select a package for the deployed application.",sourceMessage:"More than {{numResults}} results. Keep typing to narrow down the list."}},transport:{common:{transportRequest:"Transport Request",transportRequestMandatory:"Transport Request (mandatory)",provideTransportRequest:"Provide a transport request for your application."},transportInputChoice:{message:"Select How You Want to Enter the Transport Request"},transportCreated:{message:"Created New Transport Request"}}},confirm:{index:{message:"Generate Standalone index.html During Deployment",breadcrumb:"Generate index.html"},overwrite:{message:"Editing the deployment configuration will overwrite the existing configuration. Are you sure you want to continue?",hint:"Deployment config will abort if you choose no. Click 'Finish' to abort."}}},choices:{common:{listExisting:"Choose from Existing"},targetSystemUrl:"Enter Target System URL",clientChoice:{existing:"Use Project Defined Client: {{client}}",new:"Enter Client",blank:"Use Default System Client"},transport:{createDuringDeploy:"Create During Deployment",createNew:"Create New",enterManually:"Enter Manually"}},info:{correctCredentials:"Correct credentials."},warnings:{packageNotFound:"The package list cannot be fetched. Please enter the package manually.",providePackage:"Provide a package.",packageTmpLowercase:"The local package entered contains '$tmp' in lowercase. Package names with $TMP must be in uppercase.",transportConfigFailure:`Cannot retrieve the transport configuration from the ABAP environment. You can still proceed with adding a deployment configuration by manually providing the package and transport request.
For more information on this error, please see Guided Answers {{-helpLink}}.`,noTransportReqs:"There are no transport requests for the supplied package. You can choose to create a new one now or during deployment.",noExistingTransportReqList:"The transport request list cannot be fetched. Please enter the transport request manually.",virtualHost:"The destination uses a virtual host. When viewing your deployed application in the browser, replace the host URL with the internal host that is configured with your SAP Cloud Connector.",fullUrlDestination:"The selected destination is a full URL destination. The URL path is appended to the destination host, which may cause routing issues.",allowingUnauthorizedCertsNode:"Setting the `NODE_TLS_REJECT_UNAUTHORIZED` environment variable to `0` makes TLS connections and HTTPS requests insecure by disabling certificate verification. It is important to understand the security risks when using this setting.",certificateError:"A certificate error occurred when connecting to the host: {{-url}}. Certificate error: {{error}}."},errors:{abapSystemChoices:"Failed to retrieve ABAP system choices.",targetNotDeployable:"{{systemError}} To continue with project generation, choose a different deployment target or skip adding a deployment configuration.",cannotReadCapServiceMetadata:"An error occurred reading CAP service metadata: {{serviceName}}. For more information, view the log.",invalidUrl:"Invalid URL: [{{url}}].",invalidClient:"[{{client}}] is invalid. Enter blank or a value between 000-999.",debugAbapTargetSystem:"An error occurred when retrieving the ABAP target system during {{method}}. Error: {{error}}",debugAbapTargetSystemAuthFound:"HTTP 401 returned. www-authentication method found: {{isFound}}",s4SystemNoExtensible:"SAP S4/HANA system not configured as an extensibility development system. Cannot deploy to it.",incorrectAtoSettings:"Incorrect ATO settings. Package or prefix settings missing.",incorrectCredentials:"Incorrect credentials. Try again.",atoUnauthorisedSystem:"Authentication required to access the ATO Service.",createTransportReqFailed:"Create new transport request failed. Please enter the transport request manually.",requireCredentials:"Please provide credentials to authenticate with the back-end system.",validators:{appNameRequired:"The application name is required. Enter an application name.",appNameInvalid:"The application name is invalid. Check your application name is correct.",appNameInvalidLength:"The application name cannot exceed 15 characters. Entered {{length}}.",appNameInvalidPrefix:"The application name must be prefixed with [{{prefix}}].",abapAppDescLength:"The deployment description must not exceed 60 characters.",abapTransportNumRequired:"Provide a transport request for your application",abapPackageWarn:"Provide a package.",abapPackageInvalidFormat:"The package name does not match the expected format. The expected format is `/<namespace>/<package_name>` or a package name. If a namespace is not specified, the package name must start with '$', 'Z', 'Y', or 'SAP'.",abapPackageStartingPrefix:"The package must start with either a namespace, '$', 'Z', 'Y', or 'SAP'.",abapInvalidNamespaceLength:"The namespace cannot exceed 10 characters. You entered {{length}}.",abapInvalidAppNameLength:"The application name cannot exceed 15 characters. You entered {{length}}.",abapInvalidAppName:"The application name must be prefixed with [{{prefix}}].",charactersForbiddenInAppName:"Only alphanumeric, underscore, and slash characters are allowed.",charactersForbiddenInPackage:"Only alphanumeric, underscore, $, and slash characters are allowed.",invalidNamespace:"The namespace is invalid because there are too many forward slashes.",forbiddenCharacters:"Only alphanumeric, underscore, and slash characters are allowed.",descriptionLength:"Deployment Description must not exceed 60 characters",transportListPreReqs:"Name (SAPUI5 ABAP Repository) and Package are required to retrieve existing transport requests.",abapInvalidAppNameNamespaceOrStartingPrefix:"The SAPUI5 ABAP Repository and Package must start in the same way. Use either a namespace or capital letters: 'Z', 'Y' or 'SAP'.",invalidCloudPackage:"The provided package is not intended for cloud deployment.",invalidOnPremPackage:"The provided package is not intended for on-premise deployments.",unsupportedAdpProjectType:"You cannot deploy a {{adpProjectTypeLabel}} project because the system only supports {{supportedAdpProjectTypesList}} projects.",invalidAdpProjectTypes:"Unable to determine the supported project types.",adpOnPremProjectType:"Classic",adpCloudProjectType:"Cloud Ready"}}};var be="abap-deploy-config-inquirer",Y=ye.default.createInstance();async function H(){await Y.init({lng:"en",fallbackLng:"en",showSupportNotice:!1}),Y.addResourceBundle("en",be,Ce)}a(H,"initI18n");function s(e,t){return t?.ns||(t=Object.assign(t??{},{ns:be})),Y.t(e,t)}a(s,"t");H().catch(()=>{});var o=class e{static{a(this,"PromptState")}static _abapDeployConfig={};static _transportAnswers={transportRequired:!0};static isYUI=!1;static get abapDeployConfig(){return this._abapDeployConfig}static get transportAnswers(){return this._transportAnswers}static set abapDeployConfig(t){this._abapDeployConfig=t}static set transportAnswers(t){this._transportAnswers=t}static resetAbapDeployConfig(){Object.keys(e._abapDeployConfig).forEach(t=>{e._abapDeployConfig[t]=void 0})}static resetTransportAnswers(){Object.keys(e._transportAnswers).forEach(t=>{e._transportAnswers[t]=void 0})}};var re=require("../../open-ux-shared/btp-utils/index.js");var U=require("../../open-ux-shared/btp-utils/index.js"),_e=require("../../open-ux-shared/store/index.js");var v="$TMP",j="REPLACE_WITH_TRANSPORT";var Pe=require("../../open-ux-shared/logger/index.js");var f=class e{static{a(this,"LoggerHelper")}static _logger=new Pe.ToolsLogger({logPrefix:"@sap-ux/abap-deploy-config-inquirer"});static get logger(){return e._logger}static set logger(t){e._logger=t}};var Te=require("../../open-ux-shared/axios-extension/index.js");var Se=require("../../open-ux-shared/btp-utils/index.js");var Ae=require("../../open-ux-shared/system-access/index.js"),$=require("../../open-ux-shared/store/index.js");var ve=require("../../open-ux-shared/nodejs-utils/index.js");var C=class e{static{a(this,"AbapServiceProviderManager")}static abapServiceProvider;static system;static isDefaultProviderAbapCloud;static async getOrCreateServiceProvider(t,r){let i=!1;return process.env.NODE_TLS_REJECT_UNAUTHORIZED==="0"&&(f.logger.warn(s("warnings.allowingUnauthorizedCertsNode")),i=!0,(0,ve.setGlobalRejectUnauthorized)(!1)),this.isExistingServiceProviderValid(t)?this.abapServiceProvider:this.isBackendTargetServiceProviderValid(t)?(this.abapServiceProvider=t?.serviceProvider,await this.setIsDefaultAbapCloud(),this.abapServiceProvider):(this.abapServiceProvider=await this.createNewServiceProvider(r,t,i),await this.setIsDefaultAbapCloud(),this.abapServiceProvider)}static isConnected(){return!!e.abapServiceProvider?.cookies}static getSystemConfig(t){let{url:r,client:i,destination:n}=o.abapDeployConfig??t?.abapTarget??{};return{url:r,client:i,destination:n}}static isExistingServiceProviderValid(t){let r=this.getSystemConfig(t);return this.abapServiceProvider&&G(r,this.system?.url,this.system?.client,this.system?.destination)?(this.system=r,!0):!1}static isBackendTargetServiceProviderValid(t){return t?.serviceProvider&&(G({url:o.abapDeployConfig.url,client:o.abapDeployConfig.client,destination:o.abapDeployConfig.destination},t?.abapTarget.url,t?.abapTarget.client,t?.abapTarget.destination)||!o.abapDeployConfig.url&&!o.abapDeployConfig.destination)?(this.system=t?.abapTarget,!0):!1}static async createNewServiceProvider(t,r,i=!1){let n=this.buildAbapTarget(r),p=this.buildRequestOptions(t,i),l=await(0,Ae.createAbapServiceProvider)(n,p,!1,f.logger);return this.system=this.getSystemConfig(r),l}static buildAbapTarget(t){let r;return(0,Se.isAppStudio)()?r={destination:o.abapDeployConfig.destination??t?.abapTarget.destination}:(r={url:o.abapDeployConfig.url??t?.abapTarget.url,client:o.abapDeployConfig.client??t?.abapTarget.client,scp:o.abapDeployConfig.scp??t?.abapTarget.scp},(o.abapDeployConfig.isAbapCloud??t?.abapTarget.authenticationType===$.AuthenticationType.ReentranceTicket)&&(r.authenticationType=$.AuthenticationType.ReentranceTicket)),r}static buildRequestOptions(t,r=!1){let i;return t?.username&&t?.password&&(i={username:t.username,password:t.password}),{ignoreCertErrors:r,auth:i}}static async setIsDefaultAbapCloud(){this.isDefaultProviderAbapCloud===void 0&&this.abapServiceProvider&&(this.isDefaultProviderAbapCloud=await this.abapServiceProvider?.isAbapCloud())}static getIsDefaultProviderAbapCloud(){return this.isDefaultProviderAbapCloud}static resetIsDefaultProviderAbapCloud(){this.isDefaultProviderAbapCloud=void 0}static deleteExistingServiceProvider(){this.abapServiceProvider=void 0}};async function we(e,t){let r;try{let n=await(await C.getOrCreateServiceProvider(t)).getAdtService(Te.TransportRequestService);n&&(r=await n.createTransportRequest(e))}catch(i){f.logger.debug(s("errors.debugAbapTargetSystem",{method:"createTransportNumberFromService",error:i.message}));return}return r}a(we,"createTransportNumberFromService");var xe=require("../../open-ux-shared/axios-extension/index.js");var ke=require("../../open-ux-shared/inquirer-common/index.js");async function De(e,t){try{let i=await(await C.getOrCreateServiceProvider(t)).getAdtService(xe.ListPackageService);if(i)return await i.listPackages({maxResults:50,phrase:e})}catch(r){if(f.logger.debug(s("errors.debugAbapTargetSystem",{method:"listPackagesFromService",error:r.message})),ke.ErrorHandler.isCertError(r))throw f.logger.warn(s("warnings.certificateError",{url:t?.abapTarget?.url,error:r.message})),r}return[]}a(De,"listPackagesFromService");var Re=require("../../open-ux-shared/axios-extension/index.js"),W=require("../../open-ux-shared/inquirer-common/index.js");var Z=class{static{a(this,"DummyTransportConfig")}getPackage(){}getApplicationPrefix(){}isTransportRequired(){return!1}getDefaultTransport(){}getOperationsType(){}},z=class e{static{a(this,"DefaultTransportConfig")}static S4C_DEFAULT_TRANSPORT="";static S4C_DEFAULT_PACKAGE="TEST_YY1_DEFAULT";getDefaultTransport(){return this.defaultTransport}atoSettings={};defaultTransport=void 0;getPackage(){return this.atoSettings.developmentPackage}getApplicationPrefix(){return this.atoSettings.developmentPrefix}isTransportRequired(){return!!this.atoSettings.isTransportRequestRequired}getOperationsType(){return this.atoSettings?.operationsType}async init({backendTarget:t,credentials:r}){let i={};try{let u=await(await(await C.getOrCreateServiceProvider(t,r)).getAdtService(Re.AtoService))?.getAtoInfo();u&&(i.error=this.handleAtoResponse(u))}catch(p){if(C.deleteExistingServiceProvider(),W.ErrorHandler.isCertError(p))f.logger.warn(s("warnings.certificateError",{url:t?.abapTarget?.url,error:p.message})),f.logger.info(`${new W.ErrorHandler(void 0,void 0,"@sap-ux/abap-deploy-config-inquirer").getValidationErrorHelp(p)?.toString()}`);else if(p.response?.status===401){let l=p.response.headers?.["www-authenticate"];i.transportConfigNeedsCreds=!!l?.toLowerCase()?.startsWith("basic"),f.logger.debug(s("errors.debugAbapTargetSystemAuthFound",{isFound:!!i.transportConfigNeedsCreds}))}else i.transportConfigNeedsCreds=!1;f.logger.debug(s("errors.debugAbapTargetSystem",{method:"init",error:p.message}))}let n=!i.error&&!i.transportConfigNeedsCreds;return i.transportConfig=n?this:this.getDummyConfig(),i}handleAtoResponse(t){let r=!1;if(this.atoSettings=t,this.atoSettings.isConfigured&&this.atoSettings.tenantType==="CUSTOMER"&&this.atoSettings.operationsType==="C"){if(!this.atoSettings.isExtensibilityDevelopmentSystem)return s("errors.s4SystemNoExtensible");if(!this.atoSettings.developmentPrefix)return s("errors.incorrectAtoSettings");r=!0,this.applyS4CDefaults()}r||(this.atoSettings={operationsType:this.atoSettings.operationsType})}applyS4CDefaults(){this.defaultTransport=e.S4C_DEFAULT_TRANSPORT,this.atoSettings.isTransportRequestRequired=!1,this.atoSettings.developmentPackage=e.S4C_DEFAULT_PACKAGE}getDummyConfig(){let t=new Z;return t.getOperationsType=this.getOperationsType,t}};async function Ee({backendTarget:e,credentials:t}){return new z().init({backendTarget:e,credentials:t})}a(Ee,"getTransportConfigInstance");var X=require("../../open-ux-shared/axios-extension/index.js");var Ie=require("../../open-ux-shared/inquirer-common/index.js");async function E(e,t,r){let i;try{let l=await(await(await C.getOrCreateServiceProvider(r)).getAdtService(X.TransportChecksService))?.getTransportRequests(e,t);l&&(i=l.map(u=>({transportReqNumber:u.transportNumber,transportReqDescription:u.description})))}catch(n){if(n.message===X.TransportChecksService.LocalPackageError&&(o.transportAnswers.transportRequired=!1),f.logger.debug(s("errors.debugAbapTargetSystem",{method:"getTransportListFromService",error:n.message})),Ie.ErrorHandler.isCertError(n))throw f.logger.warn(s("warnings.certificateError",{url:r?.abapTarget?.url,error:n.message})),n;return}return i}a(E,"getTransportListFromService");var Ue=a(e=>({name:e.transportReqDescription?`${e.transportReqNumber} (${e.transportReqDescription})`:`${e.transportReqNumber}`,value:e.transportReqNumber}),"transportName");var h;(function(e){e.Url="Url"})(h||(h={}));var b;(function(e){e.Base="base",e.New="new",e.Blank="blank"})(b||(b={}));var g;(function(e){e.destination="destination",e.destinationCliSetter="destinationCliSetter",e.targetSystem="targetSystem",e.targetSystemCliSetter="targetSystemCliSetter",e.url="url",e.scp="scp",e.scpSetter="scpSetter",e.clientChoice="clientChoice",e.clientChoiceCliSetter="clientChoiceCliSetter",e.client="client",e.username="username",e.password="password",e.ui5AbapRepo="ui5AbapRepo",e.description="description",e.packageInputChoice="packageInputChoice",e.packageCliExecution="packageCliExecution",e.packageManual="packageManual",e.packageAutocomplete="packageAutocomplete",e.transportInputChoice="transportInputChoice",e.transportCliExecution="transportCliExecution",e.transportCreated="transportCreated",e.transportFromList="transportFromList",e.transportManual="transportManual",e.index="index",e.overwriteAbapConfig="overwriteAbapConfig"})(g||(g={}));var y;(function(e){e.EnterManualChoice="EnterManualChoice",e.ListExistingChoice="ListExistingChoice"})(y||(y={}));var m;(function(e){e.EnterManualChoice="EnterManualChoice",e.ListExistingChoice="ListExistingChoice",e.CreateNewChoice="CreateNewChoice",e.CreateDuringDeployChoice="CreateDuringDeployChoice"})(m||(m={}));function Le(e){return!e||!/\S/.test(e)}a(Le,"isEmptyString");function I(e){try{let t=new URL(e);return!!t.protocol&&!!t.host}catch{return!1}}a(I,"isValidUrl");function Ne(e){return!!/^\d{3}$/.exec(e)}a(Ne,"isValidClient");async function qe(e,t,r){return!t.url&&!t.destination?[]:De(e,r)}a(qe,"listPackages");function $t(e,t){let r=e?e.trim().length:0;if(!r)return s("errors.validators.appNameRequired");if(e.split("/").length>3)return s("errors.validators.invalidNamespace");if(/^\/.*\/\w*$/g.test(e)){let i=e.split("/"),n="";if(i[1].length>10){let p=s("errors.validators.abapInvalidNamespaceLength",{length:i[1].length});n+=`${p}, `}if(i[2].length>15){let p=s("errors.validators.abapInvalidAppNameLength",{length:i[2].length});n+=`${p}, `}if(n)return n=n.substring(0,n.length-2),n}else if(r>15)return s("errors.validators.abapInvalidAppNameLength",{length:r});return t&&!e.toUpperCase().startsWith(t.toUpperCase())?s("errors.validators.abapInvalidAppName",{prefix:t}):/^[A-Za-z0-9_/]*$/.test(e)?!0:s("errors.validators.charactersForbiddenInAppName")}a($t,"validateAppName");function Oe(e){let t=o.transportAnswers.transportConfig?.getApplicationPrefix(),r=$t(e,t),i;return r===!0&&(i={valid:!0,errorMessage:void 0}),typeof r=="string"&&(i={valid:!1,errorMessage:r}),i}a(Oe,"isAppNameValid");async function J(e,t,r,i){if(!r.url&&!r.destination)return;let n=await E(e,t,i);return n?.length===1&&n[0].transportReqNumber===""?[]:n}a(J,"getTransportList");async function Me(e,t,r){if(!(!t.url&&!t.destination))return we(e,r)}a(Me,"createTransportNumber");var Gt={},Fe=[];async function Ve(){let e,t;return(0,U.isAppStudio)()?(e=await(0,U.listDestinations)({stripS4HCApiHosts:!0}),Gt=e):(t=await(await(0,_e.getService)({logger:f.logger,entityName:"system"}))?.getAll({includeSensitiveData:!1,backendSystemFilter:{connectionType:["abap_catalog","odata_service"]}}),Fe=t),{destinations:e,backendSystems:t}}a(Ve,"getAbapSystems");function L(e){return Fe?.find(t=>t.url===e)}a(L,"findBackendSystemByUrl");function G(e,t,r,i){return!!(e?.url&&e.url.trim()?.replace(/\/$/,"")===t?.trim()?.replace(/\/$/,"")&&e.client===r||e?.destination&&i===e?.destination)}a(G,"isSameSystem");async function N({backendTarget:e,url:t,destination:r,credentials:i,errorHandler:n}){let p={};if(!t&&!r)return p;try{p=await Ee({backendTarget:e,credentials:i})}catch(l){p.error=l}return p.error&&(n(p.error),f.logger.debug(s("errors.debugAbapTargetSystem",{method:"initTransportConfig",error:p.error}))),p}a(N,"initTransportConfig");async function q(e,t,r){let i=(e??"").toUpperCase();return qe(i,t,r)}a(q,"queryPackages");function T(e,t){return t??(e?.packageInputChoice===y.ListExistingChoice?e?.packageAutocomplete??"":e?.packageManual??"")}a(T,"getPackageAnswer");function ee(e){return e?.transportManual||e?.transportFromList||e?.transportCreated||(e?.transportInputChoice===m.CreateDuringDeployChoice?j:"")}a(ee,"getTransportAnswer");function Be(e){return e===j}a(Be,"useCreateTrDuringDeploy");function Kt(e,t){let r=e.url;return t&&(r=t),r}a(Kt,"getUrlAnswer");function te(e,t){e=Object.assign(e,t);let r={url:Kt(e,t.url),package:T(e,t.package)};e.destination&&(r.destination=e.destination),e.targetSystem&&e.targetSystem!==h.Url&&(r.url=e.targetSystem),e.connectPath!==void 0&&(r.connectPath=e.connectPath),(e.client||t.client)&&(r.client=e.client||t.client),(e.scp||t.scp)&&(r.scp=!0),e.ui5AbapRepo&&(r.ui5AbapRepo=e.ui5AbapRepo),e.description&&(r.description=e.description);let i=ee(e);return i&&(r.transport=i),e.index!==void 0&&(r.index=e.index),e.overwrite!==void 0&&(r.overwrite=e.overwrite),r}a(te,"reconcileAnswers");function w(e,t,r){let i=e?r?.abapTarget:t;return{url:i?.url,client:i?.client,destination:i?.destination}}a(w,"getSystemConfig");function Wt(e){throw new Error(e)}a(Wt,"bail");function O(e){o.isYUI?(o.transportAnswers.transportConfigError=e,f.logger.debug(e)):Wt(e)}a(O,"handleTransportConfigError");function ae(e){return e===h.Url}a(ae,"showUrlQuestion");function Qe(e){if(!(0,re.isAppStudio)()&&!e.targetSystem||ae(e.targetSystem)&&e.url?.length===0)return!1;let t=!1;return e.url&&e.url.length>0&&(L(e.targetSystem??e.url)||(t=!0)),t}a(Qe,"showScpQuestion");function Ye(e){return!(0,re.isAppStudio)()&&!o.abapDeployConfig?.isAbapCloud&&!e&&!o.abapDeployConfig?.scp}a(Ye,"showClientCondition");function He(e,t){return o.isYUI||!t?!1:Ye(e?.scp)&&e?.targetSystem===h.Url}a(He,"showClientChoiceQuestion");function je(e){let t=Ye(e?.scp),r=e?.targetSystem===h.Url,i=o.isYUI?r:e?.clientChoice===b.New||r;return(o.isYUI?r:!1)&&t||i&&t}a(je,"showClientQuestion");async function $e(e){let{transportConfig:t,transportConfigNeedsCreds:r}=await N({backendTarget:e,url:o.abapDeployConfig.url,client:o.abapDeployConfig.client,destination:o.abapDeployConfig.destination,errorHandler:a(i=>{O(i)},"errorHandler")});return o.transportAnswers.transportConfig=t,o.transportAnswers.transportConfigNeedsCreds=r??!1,r&&f.logger.info(s("errors.atoUnauthorisedSystem")),o.transportAnswers.transportConfigNeedsCreds}a($e,"showUsernameQuestion");function Ge(){return!!o.transportAnswers.transportConfigNeedsCreds}a(Ge,"showPasswordQuestion");function ie(e){return!e?.hide&&e?.hideIfOnPremise&&!o.abapDeployConfig?.scp?!1:!o.transportAnswers.transportConfigNeedsCreds}a(ie,"showUi5AppDeployConfigQuestion");function oe(){return o.transportAnswers?.transportConfig?.getPackage()?(o.abapDeployConfig.package=o.transportAnswers.transportConfig.getPackage(),!1):!o.transportAnswers?.transportConfigError&&!o.transportAnswers?.transportConfigNeedsCreds}a(oe,"defaultOrShowPackageQuestion");function Ke(e=!1){return e?(!o.isYUI||o.isYUI&&e)&&oe():!1}a(Ke,"showPackageInputChoiceQuestion");function We(e,t=!1){return t?e===y.EnterManualChoice&&oe():!1}a(We,"defaultOrShowManualPackageQuestion");function Ze(e,t=!1){return t?e===y.ListExistingChoice&&oe():!1}a(Ze,"defaultOrShowSearchPackageQuestion");function M(){return o.transportAnswers.transportRequired===!1?!1:o.transportAnswers.transportConfig?.getDefaultTransport()!==void 0?(o.abapDeployConfig.transport=o.transportAnswers.transportConfig.getDefaultTransport(),!1):!o.transportAnswers.transportConfigError&&!o.transportAnswers.transportConfigNeedsCreds}a(M,"defaultOrShowTransportQuestion");function ze(e){return e?.hideIfOnPremise&&!o.abapDeployConfig?.scp?!1:M()}a(ze,"showTransportInputChoice");function Zt(e){return!e||e.length===0}a(Zt,"isTransportListEmpty");function Xe(e,t){return M()?e===m.ListExistingChoice&&!Zt(o.transportAnswers.transportList)&&!t?.hideIfOnPremise:!1}a(Xe,"defaultOrShowTransportListQuestion");function Je(e){return M()?e===m.CreateNewChoice&&!!o.transportAnswers.newTransportNumber:!1}a(Je,"defaultOrShowTransportCreatedQuestion");function et(e,t){return M()&&(e===m.EnterManualChoice||!!t?.hideIfOnPremise)}a(et,"defaultOrShowManualTransportQuestion");function tt(e){return!!(e.index?.indexGenerationAllowed&&!o.abapDeployConfig.index)&&!o.transportAnswers.transportConfigError&&e.backendTarget?.type!=="library"}a(tt,"showIndexQuestion");var S=require("../../open-ux-shared/axios-extension/index.js"),_=require("../../open-ux-shared/btp-utils/index.js"),k=require("../../open-ux-shared/inquirer-common/index.js"),it=require("../../open-ux-shared/store/index.js");var zt=["$","Z","Y","SAP"];async function ot(e,t,r,i){return o.resetAbapDeployConfig(),se(e,t),e?.trim()?i?Xt(i,r):!0:!1}a(ot,"validateDestinationQuestion");async function Xt(e,t){let r=await fe(e,t);return typeof r=="string"?r:!0}a(Xt,"validateAdpDestinationQuestion");function ne({url:e,connectPath:t,client:r,isAbapCloud:i,scp:n,target:p}){o.abapDeployConfig.url=e,o.abapDeployConfig.connectPath=t,o.abapDeployConfig.client=r,o.abapDeployConfig.isAbapCloud=i,o.abapDeployConfig.scp=n,o.abapDeployConfig.targetSystem=p}a(ne,"updatePromptState");function se(e,t={}){let r=t[e];r&&(o.abapDeployConfig.destination=r.Name,ne({url:r?.Host,client:r["sap-client"],isAbapCloud:(0,_.isS4HC)(r),scp:(0,_.isAbapEnvironmentOnBtp)(r)}))}a(se,"updateDestinationPromptState");async function pe(e,t,r,i){if(o.resetAbapDeployConfig(),!e||e===h.Url)return!0;let n=e?.trim(),p=I(n),l=t?.find(u=>u.value===e);if(p&&l){let u=new URL(l.value),c=u.origin,d=u.pathname==="/"?void 0:u.pathname;ne({url:c,connectPath:d,client:l.client??"",scp:l.scp,isAbapCloud:l.isAbapCloud,target:e})}return i?Jt(n,i,r):p||s("errors.invalidUrl",{url:n})}a(pe,"validateTargetSystem");async function Jt(e,t,r){if(!I(e))return s("errors.invalidUrl",{url:e});let n=await fe(t,r);return typeof n=="string"?n:!0}a(Jt,"validateAdpTargetSystem");function nt(e){if(o.resetAbapDeployConfig(),Le(e))return!1;if(I(e?.trim())){let r=L(e);ne({url:e.trim(),client:r?.client,scp:!!r?.serviceKeys,isAbapCloud:r?.authenticationType===it.AuthenticationType.ReentranceTicket})}else return s("errors.invalidUrl",{url:e?.trim()});return!0}a(nt,"validateUrl");async function st(e,t,r,i){if(o.isYUI)return;let n=await pe(e,t,r,i);if(typeof n=="string")throw new Error(n)}a(st,"validateTargetSystemUrlCli");function ce(e,t){switch(e){case b.Base:o.abapDeployConfig.client=o.abapDeployConfig?.client??t;break;case b.Blank:delete o.abapDeployConfig.client;break;case b.New:default:break}return!0}a(ce,"validateClientChoiceQuestion");function pt(e){if(!e)return!0;let t=String(e),r=Ne(t);return r?(o.abapDeployConfig.client=t,r):(delete o.abapDeployConfig.client,s("errors.invalidClient",{client:e}))}a(pt,"validateClient");async function ct(e,t,r,i){if(!e||!t.username)return s("errors.requireCredentials");let n={username:t.username,password:e},{transportConfigNeedsCreds:p}=await N({backendTarget:r,url:o.abapDeployConfig.url,client:o.abapDeployConfig.client,credentials:n,errorHandler:a(l=>{O(l)},"errorHandler")});return o.transportAnswers.transportConfigNeedsCreds=p??!1,i?er({transportConfigNeedsCreds:p,adpProjectType:i,backendTarget:r,credentials:n}):p?s("errors.incorrectCredentials"):!0}a(ct,"validateCredentials");async function er({transportConfigNeedsCreds:e,adpProjectType:t,backendTarget:r,credentials:i}){let n=await fe(t,r,i);return typeof n=="string"?n:e?s("errors.incorrectCredentials"):!0}a(er,"validateAdpCredentials");function ut(e){if(o.transportAnswers.transportConfigError)return s("errors.targetNotDeployable",{systemError:o.transportAnswers.transportConfigError});let t=Oe(e);return t?.valid?t.valid:t?.errorMessage??s("errors.validators.appNameInvalid")}a(ut,"validateUi5AbapRepoName");function lt(e){return e?.length>60?s("errors.validators.descriptionLength"):!0}a(lt,"validateAppDescription");async function ue(e,t,r){if(e===y.ListExistingChoice){let i;try{let n=await q("",t,r);return n&&n.length>0?!0:s("warnings.packageNotFound")}catch(n){if(k.ErrorHandler.isCertError(n))return i=new k.ErrorHandler(void 0,void 0,"@sap-ux/abap-deploy-config-inquirer").getValidationErrorHelp(n),i??!0;throw n}}return!0}a(ue,"validatePackageChoiceInput");async function gt(e,t,r){if(t){let i=await ue(t,e,r);if(i!==!0)throw new Error(i)}}a(gt,"validatePackageChoiceInputForCli");function tr(e){return/^\/.*\/\w*$/g.test(e)?`/${e.split("/")[1]}/`:e.startsWith("SAP")?"SAP":e[0]}a(tr,"getPackageStartingPrefix");async function rr({packageAnswer:e,systemConfig:t,input:r,previousAnswers:i,validateInputChanged:n,prevTransportInputChoice:p,backendTarget:l,ui5AbapRepoName:u,transportDescription:c}){if(n){if(r===p)return!0;if(!p){let P=await J(e,i?.ui5AbapRepo??u??"",t,l);if(P?.[0])return o.transportAnswers.newTransportNumber=P[0].transportReqNumber,!0}}let d=c??`For ABAP repository ${i?.ui5AbapRepo?.toUpperCase()}, created by SAP Fiori Tools`;return o.transportAnswers.newTransportNumber=await Me({packageName:T(i,o.abapDeployConfig.package),ui5AppName:i?.ui5AbapRepo??"",description:d.length>60?d.slice(0,57)+"...":d},t,l),o.transportAnswers.newTransportNumber?!0:s("errors.createTransportReqFailed")}a(rr,"handleCreateNewTransportChoice");async function ar(e,t,r,i,n){return!e||!r?.ui5AbapRepo&&!n?s("errors.validators.transportListPreReqs"):(o.transportAnswers.transportList=await J(e,r?.ui5AbapRepo??n??"",t,i),o.transportAnswers.transportList?o.transportAnswers.transportList.length>0?!0:s("warnings.noTransportReqs"):s("warnings.noExistingTransportReqList"))}a(ar,"handleListExistingTransportChoice");async function le({useStandalone:e,input:t,previousAnswers:r,validateInputChanged:i,prevTransportInputChoice:n,backendTarget:p,ui5AbapRepoName:l,transportDescription:u}){let c=T(r,o.abapDeployConfig.package),d=w(e,o.abapDeployConfig,p);if(t===m.ListExistingChoice)try{return await ar(c,d,r,p,l)}catch(P){if(k.ErrorHandler.isCertError(P))return new k.ErrorHandler(void 0,void 0,"@sap-ux/abap-deploy-config-inquirer").getValidationErrorHelp(P)??!0}else if(t===m.CreateNewChoice)return await rr({packageAnswer:c,systemConfig:d,input:t,previousAnswers:r,validateInputChanged:i,prevTransportInputChoice:n,backendTarget:p,ui5AbapRepoName:l,transportDescription:u});return!0}a(le,"validateTransportChoiceInput");function ft(e){return o.transportAnswers.transportRequired&&!e?.trim()?s("prompts.config.transport.common.provideTransportRequest"):!0}a(ft,"validateTransportQuestion");function dt(e){return o.abapDeployConfig.abort=!e,!0}a(dt,"validateConfirmQuestion");async function ir(e,t,r){try{if(r===S.AdaptationProjectType.ON_PREMISE)return f.logger.debug(`Project is OnPremise, skipping package "${e}" type validation`),!0;let{adaptationProjectTypes:i}=await mt(e,t);return i.length>1||i[0]===S.AdaptationProjectType.CLOUD_READY?!0:s("errors.validators.invalidCloudPackage")}catch(i){return(0,S.isAxiosError)(i)&&i.response?.status===404?!0:s("errors.validators.invalidCloudPackage")}}a(ir,"validatePackageType");async function ge(e,t,r,i,n,p,l){if(o.transportAnswers.transportRequired=!0,!e?.trim())return s("warnings.providePackage");if(e===v&&(o.transportAnswers.transportRequired=!1,!r?.additionalValidation||r?.additionalValidation?.shouldValidatePackageForStartingPrefix===!1&&r?.additionalValidation?.shouldValidatePackageType===!1))return!0;let u=nr(e,r);if(typeof u=="string")return u;if(p||!o.abapDeployConfig.scp||o.abapDeployConfig.scp&&C.isConnected())try{await E(e.toUpperCase(),t.ui5AbapRepo??"",n)}catch(d){f.logger.warn(`An error occurred while validating the local package for package: ${d.message}`)}let c=or(e,t,r,i);return typeof c=="string"?c:r?.additionalValidation?.shouldValidatePackageType?await ir(e,n,l):!0}a(ge,"validatePackage");function or(e,t,r,i){if(sr(t,r,i)){let n=tr(e);if(!e.startsWith("/")&&!zt.find(p=>p===n))return s("errors.validators.abapPackageStartingPrefix");if(!t.ui5AbapRepo?.startsWith(n))return s("errors.validators.abapInvalidAppNameNamespaceOrStartingPrefix")}return!0}a(or,"validatePackageStartingPrefix");function nr(e,t){if(t?.additionalValidation?.shouldValidateFormatAndSpecialCharacters){if(!/^[A-Za-z0-9$_/]*$/.test(e))return s("errors.validators.charactersForbiddenInPackage");if(!/^(?:\/\w+\/)?[$]?\w*$/.test(e))return s("errors.validators.abapPackageInvalidFormat")}return!0}a(nr,"validatePackageFormatAndSpecialCharacters");function sr(e,t,r){return!!(e.ui5AbapRepo&&t?.additionalValidation?.shouldValidatePackageForStartingPrefix&&!r?.hide&&!(r?.hideIfOnPremise&&o.abapDeployConfig?.scp===!1))}a(sr,"shouldValidatePackageForStartingPrefix");async function fe(e,t,r){try{let{adaptationProjectTypes:i}=await mt(void 0,t,r);return i.length?i.includes(e)?!0:at(e,i):s("errors.validators.invalidAdpProjectTypes")}catch(i){if(!(0,S.isAxiosError)(i))return i.message;let n=i.response?.status;return n===401||n===403?!0:n===404?e===S.AdaptationProjectType.ON_PREMISE?!0:at(e,[S.AdaptationProjectType.ON_PREMISE]):i.message}}a(fe,"validateSystemSupportAdpProjectType");async function mt(e,t,r){return(await C.getOrCreateServiceProvider(t,r)).getLayeredRepository().getSystemInfo(void 0,e)}a(mt,"getSystemInfo");var rt=a(e=>e===S.AdaptationProjectType.CLOUD_READY?s("errors.validators.adpCloudProjectType"):s("errors.validators.adpOnPremProjectType"),"toAdpProjectTypeLabel");function at(e,t){let r=rt(e),i=t.map(rt).join(",");return s("errors.validators.unsupportedAdpProjectType",{adpProjectTypeLabel:r,supportedAdpProjectTypesList:i})}a(at,"getUnsupportedAdpProjectTypeErrorText");var V=require("../../open-ux-shared/btp-utils/index.js");var F=require("../../open-ux-shared/store/index.js"),D=require("../../fiori-generator-shared/dist/index.js");function ht(e){return e.trim().replace(/\/$/,"")}a(ht,"normalizeUrl");function pr(e){try{return e.connectPath?new URL(e.connectPath,e.url).href:e.url}catch{return e.url}}a(pr,"resolveTargetUrl");function cr(e={}){return Object.values(e).sort((r,i)=>r.Name.localeCompare(i.Name,void 0,{numeric:!0,caseFirst:"lower"})).map(r=>({name:`${(0,V.getDisplayName)(r)} - ${r.Host}`,value:r.Name,scp:(0,V.isAbapEnvironmentOnBtp)(r),url:r.Host}))}a(cr,"getDestinationChoices");async function ur(e,t=[]){let r=[{name:s("choices.targetSystemUrl"),value:h.Url}],i=e?.abapTarget,n=i?pr(i):void 0,p=[...t].sort((c,d)=>c.name.localeCompare(d.name,void 0,{numeric:!0,caseFirst:"lower"})),l=n?p.find(c=>ht(c.url)===ht(n)&&(c.client??"")===(i?.client??"")):void 0,u=p.map(c=>{let d=c===l;return{name:d?`${(0,D.getBackendSystemDisplayName)(c)} (Source system)`:(0,D.getBackendSystemDisplayName)(c)??"",value:c.url,isDefault:d,scp:!!c.serviceKeys,isAbapCloud:c.authenticationType===F.AuthenticationType.ReentranceTicket,client:c.client}});if(r.push(...u),!l&&n&&i&&e?.systemName){let c=await e.serviceProvider?.user(),d=i.scp||i.authenticationType===F.AuthenticationType.ReentranceTicket;r.splice(1,0,{name:`${(0,D.getSystemDisplayName)(e.systemName,c,d?"ABAPCloud":void 0)} (Source system)`,value:n,isDefault:!0,scp:i.scp,isAbapCloud:i.authenticationType===F.AuthenticationType.ReentranceTicket,client:i.client})}return r}a(ur,"getBackendTargetChoices");async function Ct(e,t,r){let i=[];try{e?i=cr(e):r&&(i=await ur(t,r))}catch{f.logger.error(s("errors.abapSystemChoices"))}return i}a(Ct,"getAbapSystemChoices");function yt(e){return[{name:s("choices.clientChoice.existing",{client:e}),value:b.Base},{name:s("choices.clientChoice.new"),value:b.New},{name:s("choices.clientChoice.blank"),value:b.Blank}]}a(yt,"getClientChoicePromptChoices");function bt(){let e={name:s("choices.transport.enterManually"),value:y.EnterManualChoice},t={name:s("choices.common.listExisting"),value:y.ListExistingChoice};return[e,t]}a(bt,"getPackageInputChoices");function Pt(e=!0){let t={name:s("choices.transport.enterManually"),value:m.EnterManualChoice},r={name:s("choices.common.listExisting"),value:m.ListExistingChoice},i={name:s("choices.transport.createDuringDeploy"),value:m.CreateDuringDeployChoice},n={name:s("choices.transport.createNew"),value:m.CreateNewChoice};return[t,r,...e?[i]:[],n]}a(Pt,"getTransportChoices");function St(e,t,r){let i;e.destination&&t&&(i=t[e.destination]?.Host);let n;if(e?.targetSystem&&e.targetSystem!==h.Url)try{n=new URL(e.targetSystem).origin}catch{n=e.targetSystem}o.abapDeployConfig.url=i??n??r?.abapTarget.url??""}a(St,"updatePromptStateUrl");async function At(e,t,r,i,n){let p,l="";if((e||t)&&(p=await q(t,r,n),l=p?.length===50?s("prompts.config.package.packageAutocomplete.sourceMessage",{numResults:p.length}):l,i.packageAutocomplete)){let u=p.indexOf(i.packageAutocomplete);u!==-1&&p.splice(0,0,p.splice(u,1)[0])}return{packages:p??[],morePackageResultsMsg:l}}a(At,"getPackageChoices");function lr(e,t){return[...new Set([...Object.keys(e),...Object.keys(t)])].filter(i=>e[i]!==t[i])}a(lr,"getKeysWithDifferentValues");function R(e,t){if(Object.keys(e).length===0)return!0;let r=lr(e,t);return!(r.length===0||r.length===1&&r[0]===g.description)}a(R,"shouldRunValidation");function vt(e){let t,r=e?.find(i=>i.isDefault===!0);return r&&(t=r.value),t}a(vt,"defaultTargetSystem");function Tt(e){return e===h.Url?"":o.abapDeployConfig.url??""}a(Tt,"defaultUrl");function wt(e){return e??y.EnterManualChoice}a(wt,"defaultPackageChoice");function xt(e,t){if(o.abapDeployConfig.scp)return e||"";{let r="";return o.transportAnswers.transportConfig?.getOperationsType()==="P"&&(!t?.additionalValidation||t?.additionalValidation?.shouldValidatePackageType===!1||t?.additionalValidation?.shouldValidatePackageForStartingPrefix===!1)&&(r=v),e||r}}a(xt,"defaultPackage");function kt(e,t=!1){return e||(t?m.CreateDuringDeployChoice:m.EnterManualChoice)}a(kt,"defaultTransportRequestChoice");function Dt(e){return e&&e>1?void 0:0}a(Dt,"defaultTransportListChoice");var de=require("../../commonlibs/yeoman-ui-types/index.js"),A=require("../../open-ux-shared/btp-utils/index.js");function gr(e,t,r,i){let n=[{when:a(()=>(0,A.isAppStudio)(),"when"),type:"list",name:g.destination,message:s("prompts.target.destination.message"),guiOptions:{mandatory:!0,breadcrumb:!0},default:a(()=>r?.abapTarget?.destination,"default"),filter:a(p=>p?.trim(),"filter"),choices:a(()=>e,"choices"),validate:a(async p=>await ot(p,t,r,i),"validate"),additionalMessages:a(p=>{if(t&&p){if((0,A.isFullUrlDestination)(t[p]))return{message:s("warnings.fullUrlDestination"),severity:de.Severity.warning};if((0,A.isOnPremiseDestination)(t[p]))return{message:s("warnings.virtualHost"),severity:de.Severity.information}}},"additionalMessages")}];return(0,A.isAppStudio)()&&!o.isYUI&&n.push({when:a(p=>{let l=p[g.destination];return l&&se(l,t),!1},"when"),name:g.destinationCliSetter}),n}a(gr,"getDestinationPrompt");function fr(e,t,r){let i=[{when:a(()=>!(0,A.isAppStudio)(),"when"),type:"list",name:g.targetSystem,message:s("prompts.target.targetSystem.message"),guiOptions:{mandatory:!0,breadcrumb:s("prompts.target.targetSystem.breadcrumb")},choices:a(()=>e,"choices"),default:a(()=>vt(e),"default"),validate:a(n=>pe(n,e,t,r),"validate")}];return!(0,A.isAppStudio)()&&!o.isYUI&&i.push({when:a(async n=>{let p=n[g.targetSystem];return p&&await st(p,e,t,r),!1},"when"),name:g.targetSystemCliSetter}),i}a(fr,"getTargetSystemPrompt");function dr(e,t){return{when:a(r=>{let i=ae(r.targetSystem);return St(r,e,t),i},"when"),type:"input",name:g.url,message:s("prompts.target.url.message"),guiOptions:{mandatory:!0,breadcrumb:!0},default:a(({targetSystem:r})=>Tt(r),"default"),filter:a(r=>r?.trim(),"filter"),validate:a(r=>nt(r),"validate")}}a(dr,"getUrlPrompt");function mr(e){let t=[{when:a(r=>Qe(r),"when"),type:"confirm",name:g.scp,message:s("prompts.target.scp.message"),guiOptions:{breadcrumb:s("prompts.target.scp.breadcrumb")},default:a(()=>e?.abapTarget?.scp,"default")}];return t.push({when:a(r=>{let i=r[g.scp],n=r[g.targetSystem];return i&&n===h.Url?o.abapDeployConfig.scp=!0:!i&&n===h.Url&&(o.abapDeployConfig.scp=!1),!1},"when"),name:g.scpSetter}),t}a(mr,"getScpPrompt");function hr(e){let t=[{when:a(r=>He(r,e?.abapTarget?.client),"when"),type:"list",name:g.clientChoice,message:s("prompts.target.clientChoice.message"),guiOptions:{applyDefaultWhenDirty:!0},choices:a(()=>yt(e?.abapTarget?.client),"choices"),default:a(()=>e?.abapTarget.client?b.Base:b.Blank,"default"),validate:a(r=>ce(r,e?.abapTarget?.client),"validate")}];return o.isYUI||t.push({when:a(r=>{let i=r[g.clientChoice];return i&&ce(i,e?.abapTarget?.client),!1},"when"),name:g.clientChoiceCliSetter}),t}a(hr,"getClientChoicePrompt");function Cr(){return{when:a(e=>je(e),"when"),type:"input",name:g.client,message:s("prompts.target.client.message"),guiOptions:{breadcrumb:s("prompts.target.client.breadcrumb")},default:a(()=>o.abapDeployConfig?.client,"default"),filter:a(e=>e?.trim(),"filter"),validate:a(e=>pt(e),"validate")}}a(Cr,"getClientPrompt");async function Rt(e){let{destinations:t,backendSystems:r}=await Ve(),i=await Ct(t,e?.backendTarget,r);return[...gr(i,t,e.backendTarget,e.adpProjectType),...fr(i,e.backendTarget,e.adpProjectType),dr(t,e.backendTarget),...mr(e.backendTarget),...hr(e.backendTarget),Cr()]}a(Rt,"getAbapTargetPrompts");function yr(e){return{when:a(()=>$e(e.backendTarget),"when"),type:"input",name:g.username,message:s("prompts.auth.username.message"),guiOptions:{mandatory:!0}}}a(yr,"getUsernamePrompt");function br(e){return{when:a(()=>Ge(),"when"),type:"password",name:g.password,message:s("prompts.auth.password.message"),mask:"*",guiOptions:{type:"login",mandatory:!0},validate:a(async(t,r)=>await ct(t,r,e.backendTarget,e.adpProjectType),"validate")}}a(br,"getPasswordPrompt");function Et(e){return[yr(e),br(e)]}a(Et,"getAuthPrompts");function Pr(e){return{when:a(()=>ie(e.ui5AbapRepo),"when"),type:"input",name:g.ui5AbapRepo,message:a(()=>o.transportAnswers.transportConfig?.getApplicationPrefix()?s("prompts.config.app.ui5AbapRepo.messageMaxLength",{applicationPrefix:o.transportAnswers.transportConfig?.getApplicationPrefix()}):s("prompts.config.app.ui5AbapRepo.message"),"message"),guiOptions:{hint:s("prompts.config.app.ui5AbapRepo.hint"),mandatory:!0,breadcrumb:s("prompts.config.app.ui5AbapRepo.message")},default:a(t=>t.ui5AbapRepo||e.ui5AbapRepo?.default,"default"),validate:a(t=>ut(t),"validate"),filter:a(t=>o.isYUI?t?.trim():t?.trim()?.toUpperCase(),"filter")}}a(Pr,"getUi5AbapRepoPrompt");function Sr(e){return{when:a(()=>ie(e.ui5AbapRepo),"when"),type:"input",name:g.description,message:s("prompts.config.app.description.message"),guiOptions:{hint:s("prompts.config.app.description.hint"),breadcrumb:!0},default:a(t=>t.description||e.description?.default,"default"),filter:a(t=>t?.trim(),"filter"),validate:a(t=>lt(t),"validate")}}a(Sr,"getDescriptionPrompt");function It(e){return[Pr(e),Sr(e)]}a(It,"getAppConfigPrompts");var Ut=require("../../commonlibs/yeoman-ui-types/index.js");function B(e,t=!0,r=!1){let i,n="",p={},l=!1;return o.isYUI=r,[{when:a(()=>Ke(e?.packageAutocomplete?.useAutocomplete),"when"),type:"list",name:g.packageInputChoice,message:s("prompts.config.package.packageInputChoice.message"),guiOptions:{applyDefaultWhenDirty:!0},choices:a(()=>bt(),"choices"),default:a(c=>wt(c.packageInputChoice),"default"),validate:a(async c=>(i=await ue(c,w(t,o.abapDeployConfig,e.backendTarget),e.backendTarget),i),"validate")},{when:a(async c=>(o.isYUI||(await gt(w(t,o.abapDeployConfig,e.backendTarget),c.packageInputChoice,e.backendTarget),i=!0),!1),"when"),type:"input",name:g.packageCliExecution},{when:a(c=>We(c.packageInputChoice,e?.packageAutocomplete?.useAutocomplete),"when"),type:"input",name:g.packageManual,message:s("prompts.config.package.packageManual.message"),guiOptions:{hint:s("prompts.config.package.packageManual.hint"),mandatory:!0,breadcrumb:!0},default:a(c=>xt(c.packageManual||e.packageManual?.default,e?.packageManual),"default"),validate:a(async(c,d)=>(R(p,d)&&(l=await ge(c,d,e.packageManual,e.ui5AbapRepo,e.backendTarget,void 0,e.adpProjectType)),p=d,l),"validate"),additionalMessages:a(c=>{if(c===v.toLowerCase())return{message:s("warnings.packageTmpLowercase"),severity:Ut.Severity.warning}},"additionalMessages")},{when:a(c=>i===!0&&Ze(c.packageInputChoice,e?.packageAutocomplete?.useAutocomplete),"when"),type:"autocomplete",name:g.packageAutocomplete,message:`${s("prompts.config.package.packageAutocomplete.message")}${o.isYUI?"":s("prompts.config.package.packageAutocomplete.messageTypeFilter")}`,guiOptions:{hint:s("prompts.config.package.packageAutocomplete.hint"),mandatory:!0,breadcrumb:!0},source:a(async(c,d)=>{let P=await At(!o.isYUI,d,w(t,o.abapDeployConfig,e.backendTarget),c,e.backendTarget);return n=P.morePackageResultsMsg,P.packages},"source"),additionalInfo:a(()=>n,"additionalInfo"),validate:a(async(c,d)=>{let P=c?.value?c.value:c;return R(p,d)&&(l=await ge(P,d,e.packageAutocomplete,e.ui5AbapRepo,e.backendTarget,void 0,e.adpProjectType)),p=d,l},"validate")}]}a(B,"getPackagePrompts");function Q(e,t=!0,r=!1){let i,n={},p=!1;return o.isYUI=r,[{when:a(()=>ze(e.transportInputChoice),"when"),type:"list",name:g.transportInputChoice,message:s("prompts.config.transport.transportInputChoice.message"),guiOptions:{applyDefaultWhenDirty:!0},choices:a(()=>Pt(e.transportInputChoice?.showCreateDuringDeploy),"choices"),default:a(u=>kt(u.transportInputChoice,Be(e.transportManual?.default)),"default"),validate:a(async(u,c)=>(R(n,c)&&(p=await le({useStandalone:t,input:u,previousAnswers:c,validateInputChanged:!0,prevTransportInputChoice:i,backendTarget:e.backendTarget,ui5AbapRepoName:e.ui5AbapRepo?.default,transportDescription:e.transportCreated?.description})),i=u,n=c,p),"validate")},{when:a(async u=>{if(!o.isYUI){let c=await le({useStandalone:t,input:u.transportInputChoice,previousAnswers:u,validateInputChanged:!1,backendTarget:e.backendTarget,ui5AbapRepoName:e.ui5AbapRepo?.default});if(c!==!0)throw new Error(c)}return!1},"when"),type:"input",name:g.transportCliExecution},{when:a(u=>Je(u.transportInputChoice),"when"),name:g.transportCreated,type:"input",default:a(()=>o.transportAnswers.newTransportNumber,"default"),message:s("prompts.config.transport.transportCreated.message")},{when:a(u=>Xe(u.transportInputChoice,e.transportInputChoice),"when"),type:"list",name:g.transportFromList,message:s("prompts.config.transport.common.transportRequest"),guiOptions:{hint:s("prompts.config.transport.common.provideTransportRequest"),breadcrumb:s("prompts.config.transport.common.transportRequest")},choices:a(()=>o.transportAnswers.transportList?.map(Ue),"choices"),default:a(()=>Dt(o?.transportAnswers.transportList?.length),"default")},{when:a(u=>et(u.transportInputChoice,e.transportInputChoice),"when"),type:"input",name:g.transportManual,message:s("prompts.config.transport.common.transportRequest"),guiOptions:{hint:s("prompts.config.transport.common.provideTransportRequest"),breadcrumb:s("prompts.config.transport.common.transportRequest"),mandatory:!0},default:a(u=>u.transportManual||e.transportManual?.default,"default"),validate:a(u=>ft(u),"validate"),filter:a(u=>u?.trim()?.toUpperCase(),"filter")}]}a(Q,"getTransportRequestPrompts");function Ar(e){return{when:a(()=>tt(e),"when"),name:g.index,type:"confirm",message:s("prompts.confirm.index.message"),guiOptions:{breadcrumb:s("prompts.confirm.index.hint")},default:!1}}a(Ar,"getIndexPrompt");function vr(){return{name:g.overwriteAbapConfig,type:"confirm",message:s("prompts.confirm.overwrite.message"),guiOptions:{hint:s("prompts.confirm.overwrite.hint")},default:!0,validate:a(e=>dt(e),"validate")}}a(vr,"getOverwritePrompt");function Lt(e){let t=[Ar(e)];return e.overwriteAbapConfig?.hide!==!0&&t.push(vr()),t}a(Lt,"getConfirmPrompts");async function Nt(e){e=e??{};let t=await Rt(e),r=Et(e),i=[...t,...r];e.ui5AbapRepo?.hide!==!0&&i.push(...It(e));let n=B(e,!1,o.isYUI),p=Q(e,!1,o.isYUI),l=Lt(e);return i.push(...n,...p,...l),i}a(Nt,"getAbapDeployConfigQuestions");async function Ot(e,t,r=!1){return await H(),f.logger=t??new qt.ToolsLogger({logPrefix:"@sap-ux/abap-deploy-config-inquirer"}),o.isYUI=r,o.resetAbapDeployConfig(),C.resetIsDefaultProviderAbapCloud(),{prompts:await Nt(e),answers:o.abapDeployConfig}}a(Ot,"getPrompts");async function Tr(e,t,r,i=!1){let n=(await Ot(t,r,i)).prompts,p=await e.prompt(n);return te(p,o.abapDeployConfig)}a(Tr,"prompt");var wr=void 0;0&&(module.exports={DEFAULT_PACKAGE_ABAP,PackageInputChoices,TargetSystemType,TransportChoices,getPackageAnswer,getPackagePrompts,getPrompts,getTransportAnswer,getTransportRequestPrompts,prompt,promptNames,reconcileAnswers});