From 378ef20a50b32aa3dcd99a2aa3be5107e5f04b59 Mon Sep 17 00:00:00 2001 From: mshanemc Date: Wed, 14 Aug 2024 08:57:19 -0500 Subject: [PATCH 01/11] chore: commit existing registry --- scripts/update-registry/describe.json | 4803 +++++++++++++++++++++++++ 1 file changed, 4803 insertions(+) create mode 100644 scripts/update-registry/describe.json diff --git a/scripts/update-registry/describe.json b/scripts/update-registry/describe.json new file mode 100644 index 0000000000..7d18e9841e --- /dev/null +++ b/scripts/update-registry/describe.json @@ -0,0 +1,4803 @@ +{ + "AIApplication": { + "directoryName": "aiApplications", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AIApplication", + "suffix": "ai" + }, + "AIApplicationConfig": { + "directoryName": "aiApplicationConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AIApplicationConfig", + "suffix": "aiapplicationconfig" + }, + "AIReplyRecommendationsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AIReplyRecommendationsSettings", + "suffix": "settings" + }, + "AIScoringModelDefVersion": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AIScoringModelDefVersion" + }, + "AIScoringModelDefinition": { + "directoryName": "aiScoringModelDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AIScoringModelDefinition", + "suffix": "aiScoringModelDefinition" + }, + "AIUsecaseDefinition": { + "directoryName": "aiUsecaseDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AIUsecaseDefinition", + "suffix": "aiUsecaseDefinitions" + }, + "AccountForecastSettings": { + "directoryName": "AccountForecastSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AccountForecastSettings", + "suffix": "accountForecastSetting" + }, + "AccountIntelligenceSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AccountIntelligenceSettings", + "suffix": "settings" + }, + "AccountRelationshipShareRule": { + "directoryName": "accountRelationshipShareRules", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AccountRelationshipShareRule", + "suffix": "accountRelationshipShareRule" + }, + "AccountSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AccountSettings", + "suffix": "settings" + }, + "AccountingFieldMapping": { + "directoryName": "accountingFieldMappings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AccountingFieldMapping", + "suffix": "accountingFieldMapping" + }, + "AccountingModelConfig": { + "directoryName": "accountingModelConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AccountingModelConfig", + "suffix": "accountingModelConfig" + }, + "AccountingSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AccountingSettings", + "suffix": "settings" + }, + "AcctMgrTargetSettings": { + "directoryName": "acctMgrTargetSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AcctMgrTargetSettings", + "suffix": "acctMgrTargetSetting" + }, + "ActionLauncherItemDef": { + "directoryName": "ActionLauncherItemDef", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ActionLauncherItemDef", + "suffix": "actionLauncherItemDef" + }, + "ActionLinkGroupTemplate": { + "directoryName": "actionLinkGroupTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ActionLinkGroupTemplate", + "suffix": "actionLinkGroupTemplate" + }, + "ActionPlanTemplate": { + "directoryName": "actionPlanTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ActionPlanTemplate", + "suffix": "apt" + }, + "ActionableEventOrchDef": { + "directoryName": "ActionableEventOrchDefSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ActionableEventOrchDef", + "suffix": "settings" + }, + "ActionableEventTypeDef": { + "directoryName": "ActionableEventTypeDefSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ActionableEventTypeDef", + "suffix": "settings" + }, + "ActionableListDefinition": { + "directoryName": "actionableListDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ActionableListDefinition", + "suffix": "actionableListDefinition" + }, + "ActionsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ActionsSettings", + "suffix": "settings" + }, + "ActivationPlatform": { + "directoryName": "activationPlatforms", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ActivationPlatform", + "suffix": "activationPlatform" + }, + "ActivitiesSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ActivitiesSettings", + "suffix": "settings" + }, + "ActnblListKeyPrfmIndDef": { + "directoryName": "actnblListKeyPrfmIndDefs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ActnblListKeyPrfmIndDef", + "suffix": "actnblListKeyPrfmIndDef" + }, + "AddressSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AddressSettings", + "suffix": "settings" + }, + "AdvAccountForecastSet": { + "directoryName": "AdvAccountForecastSet", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AdvAccountForecastSet", + "suffix": "advAccountForecastSet" + }, + "AdvAcctForecastDimSource": { + "directoryName": "AdvAcctForecastDimSource", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AdvAcctForecastDimSource", + "suffix": "advAcctForecastDimSource" + }, + "AdvAcctForecastPeriodGroup": { + "directoryName": "AdvAcctForecastPeriodGroup", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AdvAcctForecastPeriodGroup", + "suffix": "advAcctForecastPeriodGroup" + }, + "AffinityScoreDefinition": { + "directoryName": "affinityScoreDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AffinityScoreDefinition", + "suffix": "affinityScoreDefinition" + }, + "Ai4mSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Ai4mSettings", + "suffix": "settings" + }, + "AnalyticSnapshot": { + "directoryName": "analyticSnapshots", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AnalyticSnapshot", + "suffix": "snapshot" + }, + "AnalyticsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AnalyticsSettings", + "suffix": "settings" + }, + "AnimationRule": { + "directoryName": "animationRules", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AnimationRule", + "suffix": "animationRule" + }, + "ApexClass": { + "directoryName": "classes", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "ApexClass", + "suffix": "cls" + }, + "ApexComponent": { + "directoryName": "components", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "ApexComponent", + "suffix": "component" + }, + "ApexEmailNotifications": { + "directoryName": "apexEmailNotifications", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ApexEmailNotifications", + "suffix": "notifications" + }, + "ApexPage": { + "directoryName": "pages", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "ApexPage", + "suffix": "page" + }, + "ApexSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ApexSettings", + "suffix": "settings" + }, + "ApexTestSuite": { + "directoryName": "testSuites", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ApexTestSuite", + "suffix": "testSuite" + }, + "ApexTrigger": { + "directoryName": "triggers", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "ApexTrigger", + "suffix": "trigger" + }, + "AppAnalyticsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AppAnalyticsSettings", + "suffix": "settings" + }, + "AppExperienceSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AppExperienceSettings", + "suffix": "settings" + }, + "AppMenu": { + "directoryName": "appMenus", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AppMenu", + "suffix": "appMenu" + }, + "ApplicationRecordTypeConfig": { + "directoryName": "ApplicationRecordTypeConfig", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ApplicationRecordTypeConfig", + "suffix": "applicationRecordTypeConfig" + }, + "ApplicationSubtypeDefinition": { + "directoryName": "ApplicationSubtypeDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ApplicationSubtypeDefinition", + "suffix": "applicationSubtypeDefinition" + }, + "AppointmentAssignmentPolicy": { + "directoryName": "appointmentAssignmentPolicies", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AppointmentAssignmentPolicy", + "suffix": "policy" + }, + "AppointmentSchedulingPolicy": { + "directoryName": "appointmentSchedulingPolicies", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AppointmentSchedulingPolicy", + "suffix": "policy" + }, + "ApprovalProcess": { + "directoryName": "approvalProcesses", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ApprovalProcess", + "suffix": "approvalProcess" + }, + "AssessmentConfiguration": { + "directoryName": "AssessmentConfigurations", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AssessmentConfiguration", + "suffix": "assessmentConfiguration" + }, + "AssessmentQuestion": { + "directoryName": "AssessmentQuestions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AssessmentQuestion", + "suffix": "aq" + }, + "AssessmentQuestionSet": { + "directoryName": "AssessmentQuestionSets", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AssessmentQuestionSet", + "suffix": "aqs" + }, + "AssignmentRules": { + "directoryName": "assignmentRules", + "hasChildren": true, + "inFolder": false, + "metaFile": false, + "name": "AssignmentRules", + "suffix": "assignmentRules" + }, + "AssistantContextItem": { + "directoryName": "assistantContextItems", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AssistantContextItem", + "suffix": "assistantContextItem" + }, + "AssistantDefinition": { + "directoryName": "assistantDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AssistantDefinition", + "suffix": "assistantDefinition" + }, + "AssistantSkillQuickAction": { + "directoryName": "assistantSkillQuickActions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AssistantSkillQuickAction", + "suffix": "assistantSkillQuickAction" + }, + "AssistantSkillSobjectAction": { + "directoryName": "assistantSkillSobjectActions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AssistantSkillSobjectAction", + "suffix": "assistantSkillSobjectAction" + }, + "AssistantVersion": { + "directoryName": "assistantVersions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AssistantVersion", + "suffix": "assistantVersion" + }, + "AssociationEngineSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AssociationEngineSettings", + "suffix": "settings" + }, + "Audience": { + "directoryName": "audience", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Audience", + "suffix": "audience" + }, + "AuraDefinitionBundle": { + "directoryName": "aura", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AuraDefinitionBundle" + }, + "AuthProvider": { + "directoryName": "authproviders", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AuthProvider", + "suffix": "authprovider" + }, + "AutoResponseRules": { + "directoryName": "autoResponseRules", + "hasChildren": true, + "inFolder": false, + "metaFile": false, + "name": "AutoResponseRules", + "suffix": "autoResponseRules" + }, + "AutomatedContactsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "AutomatedContactsSettings", + "suffix": "settings" + }, + "BatchCalcJobDefinition": { + "directoryName": "batchCalcJobDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BatchCalcJobDefinition", + "suffix": "batchCalcJobDefinition" + }, + "BatchProcessJobDefinition": { + "directoryName": "batchProcessJobDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BatchProcessJobDefinition", + "suffix": "batchProcessJobDefinition" + }, + "BenefitAction": { + "directoryName": "benefitActions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BenefitAction", + "suffix": "benefitAction" + }, + "BlacklistedConsumer": { + "directoryName": "blacklistedConsumers", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BlacklistedConsumer", + "suffix": "blacklistedConsumer" + }, + "BldgEnrgyIntensityCnfg": { + "directoryName": "buildingEnergyIntensityConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BldgEnrgyIntensityCnfg", + "suffix": "buildingEnergyIntensityConfig" + }, + "BlockchainSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BlockchainSettings", + "suffix": "settings" + }, + "Bot": { + "directoryName": "bots", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Bot", + "suffix": "bot" + }, + "BotBlock": { + "directoryName": "botBlocks", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BotBlock", + "suffix": "botBlock" + }, + "BotBlockVersion": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BotBlockVersion" + }, + "BotSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BotSettings", + "suffix": "settings" + }, + "BotTemplate": { + "directoryName": "botTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BotTemplate", + "suffix": "botTemplate" + }, + "BotVersion": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BotVersion" + }, + "BranchManagementSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BranchManagementSettings", + "suffix": "settings" + }, + "BrandingSet": { + "directoryName": "brandingSets", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BrandingSet", + "suffix": "brandingSet" + }, + "BriefcaseDefinition": { + "directoryName": "briefcaseDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BriefcaseDefinition", + "suffix": "briefcaseDefinition" + }, + "BusinessHoursSettings": { + "directoryName": "settings", + "hasChildren": true, + "inFolder": false, + "metaFile": false, + "name": "BusinessHoursSettings", + "suffix": "settings" + }, + "BusinessProcess": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BusinessProcess" + }, + "BusinessProcessGroup": { + "directoryName": "businessProcessGroups", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BusinessProcessGroup", + "suffix": "businessProcessGroup" + }, + "BusinessProcessTypeDefinition": { + "directoryName": "BusinessProcessTypeDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "BusinessProcessTypeDefinition", + "suffix": "businessProcessTypeDefinition" + }, + "CMSConnectSource": { + "directoryName": "cmsConnectSource", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CMSConnectSource", + "suffix": "cmsConnectSource" + }, + "CallCenter": { + "directoryName": "callCenters", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CallCenter", + "suffix": "callCenter" + }, + "CallCenterRoutingMap": { + "directoryName": "callCenterRoutingMaps", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CallCenterRoutingMap", + "suffix": "callCenterRoutingMap" + }, + "CallCoachingMediaProvider": { + "directoryName": "callCoachingMediaProviders", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CallCoachingMediaProvider", + "suffix": "callCoachingMediaProvider" + }, + "CampaignInfluenceModel": { + "directoryName": "campaignInfluenceModels", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CampaignInfluenceModel", + "suffix": "campaignInfluenceModel" + }, + "CampaignSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CampaignSettings", + "suffix": "settings" + }, + "CanvasMetadata": { + "directoryName": "Canvases", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CanvasMetadata", + "suffix": "Canvas" + }, + "CareBenefitVerifySettings": { + "directoryName": "careBenefitVerifySettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CareBenefitVerifySettings", + "suffix": "careBenefitVerifySettings" + }, + "CareLimitType": { + "directoryName": "careLimitTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CareLimitType", + "suffix": "careLimitType" + }, + "CareProviderAfflRoleConfig": { + "directoryName": "careProviderAfflRoleConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CareProviderAfflRoleConfig", + "suffix": "careProviderAfflRoleConfig" + }, + "CareProviderSearchConfig": { + "directoryName": "careProviderSearchConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CareProviderSearchConfig", + "suffix": "careProviderSearchConfig" + }, + "CareRequestConfiguration": { + "directoryName": "careRequestConfigurations", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CareRequestConfiguration", + "suffix": "careRequestConfiguration" + }, + "CareSystemFieldMapping": { + "directoryName": "careSystemFieldMappings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CareSystemFieldMapping", + "suffix": "careSystemFieldMapping" + }, + "CaseSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CaseSettings", + "suffix": "settings" + }, + "CaseSubjectParticle": { + "directoryName": "CaseSubjectParticles", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CaseSubjectParticle", + "suffix": "CaseSubjectParticle" + }, + "Certificate": { + "directoryName": "certs", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "Certificate", + "suffix": "crt" + }, + "ChannelLayout": { + "directoryName": "channelLayouts", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ChannelLayout", + "suffix": "channelLayout" + }, + "ChannelObjectLinkingRule": { + "directoryName": "ChannelObjectLinkingRules", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ChannelObjectLinkingRule", + "suffix": "ChannelObjectLinkingRule" + }, + "ChatterAnswersSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ChatterAnswersSettings", + "suffix": "settings" + }, + "ChatterEmailsMDSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ChatterEmailsMDSettings", + "suffix": "settings" + }, + "ChatterExtension": { + "directoryName": "ChatterExtensions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ChatterExtension", + "suffix": "ChatterExtension" + }, + "ChatterSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ChatterSettings", + "suffix": "settings" + }, + "ClaimFinancialSettings": { + "directoryName": "ClaimFinancialSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ClaimFinancialSettings", + "suffix": "claimFinancialSettings" + }, + "ClaimMgmtFoundationEnabledSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ClaimMgmtFoundationEnabledSettings", + "suffix": "settings" + }, + "ClauseCatgConfiguration": { + "directoryName": "clauseCatgConfigurations", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ClauseCatgConfiguration", + "suffix": "clauseCatgConfiguration" + }, + "CleanDataService": { + "directoryName": "cleanDataServices", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CleanDataService", + "suffix": "cleanDataService" + }, + "CodeBuilderSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CodeBuilderSettings", + "suffix": "settings" + }, + "CollectionsDashboardSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CollectionsDashboardSettings", + "suffix": "settings" + }, + "CommandAction": { + "directoryName": "commandActions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CommandAction", + "suffix": "commandaction" + }, + "CommerceSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CommerceSettings", + "suffix": "settings" + }, + "CommsServiceConsoleSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CommsServiceConsoleSettings", + "suffix": "settings" + }, + "CommunitiesSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CommunitiesSettings", + "suffix": "settings" + }, + "Community": { + "directoryName": "communities", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Community", + "suffix": "community" + }, + "CommunityTemplateDefinition": { + "directoryName": "communityTemplateDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CommunityTemplateDefinition", + "suffix": "communityTemplateDefinition" + }, + "CommunityThemeDefinition": { + "directoryName": "communityThemeDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CommunityThemeDefinition", + "suffix": "communityThemeDefinition" + }, + "CompactLayout": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CompactLayout" + }, + "CompanySettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CompanySettings", + "suffix": "settings" + }, + "ConnectedApp": { + "directoryName": "connectedApps", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ConnectedApp", + "suffix": "connectedApp" + }, + "ConnectedAppSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ConnectedAppSettings", + "suffix": "settings" + }, + "ContentAsset": { + "directoryName": "contentassets", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "ContentAsset", + "suffix": "asset" + }, + "ContentSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ContentSettings", + "suffix": "settings" + }, + "ContextDefinition": { + "directoryName": "contextDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ContextDefinition", + "suffix": "contextDefinition" + }, + "ContextUseCaseMapping": { + "directoryName": "contextUseCaseMappings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ContextUseCaseMapping", + "suffix": "contextUseCaseMapping" + }, + "ContractSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ContractSettings", + "suffix": "settings" + }, + "ContractType": { + "directoryName": "contractTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ContractType", + "suffix": "contractType" + }, + "ConversationChannelDefinition": { + "directoryName": "conversationChannelDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ConversationChannelDefinition", + "suffix": "ConversationChannelDefinition" + }, + "ConversationServiceIntegrationSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ConversationServiceIntegrationSettings", + "suffix": "settings" + }, + "ConversationVendorInfo": { + "directoryName": "ConversationVendorInformation", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ConversationVendorInfo", + "suffix": "ConversationVendorInformation" + }, + "ConversationalIntelligenceSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ConversationalIntelligenceSettings", + "suffix": "settings" + }, + "CorsWhitelistOrigin": { + "directoryName": "corsWhitelistOrigins", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CorsWhitelistOrigin", + "suffix": "corsWhitelistOrigin" + }, + "CspTrustedSite": { + "directoryName": "cspTrustedSites", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CspTrustedSite", + "suffix": "cspTrustedSite" + }, + "CurrencySettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CurrencySettings", + "suffix": "settings" + }, + "CustomAddressFieldSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomAddressFieldSettings", + "suffix": "settings" + }, + "CustomApplication": { + "directoryName": "applications", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomApplication", + "suffix": "app" + }, + "CustomApplicationComponent": { + "directoryName": "customApplicationComponents", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomApplicationComponent", + "suffix": "customApplicationComponent" + }, + "CustomFeedFilter": { + "directoryName": "feedFilters", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomFeedFilter", + "suffix": "feedFilter" + }, + "CustomField": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomField" + }, + "CustomHelpMenuSection": { + "directoryName": "customHelpMenuSections", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomHelpMenuSection", + "suffix": "customHelpMenuSection" + }, + "CustomIndex": { + "directoryName": "customindex", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomIndex", + "suffix": "indx" + }, + "CustomLabels": { + "directoryName": "labels", + "hasChildren": true, + "inFolder": false, + "metaFile": false, + "name": "CustomLabels", + "suffix": "labels" + }, + "CustomMetadata": { + "directoryName": "customMetadata", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomMetadata", + "suffix": "md" + }, + "CustomNotificationType": { + "directoryName": "notificationtypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomNotificationType", + "suffix": "notiftype" + }, + "CustomObject": { + "directoryName": "objects", + "hasChildren": true, + "inFolder": false, + "metaFile": false, + "name": "CustomObject", + "suffix": "object" + }, + "CustomObjectTranslation": { + "directoryName": "objectTranslations", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomObjectTranslation", + "suffix": "objectTranslation" + }, + "CustomPageWebLink": { + "directoryName": "weblinks", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomPageWebLink", + "suffix": "weblink" + }, + "CustomPermission": { + "directoryName": "customPermissions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomPermission", + "suffix": "customPermission" + }, + "CustomSite": { + "directoryName": "sites", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomSite", + "suffix": "site" + }, + "CustomTab": { + "directoryName": "tabs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomTab", + "suffix": "tab" + }, + "CustomValue": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomValue" + }, + "CustomerDataPlatformSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomerDataPlatformSettings", + "suffix": "settings" + }, + "CustomizablePropensityScoringSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "CustomizablePropensityScoringSettings", + "suffix": "settings" + }, + "Dashboard": { + "directoryName": "dashboards", + "hasChildren": false, + "inFolder": true, + "metaFile": false, + "name": "Dashboard", + "suffix": "dashboard" + }, + "DashboardFolder": { + "directoryName": "dashboards", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DashboardFolder", + "suffix": "" + }, + "DataCalcInsightTemplate": { + "directoryName": "dataCalcInsightTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataCalcInsightTemplate", + "suffix": "dataCalcInsightTemplate" + }, + "DataCategoryGroup": { + "directoryName": "datacategorygroups", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataCategoryGroup", + "suffix": "datacategorygroup" + }, + "DataConnectionParamTmpl": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataConnectionParamTmpl" + }, + "DataConnectorIngestApi": { + "directoryName": "dataConnectorIngestApis", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataConnectorIngestApi", + "suffix": "dataConnectorIngestApi" + }, + "DataConnectorS3": { + "directoryName": "s3DataConnectors", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataConnectorS3", + "suffix": "s3DataConnector" + }, + "DataDotComSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataDotComSettings", + "suffix": "settings" + }, + "DataImportManagementSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataImportManagementSettings", + "suffix": "settings" + }, + "DataKitObjectTemplate": { + "directoryName": "dataKitObjectTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataKitObjectTemplate", + "suffix": "dataKitObjectTemplate" + }, + "DataPackageKitDefinition": { + "directoryName": "dataPackageKitDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataPackageKitDefinition", + "suffix": "dataPackageKitDefinition" + }, + "DataPackageKitObject": { + "directoryName": "DataPackageKitObjects", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataPackageKitObject", + "suffix": "DataPackageKitObject" + }, + "DataSource": { + "directoryName": "mktDataSources", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataSource", + "suffix": "dataSource" + }, + "DataSourceBundleDefinition": { + "directoryName": "dataSourceBundleDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataSourceBundleDefinition", + "suffix": "dataSourceBundleDefinition" + }, + "DataSourceObject": { + "directoryName": "dataSourceObjects", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataSourceObject", + "suffix": "dataSourceObject" + }, + "DataSourceTenant": { + "directoryName": "dataSourceTenants", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataSourceTenant", + "suffix": "dataSourceTenant" + }, + "DataSrcDataModelFieldMap": { + "directoryName": "dataSrcDataModelFieldMaps", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataSrcDataModelFieldMap", + "suffix": "dataSrcDataModelFieldMap" + }, + "DataStreamDefinition": { + "directoryName": "dataStreamDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataStreamDefinition", + "suffix": "dataStreamDefinition" + }, + "DataStreamTemplate": { + "directoryName": "dataStreamTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DataStreamTemplate", + "suffix": "dataStreamTemplate" + }, + "DataWeaveResource": { + "directoryName": "dw", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "DataWeaveResource", + "suffix": "dwl" + }, + "DecisionMatrixDefinition": { + "directoryName": "decisionMatrixDefinition", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DecisionMatrixDefinition", + "suffix": "decisionMatrixDefinition" + }, + "DecisionMatrixDefinitionVersion": { + "directoryName": "decisionMatrixVersion", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DecisionMatrixDefinitionVersion", + "suffix": "decisionMatrixVersion" + }, + "DecisionTable": { + "directoryName": "decisionTables", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DecisionTable", + "suffix": "decisionTable" + }, + "DecisionTableDatasetLink": { + "directoryName": "decisionTableDatasetLinks", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DecisionTableDatasetLink", + "suffix": "decisionTableDatasetLink" + }, + "DelegateGroup": { + "directoryName": "delegateGroups", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DelegateGroup", + "suffix": "delegateGroup" + }, + "DeploymentSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DeploymentSettings", + "suffix": "settings" + }, + "DevHubSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DevHubSettings", + "suffix": "settings" + }, + "DigitalExperience": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DigitalExperience" + }, + "DigitalExperienceBundle": { + "directoryName": "digitalExperiences", + "hasChildren": true, + "inFolder": false, + "metaFile": true, + "name": "DigitalExperienceBundle", + "suffix": "digitalExperience" + }, + "DigitalExperienceConfig": { + "directoryName": "digitalExperienceConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DigitalExperienceConfig", + "suffix": "digitalExperienceConfig" + }, + "DisclosureDefinition": { + "directoryName": "disclosureDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DisclosureDefinition", + "suffix": "disclosureDefinition" + }, + "DisclosureDefinitionVersion": { + "directoryName": "disclosureDefinitionVersions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DisclosureDefinitionVersion", + "suffix": "disclosureDefinitionVersion" + }, + "DisclosureType": { + "directoryName": "disclosureTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DisclosureType", + "suffix": "disclosureType" + }, + "DiscoveryAIModel": { + "directoryName": "discovery", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "DiscoveryAIModel", + "suffix": "model" + }, + "DiscoveryGoal": { + "directoryName": "discovery", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DiscoveryGoal", + "suffix": "goal" + }, + "DiscoverySettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DiscoverySettings", + "suffix": "settings" + }, + "DiscoveryStory": { + "directoryName": "discovery", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "DiscoveryStory", + "suffix": "story" + }, + "Document": { + "directoryName": "documents", + "hasChildren": false, + "inFolder": true, + "metaFile": false, + "name": "Document" + }, + "DocumentCategory": { + "directoryName": "documentCategory", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DocumentCategory", + "suffix": "documentCategory" + }, + "DocumentCategoryDocumentType": { + "directoryName": "documentCategoryDocumentTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DocumentCategoryDocumentType", + "suffix": "documentCategoryDocumentType" + }, + "DocumentChecklistSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DocumentChecklistSettings", + "suffix": "settings" + }, + "DocumentFolder": { + "directoryName": "documents", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DocumentFolder", + "suffix": "" + }, + "DocumentGenerationSetting": { + "directoryName": "documentGenerationSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DocumentGenerationSetting", + "suffix": "documentGenerationSetting" + }, + "DocumentTemplate": { + "directoryName": "documentTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "DocumentTemplate", + "suffix": "dt" + }, + "DocumentType": { + "directoryName": "documentTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DocumentType", + "suffix": "documentType" + }, + "DuplicateRule": { + "directoryName": "duplicateRules", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DuplicateRule", + "suffix": "duplicateRule" + }, + "DynamicFormsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DynamicFormsSettings", + "suffix": "settings" + }, + "DynamicFulfillmentOrchestratorSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "DynamicFulfillmentOrchestratorSettings", + "suffix": "settings" + }, + "EACSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EACSettings", + "suffix": "settings" + }, + "ESignatureConfig": { + "directoryName": "eSignatureConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ESignatureConfig", + "suffix": "eSignatureConfig" + }, + "ESignatureEnvelopeConfig": { + "directoryName": "eSignatureEnvelopeConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ESignatureEnvelopeConfig", + "suffix": "eSignatureEnvelopeConfig" + }, + "EclairGeoData": { + "directoryName": "eclair", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "EclairGeoData", + "suffix": "geodata" + }, + "EinsteinAISettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EinsteinAISettings", + "suffix": "settings" + }, + "EinsteinAgentSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EinsteinAgentSettings", + "suffix": "settings" + }, + "EinsteinAssistantSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EinsteinAssistantSettings", + "suffix": "settings" + }, + "EinsteinCopilotSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EinsteinCopilotSettings", + "suffix": "settings" + }, + "EinsteinDealInsightsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EinsteinDealInsightsSettings", + "suffix": "settings" + }, + "EinsteinDocumentCaptureSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EinsteinDocumentCaptureSettings", + "suffix": "settings" + }, + "EinsteinGptSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EinsteinGptSettings", + "suffix": "settings" + }, + "EmailAdministrationSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmailAdministrationSettings", + "suffix": "settings" + }, + "EmailFolder": { + "directoryName": "email", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmailFolder", + "suffix": "" + }, + "EmailIntegrationSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmailIntegrationSettings", + "suffix": "settings" + }, + "EmailServicesFunction": { + "directoryName": "emailservices", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmailServicesFunction", + "suffix": "xml" + }, + "EmailTemplate": { + "directoryName": "email", + "hasChildren": false, + "inFolder": true, + "metaFile": false, + "name": "EmailTemplate", + "suffix": "email" + }, + "EmailTemplateFolder": { + "directoryName": "email", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmailTemplateFolder", + "suffix": "" + }, + "EmailTemplateSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmailTemplateSettings", + "suffix": "settings" + }, + "EmbeddedServiceBranding": { + "directoryName": "EmbeddedServiceBranding", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmbeddedServiceBranding", + "suffix": "EmbeddedServiceBranding" + }, + "EmbeddedServiceConfig": { + "directoryName": "EmbeddedServiceConfig", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmbeddedServiceConfig", + "suffix": "EmbeddedServiceConfig" + }, + "EmbeddedServiceFlowConfig": { + "directoryName": "EmbeddedServiceFlowConfig", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmbeddedServiceFlowConfig", + "suffix": "EmbeddedServiceFlowConfig" + }, + "EmbeddedServiceLiveAgent": { + "directoryName": "EmbeddedServiceLiveAgent", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmbeddedServiceLiveAgent", + "suffix": "EmbeddedServiceLiveAgent" + }, + "EmbeddedServiceMenuSettings": { + "directoryName": "EmbeddedServiceMenuSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmbeddedServiceMenuSettings", + "suffix": "EmbeddedServiceMenuSettings" + }, + "EmployeeDataSyncProfile": { + "directoryName": "employeeDataSyncProfiles", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmployeeDataSyncProfile", + "suffix": "employeeDataSyncProfile" + }, + "EmployeeFieldAccessSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmployeeFieldAccessSettings", + "suffix": "settings" + }, + "EmployeeUserSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EmployeeUserSettings", + "suffix": "settings" + }, + "EnablementMeasureDefinition": { + "directoryName": "enablementMeasureDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EnablementMeasureDefinition", + "suffix": "enablementMeasureDefinition" + }, + "EnablementProgramDefinition": { + "directoryName": "enablementProgramDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EnablementProgramDefinition", + "suffix": "enablementProgramDefinition" + }, + "EnhancedNotesSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EnhancedNotesSettings", + "suffix": "settings" + }, + "EntitlementProcess": { + "directoryName": "entitlementProcesses", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EntitlementProcess", + "suffix": "entitlementProcess" + }, + "EntitlementSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EntitlementSettings", + "suffix": "settings" + }, + "EntitlementTemplate": { + "directoryName": "entitlementTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EntitlementTemplate", + "suffix": "entitlementTemplate" + }, + "EscalationRules": { + "directoryName": "escalationRules", + "hasChildren": true, + "inFolder": false, + "metaFile": false, + "name": "EscalationRules", + "suffix": "escalationRules" + }, + "EssentialsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EssentialsSettings", + "suffix": "settings" + }, + "EventLogObjectSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EventLogObjectSettings", + "suffix": "settings" + }, + "EventSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "EventSettings", + "suffix": "settings" + }, + "ExperienceBundle": { + "directoryName": "experiences", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExperienceBundle" + }, + "ExperienceBundleSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExperienceBundleSettings", + "suffix": "settings" + }, + "ExperiencePropertyTypeBundle": { + "directoryName": "experiencePropertyTypeBundles", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExperiencePropertyTypeBundle", + "suffix": "experiencePropertyTypeBundle" + }, + "ExplainabilityActionDefinition": { + "directoryName": "ExplainabilityActionDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExplainabilityActionDefinition", + "suffix": "explainabilityActionDefinition" + }, + "ExplainabilityActionVersion": { + "directoryName": "ExplainabilityActionVersions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExplainabilityActionVersion", + "suffix": "explainabilityActionVersion" + }, + "ExplainabilityMsgTemplate": { + "directoryName": "ExplainabilityMsgTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExplainabilityMsgTemplate", + "suffix": "explainabilityMsgTemplate" + }, + "ExpressionSetDefinition": { + "directoryName": "expressionSetDefinition", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExpressionSetDefinition", + "suffix": "expressionSetDefinition" + }, + "ExpressionSetDefinitionVersion": { + "directoryName": "expressionSetVersion", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExpressionSetDefinitionVersion", + "suffix": "expressionSetVersion" + }, + "ExpressionSetObjectAlias": { + "directoryName": "expressionSetObjectAlias", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExpressionSetObjectAlias", + "suffix": "expressionSetObjectAlias" + }, + "ExtDataTranFieldTemplate": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExtDataTranFieldTemplate" + }, + "ExtDataTranObjectTemplate": { + "directoryName": "extDataTranObjectTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExtDataTranObjectTemplate", + "suffix": "extDataTranObjectTemplate" + }, + "ExternalAIModel": { + "directoryName": "externalAIModels", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExternalAIModel", + "suffix": "externalAIModel" + }, + "ExternalAuthIdentityProvider": { + "directoryName": "externalAuthIdentityProviders", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExternalAuthIdentityProvider", + "suffix": "externalAuthIdentityProvider" + }, + "ExternalClientAppSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExternalClientAppSettings", + "suffix": "settings" + }, + "ExternalClientApplication": { + "directoryName": "externalClientApps", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExternalClientApplication", + "suffix": "eca" + }, + "ExternalCredential": { + "directoryName": "externalCredentials", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExternalCredential", + "suffix": "externalCredential" + }, + "ExternalDataConnector": { + "directoryName": "externalDataConnectors", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExternalDataConnector", + "suffix": "externalDataConnector" + }, + "ExternalDataSource": { + "directoryName": "dataSources", + "hasChildren": true, + "inFolder": false, + "metaFile": false, + "name": "ExternalDataSource", + "suffix": "dataSource" + }, + "ExternalDataSrcDescriptor": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExternalDataSrcDescriptor" + }, + "ExternalDataTranField": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExternalDataTranField" + }, + "ExternalDataTranObject": { + "directoryName": "externalDataTranObjects", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExternalDataTranObject", + "suffix": "externalDataTranObject" + }, + "ExternalDocStorageConfig": { + "directoryName": "externalDocStorageConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExternalDocStorageConfig", + "suffix": "externalDocStorageConfig" + }, + "ExternalServiceRegistration": { + "directoryName": "externalServiceRegistrations", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExternalServiceRegistration", + "suffix": "externalServiceRegistration" + }, + "ExtlClntAppConfigurablePolicies": { + "directoryName": "extlClntAppPolicies", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExtlClntAppConfigurablePolicies", + "suffix": "ecaPlcy" + }, + "ExtlClntAppGlobalOauthSettings": { + "directoryName": "extlClntAppGlobalOauthSets", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExtlClntAppGlobalOauthSettings", + "suffix": "ecaGlblOauth" + }, + "ExtlClntAppMobileConfigurablePolicies": { + "directoryName": "extlClntAppMobilePolicies", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExtlClntAppMobileConfigurablePolicies", + "suffix": "ecaMobilePlcy" + }, + "ExtlClntAppMobileSettings": { + "directoryName": "extlClntAppMobileSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExtlClntAppMobileSettings", + "suffix": "ecaMobile" + }, + "ExtlClntAppNotificationSettings": { + "directoryName": "extlClntAppNotifSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExtlClntAppNotificationSettings", + "suffix": "ecaNotifications" + }, + "ExtlClntAppOauthConfigurablePolicies": { + "directoryName": "extlClntAppOauthPolicies", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExtlClntAppOauthConfigurablePolicies", + "suffix": "ecaOauthPlcy" + }, + "ExtlClntAppOauthSettings": { + "directoryName": "extlClntAppOauthSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ExtlClntAppOauthSettings", + "suffix": "ecaOauth" + }, + "FeatureParameterBoolean": { + "directoryName": "featureParameters", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FeatureParameterBoolean", + "suffix": "featureParameterBoolean" + }, + "FeatureParameterDate": { + "directoryName": "featureParameters", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FeatureParameterDate", + "suffix": "featureParameterDate" + }, + "FeatureParameterInteger": { + "directoryName": "featureParameters", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FeatureParameterInteger", + "suffix": "featureParameterInteger" + }, + "FieldRestrictionRule": { + "directoryName": "fieldRestrictionRules", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FieldRestrictionRule", + "suffix": "rule" + }, + "FieldServiceMobileExtension": { + "directoryName": "fieldServiceMobileExtensions", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "FieldServiceMobileExtension", + "suffix": "fieldServiceMobileExtension" + }, + "FieldServiceSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FieldServiceSettings", + "suffix": "settings" + }, + "FieldSet": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FieldSet" + }, + "FieldSrcTrgtRelationship": { + "directoryName": "fieldSrcTrgtRelationships", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FieldSrcTrgtRelationship", + "suffix": "fieldSrcTrgtRelationship" + }, + "FileUploadAndDownloadSecuritySettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FileUploadAndDownloadSecuritySettings", + "suffix": "settings" + }, + "FilesConnectSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FilesConnectSettings", + "suffix": "settings" + }, + "FlexiPage": { + "directoryName": "flexipages", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FlexiPage", + "suffix": "flexipage" + }, + "Flow": { + "directoryName": "flows", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Flow", + "suffix": "flow" + }, + "FlowCategory": { + "directoryName": "flowCategories", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FlowCategory", + "suffix": "flowCategory" + }, + "FlowDefinition": { + "directoryName": "flowDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FlowDefinition", + "suffix": "flowDefinition" + }, + "FlowSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FlowSettings", + "suffix": "settings" + }, + "FlowTest": { + "directoryName": "flowtests", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FlowTest", + "suffix": "flowtest" + }, + "ForecastingFilter": { + "directoryName": "forecastingFilters", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ForecastingFilter", + "suffix": "forecastingFilter" + }, + "ForecastingFilterCondition": { + "directoryName": "forecastingFilterConditions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ForecastingFilterCondition", + "suffix": "forecastingFilterCondition" + }, + "ForecastingGroup": { + "directoryName": "forecastingGroups", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ForecastingGroup", + "suffix": "forecastingGroup" + }, + "ForecastingObjectListSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ForecastingObjectListSettings", + "suffix": "settings" + }, + "ForecastingSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ForecastingSettings", + "suffix": "settings" + }, + "ForecastingSourceDefinition": { + "directoryName": "forecastingSourceDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ForecastingSourceDefinition", + "suffix": "forecastingSourceDefinition" + }, + "ForecastingType": { + "directoryName": "forecastingTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ForecastingType", + "suffix": "forecastingType" + }, + "ForecastingTypeSource": { + "directoryName": "forecastingTypeSources", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ForecastingTypeSource", + "suffix": "forecastingTypeSource" + }, + "FormulaSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FormulaSettings", + "suffix": "settings" + }, + "FuelType": { + "directoryName": "fuelTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FuelType", + "suffix": "fuelType" + }, + "FuelTypeSustnUom": { + "directoryName": "fuelTypeSustnUoms", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FuelTypeSustnUom", + "suffix": "fuelTypeSustnUom" + }, + "FunctionReference": { + "directoryName": "functions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FunctionReference", + "suffix": "function" + }, + "FundraisingConfig": { + "directoryName": "fundraisingConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "FundraisingConfig", + "suffix": "fundraisingConfig" + }, + "GatewayProviderPaymentMethodType": { + "directoryName": "gatewayProviderPaymentMethodTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "GatewayProviderPaymentMethodType", + "suffix": "gatewayProviderPaymentMethodType" + }, + "GenAiFunction": { + "directoryName": "genAiFunctions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "GenAiFunction", + "suffix": "genAiFunction" + }, + "GenAiPlanner": { + "directoryName": "genAiPlanners", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "GenAiPlanner", + "suffix": "genAiPlanner" + }, + "GenAiPlugin": { + "directoryName": "genAiPlugins", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "GenAiPlugin", + "suffix": "genAiPlugin" + }, + "GenAiPluginInstructionDef": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "GenAiPluginInstructionDef" + }, + "GlobalValueSet": { + "directoryName": "globalValueSets", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "GlobalValueSet", + "suffix": "globalValueSet" + }, + "GlobalValueSetTranslation": { + "directoryName": "globalValueSetTranslations", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "GlobalValueSetTranslation", + "suffix": "globalValueSetTranslation" + }, + "GoogleAppsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "GoogleAppsSettings", + "suffix": "settings" + }, + "Group": { + "directoryName": "groups", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Group", + "suffix": "group" + }, + "HighVelocitySalesSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "HighVelocitySalesSettings", + "suffix": "settings" + }, + "HomePageComponent": { + "directoryName": "homePageComponents", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "HomePageComponent", + "suffix": "homePageComponent" + }, + "HomePageLayout": { + "directoryName": "homePageLayouts", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "HomePageLayout", + "suffix": "homePageLayout" + }, + "IPAddressRange": { + "directoryName": "IPAddressRanges", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IPAddressRange", + "suffix": "IPAddressRange" + }, + "Icon": { + "directoryName": "icons", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Icon", + "suffix": "icon" + }, + "IdeasSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IdeasSettings", + "suffix": "settings" + }, + "IdentityProviderSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IdentityProviderSettings", + "suffix": "settings" + }, + "IdentityVerificationProcDef": { + "directoryName": "IdentityVerificationProcDefs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IdentityVerificationProcDef", + "suffix": "IdentityVerificationProcDef" + }, + "IframeWhiteListUrlSettings": { + "directoryName": "iframeWhiteListUrlSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IframeWhiteListUrlSettings", + "suffix": "iframeWhiteListUrlSettings" + }, + "InboundCertificate": { + "directoryName": "inboundCertificates", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "InboundCertificate", + "suffix": "inboundCertificate" + }, + "InboundNetworkConnection": { + "directoryName": "inboundNetworkConnections", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "InboundNetworkConnection", + "suffix": "inboundNetworkConnection" + }, + "IncidentMgmtSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IncidentMgmtSettings", + "suffix": "settings" + }, + "IncludeEstTaxInQuoteCPQSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IncludeEstTaxInQuoteCPQSettings", + "suffix": "settings" + }, + "IncludeEstTaxInQuoteSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IncludeEstTaxInQuoteSettings", + "suffix": "settings" + }, + "Index": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Index" + }, + "IndustriesAutomotiveSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IndustriesAutomotiveSettings", + "suffix": "settings" + }, + "IndustriesContextSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IndustriesContextSettings", + "suffix": "settings" + }, + "IndustriesEinsteinFeatureSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IndustriesEinsteinFeatureSettings", + "suffix": "settings" + }, + "IndustriesEventOrchSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IndustriesEventOrchSettings", + "suffix": "settings" + }, + "IndustriesFieldServiceSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IndustriesFieldServiceSettings", + "suffix": "settings" + }, + "IndustriesGamificationSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IndustriesGamificationSettings", + "suffix": "settings" + }, + "IndustriesLoyaltySettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IndustriesLoyaltySettings", + "suffix": "settings" + }, + "IndustriesManufacturingSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IndustriesManufacturingSettings", + "suffix": "settings" + }, + "IndustriesPricingSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IndustriesPricingSettings", + "suffix": "settings" + }, + "IndustriesSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IndustriesSettings", + "suffix": "settings" + }, + "IndustriesUnifiedPromotionsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IndustriesUnifiedPromotionsSettings", + "suffix": "settings" + }, + "InstalledPackage": { + "directoryName": "installedPackages", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "InstalledPackage", + "suffix": "installedPackage" + }, + "IntegrationProviderDef": { + "directoryName": "integrationProviderDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IntegrationProviderDef", + "suffix": "integrationProviderDefinition" + }, + "InterestTaggingSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "InterestTaggingSettings", + "suffix": "settings" + }, + "InternalDataConnector": { + "directoryName": "internalDataConnectors", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "InternalDataConnector", + "suffix": "internalDataConnector" + }, + "InvLatePymntRiskCalcSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "InvLatePymntRiskCalcSettings", + "suffix": "settings" + }, + "InventorySettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "InventorySettings", + "suffix": "settings" + }, + "InvocableActionSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "InvocableActionSettings", + "suffix": "settings" + }, + "IoTSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "IoTSettings", + "suffix": "settings" + }, + "KeywordList": { + "directoryName": "moderation", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "KeywordList", + "suffix": "keywords" + }, + "KnowledgeGenerationSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "KnowledgeGenerationSettings", + "suffix": "settings" + }, + "KnowledgeSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "KnowledgeSettings", + "suffix": "settings" + }, + "LanguageSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LanguageSettings", + "suffix": "settings" + }, + "LargeQuotesandOrdersForRlmSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LargeQuotesandOrdersForRlmSettings", + "suffix": "settings" + }, + "Layout": { + "directoryName": "layouts", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Layout", + "suffix": "layout" + }, + "LeadConfigSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LeadConfigSettings", + "suffix": "settings" + }, + "LeadConvertSettings": { + "directoryName": "LeadConvertSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LeadConvertSettings", + "suffix": "LeadConvertSetting" + }, + "LearningAchievementConfig": { + "directoryName": "learningAchievementConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LearningAchievementConfig", + "suffix": "learningAchievementConfig" + }, + "Letterhead": { + "directoryName": "letterhead", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Letterhead", + "suffix": "letter" + }, + "LicensingSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LicensingSettings", + "suffix": "settings" + }, + "LightningBolt": { + "directoryName": "lightningBolts", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LightningBolt", + "suffix": "lightningBolt" + }, + "LightningComponentBundle": { + "directoryName": "lwc", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LightningComponentBundle" + }, + "LightningExperienceSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LightningExperienceSettings", + "suffix": "settings" + }, + "LightningExperienceTheme": { + "directoryName": "lightningExperienceThemes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LightningExperienceTheme", + "suffix": "lightningExperienceTheme" + }, + "LightningMessageChannel": { + "directoryName": "messageChannels", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LightningMessageChannel", + "suffix": "messageChannel" + }, + "LightningOnboardingConfig": { + "directoryName": "lightningOnboardingConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LightningOnboardingConfig", + "suffix": "lightningOnboardingConfig" + }, + "ListView": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ListView" + }, + "LiveAgentSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LiveAgentSettings", + "suffix": "settings" + }, + "LiveChatAgentConfig": { + "directoryName": "liveChatAgentConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LiveChatAgentConfig", + "suffix": "liveChatAgentConfig" + }, + "LiveChatButton": { + "directoryName": "liveChatButtons", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LiveChatButton", + "suffix": "liveChatButton" + }, + "LiveChatDeployment": { + "directoryName": "liveChatDeployments", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LiveChatDeployment", + "suffix": "liveChatDeployment" + }, + "LiveChatSensitiveDataRule": { + "directoryName": "liveChatSensitiveDataRule", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LiveChatSensitiveDataRule", + "suffix": "liveChatSensitiveDataRule" + }, + "LiveMessageSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LiveMessageSettings", + "suffix": "settings" + }, + "LocationUse": { + "directoryName": "locationUses", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LocationUse", + "suffix": "locationUse" + }, + "LoyaltyProgramSetup": { + "directoryName": "loyaltyProgramSetups", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "LoyaltyProgramSetup", + "suffix": "loyaltyProgramSetup" + }, + "MacroSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MacroSettings", + "suffix": "settings" + }, + "MailMergeSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MailMergeSettings", + "suffix": "settings" + }, + "ManagedContentType": { + "directoryName": "managedContentTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ManagedContentType", + "suffix": "managedContentType" + }, + "ManagedEventSubscription": { + "directoryName": "managedEventSubscriptions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ManagedEventSubscription", + "suffix": "managedEventSubscription" + }, + "ManagedTopics": { + "directoryName": "managedTopics", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ManagedTopics", + "suffix": "managedTopics" + }, + "MapsAndLocationSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MapsAndLocationSettings", + "suffix": "settings" + }, + "MarketSegmentDefinition": { + "directoryName": "marketSegmentDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MarketSegmentDefinition", + "suffix": "marketSegmentDefinition" + }, + "MarketingAppExtActivity": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MarketingAppExtActivity" + }, + "MarketingAppExtension": { + "directoryName": "marketingappextensions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MarketingAppExtension", + "suffix": "marketingappextension" + }, + "MatchingRules": { + "directoryName": "matchingRules", + "hasChildren": true, + "inFolder": false, + "metaFile": false, + "name": "MatchingRules", + "suffix": "matchingRule" + }, + "MediaAdSalesSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MediaAdSalesSettings", + "suffix": "settings" + }, + "MeetingsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MeetingsSettings", + "suffix": "settings" + }, + "MessagingChannel": { + "directoryName": "messagingChannels", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MessagingChannel", + "suffix": "messagingChannel" + }, + "MfgProgramTemplate": { + "directoryName": "MfgProgramTemplate", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MfgProgramTemplate", + "suffix": "mfgProgramTemplate" + }, + "MfgServiceConsoleSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MfgServiceConsoleSettings", + "suffix": "settings" + }, + "MilestoneType": { + "directoryName": "milestoneTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MilestoneType", + "suffix": "milestoneType" + }, + "MktCalcInsightObjectDef": { + "directoryName": "mktCalcInsightObjectDefs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MktCalcInsightObjectDef", + "suffix": "mktCalcInsightObjectDef" + }, + "MktDataConnection": { + "directoryName": "mktDataConnections", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MktDataConnection", + "suffix": "mktDataConnection" + }, + "MktDataConnectionCred": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MktDataConnectionCred" + }, + "MktDataConnectionParam": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MktDataConnectionParam" + }, + "MktDataConnectionSrcParam": { + "directoryName": "mktDataConnectionSrcParams", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MktDataConnectionSrcParam", + "suffix": "mktDataConnectionSrcParam" + }, + "MktDataTranObject": { + "directoryName": "mktDataTranObjects", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MktDataTranObject", + "suffix": "mktDataTranObject" + }, + "MlDomain": { + "directoryName": "mlDomains", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MlDomain", + "suffix": "mlDomain" + }, + "MobSecurityCertPinConfig": { + "directoryName": "mobSecurityCertPinConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MobSecurityCertPinConfig", + "suffix": "mobSecurityCertPinConfig" + }, + "MobileApplicationDetail": { + "directoryName": "MobileApplicationDetails", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MobileApplicationDetail", + "suffix": "MobileApplicationDetail" + }, + "MobileSecurityAssignment": { + "directoryName": "mobileSecurityAssignments", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MobileSecurityAssignment", + "suffix": "mobileSecurityAssignment" + }, + "MobileSecurityPolicy": { + "directoryName": "mobileSecurityPolicies", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MobileSecurityPolicy", + "suffix": "mobileSecurityPolicy" + }, + "MobileSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MobileSettings", + "suffix": "settings" + }, + "ModerationRule": { + "directoryName": "moderation", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ModerationRule", + "suffix": "rule" + }, + "MutingPermissionSet": { + "directoryName": "mutingpermissionsets", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MutingPermissionSet", + "suffix": "mutingpermissionset" + }, + "MyDomainDiscoverableLogin": { + "directoryName": "myDomainDiscoverableLogins", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MyDomainDiscoverableLogin", + "suffix": "myDomainDiscoverableLogin" + }, + "MyDomainSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "MyDomainSettings", + "suffix": "settings" + }, + "NameSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "NameSettings", + "suffix": "settings" + }, + "NamedCredential": { + "directoryName": "namedCredentials", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "NamedCredential", + "suffix": "namedCredential" + }, + "NavigationMenu": { + "directoryName": "navigationMenus", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "NavigationMenu", + "suffix": "navigationMenu" + }, + "Network": { + "directoryName": "networks", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Network", + "suffix": "network" + }, + "NetworkBranding": { + "directoryName": "networkBranding", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "NetworkBranding", + "suffix": "networkBranding" + }, + "NotificationTypeConfig": { + "directoryName": "notificationTypeConfig", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "NotificationTypeConfig", + "suffix": "config" + }, + "NotificationsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "NotificationsSettings", + "suffix": "settings" + }, + "OauthCustomScope": { + "directoryName": "oauthcustomscopes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OauthCustomScope", + "suffix": "oauthcustomscope" + }, + "OauthOidcSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OauthOidcSettings", + "suffix": "settings" + }, + "OauthTokenExchangeHandler": { + "directoryName": "oauthtokenexchangehandlers", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OauthTokenExchangeHandler", + "suffix": "oauthtokenexchangehandler" + }, + "ObjectHierarchyRelationship": { + "directoryName": "ObjectHierarchyRelationship", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ObjectHierarchyRelationship", + "suffix": "settings" + }, + "ObjectLinkingSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ObjectLinkingSettings", + "suffix": "settings" + }, + "ObjectSourceTargetMap": { + "directoryName": "objectSourceTargetMaps", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ObjectSourceTargetMap", + "suffix": "objectSourceTargetMap" + }, + "OcrSampleDocument": { + "directoryName": "ocrSampleDocuments", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OcrSampleDocument", + "suffix": "ocrSampleDocument" + }, + "OcrTemplate": { + "directoryName": "ocrTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OcrTemplate", + "suffix": "ocrTemplate" + }, + "OmniChannelPricingSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OmniChannelPricingSettings", + "suffix": "settings" + }, + "OmniChannelSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OmniChannelSettings", + "suffix": "settings" + }, + "OmniDataTransform": { + "directoryName": "omniDataTransforms", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OmniDataTransform", + "suffix": "rpt" + }, + "OmniExtTrackingDef": { + "directoryName": "OmniExtTrackingDefs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OmniExtTrackingDef", + "suffix": "OmniExtTrackingDef" + }, + "OmniIntegrationProcedure": { + "directoryName": "omniIntegrationProcedures", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OmniIntegrationProcedure", + "suffix": "oip" + }, + "OmniInteractionAccessConfig": { + "directoryName": "OmniInteractionAccessConfig", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OmniInteractionAccessConfig", + "suffix": "omniInteractionAccessConfig" + }, + "OmniInteractionConfig": { + "directoryName": "OmniInteractionConfig", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OmniInteractionConfig", + "suffix": "omniInteractionConfig" + }, + "OmniScript": { + "directoryName": "omniScripts", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OmniScript", + "suffix": "os" + }, + "OmniSupervisorConfig": { + "directoryName": "omniSupervisorConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OmniSupervisorConfig", + "suffix": "omniSupervisorConfig" + }, + "OmniTrackingGroup": { + "directoryName": "OmniTrackingGroups", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OmniTrackingGroup", + "suffix": "OmniTrackingGroup" + }, + "OmniUiCard": { + "directoryName": "omniUiCard", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OmniUiCard", + "suffix": "ouc" + }, + "OnlineSalesSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OnlineSalesSettings", + "suffix": "settings" + }, + "OpportunityScoreSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OpportunityScoreSettings", + "suffix": "settings" + }, + "OpportunitySettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OpportunitySettings", + "suffix": "settings" + }, + "OrderManagementSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OrderManagementSettings", + "suffix": "settings" + }, + "OrderSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OrderSettings", + "suffix": "settings" + }, + "OrgSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OrgSettings", + "suffix": "settings" + }, + "OutboundNetworkConnection": { + "directoryName": "outboundNetworkConnections", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "OutboundNetworkConnection", + "suffix": "outboundNetworkConnection" + }, + "PardotEinsteinSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PardotEinsteinSettings", + "suffix": "settings" + }, + "PardotSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PardotSettings", + "suffix": "settings" + }, + "ParticipantRole": { + "directoryName": "participantRoles", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ParticipantRole", + "suffix": "participantRole" + }, + "PartyDataModelSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PartyDataModelSettings", + "suffix": "settings" + }, + "PathAssistant": { + "directoryName": "pathAssistants", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PathAssistant", + "suffix": "pathAssistant" + }, + "PathAssistantSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PathAssistantSettings", + "suffix": "settings" + }, + "PaymentGatewayProvider": { + "directoryName": "paymentGatewayProviders", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PaymentGatewayProvider", + "suffix": "paymentGatewayProvider" + }, + "PaymentsManagementEnabledSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PaymentsManagementEnabledSettings", + "suffix": "settings" + }, + "PaymentsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PaymentsSettings", + "suffix": "settings" + }, + "PermissionSet": { + "directoryName": "permissionsets", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PermissionSet", + "suffix": "permissionset" + }, + "PermissionSetGroup": { + "directoryName": "permissionsetgroups", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PermissionSetGroup", + "suffix": "permissionsetgroup" + }, + "PermissionSetLicenseDefinition": { + "directoryName": "permissionSetLicenseDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PermissionSetLicenseDefinition", + "suffix": "permissionSetLicenseDefinition" + }, + "PersonAccountOwnerPowerUser": { + "directoryName": "personAccountOwnerPowerUsers", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PersonAccountOwnerPowerUser", + "suffix": "personAccountOwnerPowerUser" + }, + "PicklistSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PicklistSettings", + "suffix": "settings" + }, + "PicklistValue": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PicklistValue" + }, + "PipelineInspMetricConfig": { + "directoryName": "pipelineInspMetricConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PipelineInspMetricConfig", + "suffix": "pipelineInspMetricConfig" + }, + "PlatformCachePartition": { + "directoryName": "cachePartitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PlatformCachePartition", + "suffix": "cachePartition" + }, + "PlatformEventChannel": { + "directoryName": "platformEventChannels", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PlatformEventChannel", + "suffix": "platformEventChannel" + }, + "PlatformEventChannelMember": { + "directoryName": "platformEventChannelMembers", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PlatformEventChannelMember", + "suffix": "platformEventChannelMember" + }, + "PlatformEventSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PlatformEventSettings", + "suffix": "settings" + }, + "PlatformEventSubscriberConfig": { + "directoryName": "PlatformEventSubscriberConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PlatformEventSubscriberConfig", + "suffix": "platformEventSubscriberConfig" + }, + "PlatformSlackSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PlatformSlackSettings", + "suffix": "settings" + }, + "PortalDelegablePermissionSet": { + "directoryName": "portalDelegablePermissionSet", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PortalDelegablePermissionSet", + "suffix": "portalDelegablePermissionSet" + }, + "PortalsSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PortalsSettings", + "suffix": "settings" + }, + "PostTemplate": { + "directoryName": "postTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PostTemplate", + "suffix": "postTemplate" + }, + "PredictionBuilderSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PredictionBuilderSettings", + "suffix": "settings" + }, + "PresenceDeclineReason": { + "directoryName": "presenceDeclineReasons", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PresenceDeclineReason", + "suffix": "presenceDeclineReason" + }, + "PresenceUserConfig": { + "directoryName": "presenceUserConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PresenceUserConfig", + "suffix": "presenceUserConfig" + }, + "PricingActionParameters": { + "directoryName": "pricingActionParameters", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PricingActionParameters", + "suffix": "pricingActionParameters" + }, + "PricingRecipe": { + "directoryName": "pricingRecipe", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PricingRecipe", + "suffix": "pricingRecipe" + }, + "PrivacySettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "PrivacySettings", + "suffix": "settings" + }, + "ProcessFlowMigration": { + "directoryName": "processflowmigrations", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ProcessFlowMigration", + "suffix": "processflowmigration" + }, + "ProductAttrDisplayConfig": { + "directoryName": "productAttrDisplayConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ProductAttrDisplayConfig", + "suffix": "productAttrDisplayConfig" + }, + "ProductAttributeSet": { + "directoryName": "productAttributeSets", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ProductAttributeSet", + "suffix": "productAttributeSet" + }, + "ProductConfiguratorSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ProductConfiguratorSettings", + "suffix": "settings" + }, + "ProductSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ProductSettings", + "suffix": "settings" + }, + "ProductSpecificationRecType": { + "directoryName": "productSpecificationRecTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ProductSpecificationRecType", + "suffix": "productSpecificationRecType" + }, + "ProductSpecificationType": { + "directoryName": "productSpecificationTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ProductSpecificationType", + "suffix": "productSpecificationType" + }, + "Profile": { + "directoryName": "profiles", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Profile", + "suffix": "profile" + }, + "ProfilePasswordPolicy": { + "directoryName": "profilePasswordPolicies", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ProfilePasswordPolicy", + "suffix": "profilePasswordPolicy" + }, + "ProfileSessionSetting": { + "directoryName": "profileSessionSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ProfileSessionSetting", + "suffix": "profileSessionSetting" + }, + "Prompt": { + "directoryName": "prompts", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Prompt", + "suffix": "prompt" + }, + "Queue": { + "directoryName": "queues", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Queue", + "suffix": "queue" + }, + "QueueRoutingConfig": { + "directoryName": "queueRoutingConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "QueueRoutingConfig", + "suffix": "queueRoutingConfig" + }, + "QuickAction": { + "directoryName": "quickActions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "QuickAction", + "suffix": "quickAction" + }, + "QuickTextSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "QuickTextSettings", + "suffix": "settings" + }, + "QuoteSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "QuoteSettings", + "suffix": "settings" + }, + "RealTimeEventSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RealTimeEventSettings", + "suffix": "settings" + }, + "RecAlrtDataSrcExpSetDef": { + "directoryName": "recAlrtDataSrcExpSetDefs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RecAlrtDataSrcExpSetDef", + "suffix": "recAlrtDataSrcExpSetDef" + }, + "RecommendationBuilderSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RecommendationBuilderSettings", + "suffix": "settings" + }, + "RecommendationStrategy": { + "directoryName": "recommendationStrategies", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RecommendationStrategy", + "suffix": "recommendationStrategy" + }, + "RecordActionDeployment": { + "directoryName": "recordActionDeployments", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RecordActionDeployment", + "suffix": "deployment" + }, + "RecordAggregationDefinition": { + "directoryName": "RecordAggregationDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RecordAggregationDefinition", + "suffix": "RecordAggregationDefinition" + }, + "RecordAlertCategory": { + "directoryName": "recordAlertCategories", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RecordAlertCategory", + "suffix": "recordAlertCategory" + }, + "RecordAlertDataSource": { + "directoryName": "recordAlertDataSources", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RecordAlertDataSource", + "suffix": "recordAlertDataSource" + }, + "RecordAlertTemplate": { + "directoryName": "recordAlertTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RecordAlertTemplate", + "suffix": "recordAlertTemplate" + }, + "RecordPageSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RecordPageSettings", + "suffix": "settings" + }, + "RecordType": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RecordType" + }, + "RedirectWhitelistUrl": { + "directoryName": "redirectWhitelistUrls", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RedirectWhitelistUrl", + "suffix": "redirectWhitelistUrl" + }, + "ReferencedDashboard": { + "directoryName": "wave", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ReferencedDashboard", + "suffix": "refdash" + }, + "ReferralMarketingSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ReferralMarketingSettings", + "suffix": "settings" + }, + "RegisteredExternalService": { + "directoryName": "registeredExternalServices", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RegisteredExternalService", + "suffix": "registeredExternalService" + }, + "RelatedRecordAssocCriteria": { + "directoryName": "relatedRecordAssocCriteria", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RelatedRecordAssocCriteria", + "suffix": "relatedRecordAssocCriteria" + }, + "RelationshipGraphDefinition": { + "directoryName": "relationshipGraphDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RelationshipGraphDefinition", + "suffix": "relationshipGraphDefinition" + }, + "RemoteSiteSetting": { + "directoryName": "remoteSiteSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RemoteSiteSetting", + "suffix": "remoteSite" + }, + "Report": { + "directoryName": "reports", + "hasChildren": false, + "inFolder": true, + "metaFile": false, + "name": "Report", + "suffix": "report" + }, + "ReportFolder": { + "directoryName": "reports", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ReportFolder", + "suffix": "" + }, + "ReportType": { + "directoryName": "reportTypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ReportType", + "suffix": "reportType" + }, + "RestrictionRule": { + "directoryName": "restrictionRules", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RestrictionRule", + "suffix": "rule" + }, + "RetailExecutionSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RetailExecutionSettings", + "suffix": "settings" + }, + "RetrievalSummaryDefinition": { + "directoryName": "RetrievalSummaryDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RetrievalSummaryDefinition", + "suffix": "RetrievalSummaryDefinition" + }, + "RevenueManagementSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "RevenueManagementSettings", + "suffix": "settings" + }, + "Role": { + "directoryName": "roles", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Role", + "suffix": "role" + }, + "SalesAgreementSettings": { + "directoryName": "salesAgreementSettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SalesAgreementSettings", + "suffix": "salesAgreementSetting" + }, + "SalesWorkQueueSettings": { + "directoryName": "salesworkqueuesettings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SalesWorkQueueSettings", + "suffix": "salesworkqueuesetting" + }, + "SamlSsoConfig": { + "directoryName": "samlssoconfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SamlSsoConfig", + "suffix": "samlssoconfig" + }, + "SandboxSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SandboxSettings", + "suffix": "settings" + }, + "SceGlobalModelOptOutSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SceGlobalModelOptOutSettings", + "suffix": "settings" + }, + "SchedulingObjective": { + "directoryName": "SchedulingObjectives", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SchedulingObjective", + "suffix": "schedulingObjective" + }, + "SchedulingRule": { + "directoryName": "SchedulingRules", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SchedulingRule", + "suffix": "schedulingRule" + }, + "SchemaSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SchemaSettings", + "suffix": "settings" + }, + "ScoreCategory": { + "directoryName": "scoreCategories", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ScoreCategory", + "suffix": "scoreCategory" + }, + "SearchCustomization": { + "directoryName": "searchCustomizations", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SearchCustomization", + "suffix": "searchCustomization" + }, + "SearchOrgWideObjectConfig": { + "directoryName": "searchOrgWideConfiguration", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SearchOrgWideObjectConfig", + "suffix": "searchOrgWideObjectConfig" + }, + "SearchSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SearchSettings", + "suffix": "settings" + }, + "SecuritySettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SecuritySettings", + "suffix": "settings" + }, + "ServiceAISetupDefinition": { + "directoryName": "serviceAISetupDescriptions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ServiceAISetupDefinition", + "suffix": "serviceAISetupDescription" + }, + "ServiceAISetupField": { + "directoryName": "serviceAISetupFields", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ServiceAISetupField", + "suffix": "serviceAISetupField" + }, + "ServiceChannel": { + "directoryName": "serviceChannels", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ServiceChannel", + "suffix": "serviceChannel" + }, + "ServiceCloudVoiceSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ServiceCloudVoiceSettings", + "suffix": "settings" + }, + "ServicePresenceStatus": { + "directoryName": "servicePresenceStatuses", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ServicePresenceStatus", + "suffix": "servicePresenceStatus" + }, + "ServiceProcess": { + "directoryName": "serviceprocess", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ServiceProcess", + "suffix": "serviceprocess" + }, + "ServiceSetupAssistantSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ServiceSetupAssistantSettings", + "suffix": "settings" + }, + "SharingCriteriaRule": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SharingCriteriaRule" + }, + "SharingGuestRule": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SharingGuestRule" + }, + "SharingOwnerRule": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SharingOwnerRule" + }, + "SharingReason": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SharingReason" + }, + "SharingRules": { + "directoryName": "sharingRules", + "hasChildren": true, + "inFolder": false, + "metaFile": false, + "name": "SharingRules", + "suffix": "sharingRules" + }, + "SharingSet": { + "directoryName": "sharingSets", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SharingSet", + "suffix": "sharingSet" + }, + "SharingSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SharingSettings", + "suffix": "settings" + }, + "SharingTerritoryRule": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SharingTerritoryRule" + }, + "SiteDotCom": { + "directoryName": "siteDotComSites", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "SiteDotCom", + "suffix": "site" + }, + "SiteSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SiteSettings", + "suffix": "settings" + }, + "Skill": { + "directoryName": "skills", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Skill", + "suffix": "skill" + }, + "SkillType": { + "directoryName": "skilltypes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SkillType", + "suffix": "skilltype" + }, + "SlackApp": { + "directoryName": "slackapps", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "SlackApp", + "suffix": "slackapp" + }, + "SocialCustomerServiceSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SocialCustomerServiceSettings", + "suffix": "settings" + }, + "SourceTrackingSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SourceTrackingSettings", + "suffix": "settings" + }, + "StandardValue": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "StandardValue" + }, + "StandardValueSet": { + "directoryName": "standardValueSets", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "StandardValueSet", + "suffix": "standardValueSet" + }, + "StandardValueSetTranslation": { + "directoryName": "standardValueSetTranslations", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "StandardValueSetTranslation", + "suffix": "standardValueSetTranslation" + }, + "StaticResource": { + "directoryName": "staticresources", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "StaticResource", + "suffix": "resource" + }, + "StnryAssetEnvSrcCnfg": { + "directoryName": "stationaryAssetEnvSourceConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "StnryAssetEnvSrcCnfg", + "suffix": "stationaryAssetEnvSourceConfig" + }, + "StreamingAppDataConnector": { + "directoryName": "streamingAppDataConnectors", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "StreamingAppDataConnector", + "suffix": "streamingAppDataConnector" + }, + "SubscriptionManagementSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SubscriptionManagementSettings", + "suffix": "settings" + }, + "SurveySettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SurveySettings", + "suffix": "settings" + }, + "SustainabilityUom": { + "directoryName": "sustainabilityUoms", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SustainabilityUom", + "suffix": "sustainabilityUom" + }, + "SustnUomConversion": { + "directoryName": "sustnUomConversions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SustnUomConversion", + "suffix": "sustnUomConversion" + }, + "SvcCatalogCategory": { + "directoryName": "svcCatalogCategories", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SvcCatalogCategory", + "suffix": "category" + }, + "SvcCatalogFilterCriteria": { + "directoryName": "svcCatalogFilterCriteria", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SvcCatalogFilterCriteria", + "suffix": "filterCriterion" + }, + "SvcCatalogFulfillmentFlow": { + "directoryName": "svcCatalogFulfillmentFlows", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SvcCatalogFulfillmentFlow", + "suffix": "fulfillmentFlow" + }, + "SvcCatalogItemDef": { + "directoryName": "svcCatalogItems", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SvcCatalogItemDef", + "suffix": "catalogItem" + }, + "SynonymDictionary": { + "directoryName": "synonymDictionaries", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SynonymDictionary", + "suffix": "synonymDictionary" + }, + "SystemNotificationSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "SystemNotificationSettings", + "suffix": "settings" + }, + "Territory": { + "directoryName": "territories", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Territory", + "suffix": "territory" + }, + "Territory2": { + "directoryName": "territory2Models", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Territory2", + "suffix": "territory2" + }, + "Territory2Model": { + "directoryName": "territory2Models", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Territory2Model", + "suffix": "territory2Model" + }, + "Territory2Rule": { + "directoryName": "territory2Models", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Territory2Rule", + "suffix": "territory2Rule" + }, + "Territory2Settings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Territory2Settings", + "suffix": "settings" + }, + "Territory2Type": { + "directoryName": "territory2Types", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Territory2Type", + "suffix": "territory2Type" + }, + "TimeSheetTemplate": { + "directoryName": "timeSheetTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "TimeSheetTemplate", + "suffix": "timeSheetTemplate" + }, + "TimelineObjectDefinition": { + "directoryName": "timelineObjectDefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "TimelineObjectDefinition", + "suffix": "timelineObjectDefinition" + }, + "TopicsForObjects": { + "directoryName": "topicsForObjects", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "TopicsForObjects", + "suffix": "topicsForObjects" + }, + "TrailheadSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "TrailheadSettings", + "suffix": "settings" + }, + "TransactionSecurityPolicy": { + "directoryName": "transactionSecurityPolicies", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "TransactionSecurityPolicy", + "suffix": "transactionSecurityPolicy" + }, + "Translations": { + "directoryName": "translations", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Translations", + "suffix": "translation" + }, + "TrialOrgSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "TrialOrgSettings", + "suffix": "settings" + }, + "UIObjectRelationConfig": { + "directoryName": "uiObjectRelationConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "UIObjectRelationConfig", + "suffix": "uiObjectRelationConfig" + }, + "UiPlugin": { + "directoryName": "uiplugins", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "UiPlugin", + "suffix": "uiplugin" + }, + "UserAccessPolicy": { + "directoryName": "useraccesspolicies", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "UserAccessPolicy", + "suffix": "useraccesspolicy" + }, + "UserAuthCertificate": { + "directoryName": "userAuthCertificates", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "UserAuthCertificate", + "suffix": "userAuthCertificate" + }, + "UserCriteria": { + "directoryName": "userCriteria", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "UserCriteria", + "suffix": "userCriteria" + }, + "UserEngagementSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "UserEngagementSettings", + "suffix": "settings" + }, + "UserInterfaceSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "UserInterfaceSettings", + "suffix": "settings" + }, + "UserManagementSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "UserManagementSettings", + "suffix": "settings" + }, + "UserProfileSearchScope": { + "directoryName": "userProfileSearchScopes", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "UserProfileSearchScope", + "suffix": "userProfileSearchScope" + }, + "UserProvisioningConfig": { + "directoryName": "userProvisioningConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "UserProvisioningConfig", + "suffix": "userProvisioningConfig" + }, + "ValidationRule": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "ValidationRule" + }, + "VehicleAssetEmssnSrcCnfg": { + "directoryName": "vehicleAssetEmssnSourceConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "VehicleAssetEmssnSrcCnfg", + "suffix": "vehicleAssetEmssnSourceConfig" + }, + "ViewDefinition": { + "directoryName": "viewdefinitions", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "ViewDefinition", + "suffix": "view" + }, + "VirtualVisitConfig": { + "directoryName": "VirtualVisitConfigs", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "VirtualVisitConfig", + "suffix": "virtualVisitConfig" + }, + "VoiceSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "VoiceSettings", + "suffix": "settings" + }, + "WarrantyLifecycleMgmtSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WarrantyLifecycleMgmtSettings", + "suffix": "settings" + }, + "WaveAnalyticAssetCollection": { + "directoryName": "wave", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WaveAnalyticAssetCollection", + "suffix": "collection" + }, + "WaveApplication": { + "directoryName": "wave", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WaveApplication", + "suffix": "wapp" + }, + "WaveComponent": { + "directoryName": "wave", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "WaveComponent", + "suffix": "wcomp" + }, + "WaveDashboard": { + "directoryName": "wave", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "WaveDashboard", + "suffix": "wdash" + }, + "WaveDataflow": { + "directoryName": "wave", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "WaveDataflow", + "suffix": "wdf" + }, + "WaveDataset": { + "directoryName": "wave", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WaveDataset", + "suffix": "wds" + }, + "WaveLens": { + "directoryName": "wave", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "WaveLens", + "suffix": "wlens" + }, + "WaveRecipe": { + "directoryName": "wave", + "hasChildren": false, + "inFolder": false, + "metaFile": true, + "name": "WaveRecipe", + "suffix": "wdpr" + }, + "WaveTemplateBundle": { + "directoryName": "waveTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WaveTemplateBundle" + }, + "WaveXmd": { + "directoryName": "wave", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WaveXmd", + "suffix": "xmd" + }, + "Web3Settings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "Web3Settings", + "suffix": "settings" + }, + "WebLink": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WebLink" + }, + "WebStoreBundle": { + "directoryName": "webStoreBundles", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WebStoreBundle", + "suffix": "webStoreBundle" + }, + "WebStoreTemplate": { + "directoryName": "webStoreTemplates", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WebStoreTemplate", + "suffix": "webStoreTemplate" + }, + "WebToXSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WebToXSettings", + "suffix": "settings" + }, + "WorkDotComSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WorkDotComSettings", + "suffix": "settings" + }, + "WorkSkillRouting": { + "directoryName": "workSkillRoutings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WorkSkillRouting", + "suffix": "workSkillRouting" + }, + "Workflow": { + "directoryName": "workflows", + "hasChildren": true, + "inFolder": false, + "metaFile": false, + "name": "Workflow", + "suffix": "workflow" + }, + "WorkflowAlert": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WorkflowAlert" + }, + "WorkflowFieldUpdate": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WorkflowFieldUpdate" + }, + "WorkflowFlowAction": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WorkflowFlowAction" + }, + "WorkflowKnowledgePublish": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WorkflowKnowledgePublish" + }, + "WorkflowOutboundMessage": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WorkflowOutboundMessage" + }, + "WorkflowRule": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WorkflowRule" + }, + "WorkflowSend": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WorkflowSend" + }, + "WorkflowTask": { + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WorkflowTask" + }, + "WorkforceEngagementSettings": { + "directoryName": "settings", + "hasChildren": false, + "inFolder": false, + "metaFile": false, + "name": "WorkforceEngagementSettings", + "suffix": "settings" + } +} From 18268ec08c78813b30ae06715d04207b62276aa6 Mon Sep 17 00:00:00 2001 From: mshanemc Date: Wed, 14 Aug 2024 14:27:14 -0500 Subject: [PATCH 02/11] ci: new registry update scripts --- contributing/metadata.md | 135 +++++++--------- package.json | 4 +- scripts/update-registry/shared/types.ts | 25 +++ .../update-registry/shared/updateRegistry.ts | 68 ++++++++ scripts/update-registry/update2.ts | 145 ------------------ .../updateRegistryFromCoreMetadata.ts | 36 +++++ .../update-registry/updateRegistryFromOrg.ts | 38 +++++ src/registry/nonSupportedTypes.ts | 72 +-------- test/utils/getMissingTypes.ts | 3 +- tsconfig.json | 2 +- yarn.lock | 36 +---- 11 files changed, 230 insertions(+), 334 deletions(-) create mode 100644 scripts/update-registry/shared/types.ts create mode 100644 scripts/update-registry/shared/updateRegistry.ts delete mode 100644 scripts/update-registry/update2.ts create mode 100644 scripts/update-registry/updateRegistryFromCoreMetadata.ts create mode 100644 scripts/update-registry/updateRegistryFromOrg.ts diff --git a/contributing/metadata.md b/contributing/metadata.md index aee28ba49a..00585b8f77 100644 --- a/contributing/metadata.md +++ b/contributing/metadata.md @@ -2,43 +2,56 @@ You can view the existing metadata coverage by release using [METADATA_SUPPORT.md](../METADATA_SUPPORT.md) -- It can be updated by running - The script runs daily via github actions. You only need to run it if you want to see the results of your registry changes. +- It can be updated by running ```shell yarn update-supported-metadata ``` -Got questions? +## Project Setup -- If you work for Salesforce, - - For general questions, post in [#platform-cli](https://salesforce-internal.slack.com/archives/C01LKDT1P6J) - - For PR reviews, post in [#platform-cli-collaboration](https://salesforce.enterprise.slack.com/archives/C06V045BZD0) -- If not, [open an issue](https://github.com/forcedotcom/cli/issues) +1. Fork [SourceDeployRetrieve github repo](https://github.com/forcedotcom/source-deploy-retrieve) +1. Clone forked repo in local and checkout a new branch +1. Setup Yarn + 1. Go to the repo directory + 1. Run `yarn install && yarn build` ## Adding new types to the registry via a script > NOTE: If you have a “Settings” metadata type, you do not need to follow these instructions. Support for your type is already built into SDR. -To simplify modifying the registry, there's a script. +### Path 1: Using Core Metadata + +There exists a test in Core [sourcegraph](https://sourcegraph.soma.salesforce.com/perforce.soma.salesforce.com/app/250/patch/core/-/blob/md-common-impl/test/func/java/src/mdcommon/cli/GenerateCLITypeRegistryInfoTest.java) that generates a file [sourcegraph](https://sourcegraph.soma.salesforce.com/perforce.soma.salesforce.com/app/252/patch/core/-/blob/md-common-impl/test/func/results/cli-type-registry-info/cli-type-registry-info.json). + +The test is manually run, the file is committed to `patch`, and the output is manually copied to `../scripts/update-registry/describe.json` in SDR. -> Note: The script depends on being able to create an org that will have your type. If you have a working org, but your type isn't compatible with scratch org, you can [use an existing org](#use-an-existing-org) +If your metadata type is simple and already in the file, run `yarn update-registry-org ` (you'll see warnings if your type is missing or too complex for the script to handle) -> Note: The script will use your default dev hub. If you don't have one, set one up. If you want to use a different hub, update your default. +Running the script with no params will try to do ALL missing metadata types. + +### Path 2: Using Describe from an Org + +> Note: The script asks your org for describe information about your type. Make sure that `sf org list metadata-types` returns the correct information for your type. The script will: -1. Look for missing types (similar to the completeness test) -2. For missing types, generate a project and scratch org that includes the Features/Settings -3. Run `sf org list metadata-types` to get the describe -4. Modify the registry to include the newly found types +1. Look for missing types (similar to the completeness test) OR the types you specify +1. Run `sf org list metadata-types` to get the describe +1. Modify the registry to include the newly found types ```shell -yarn update-registry YourTypeNameHere +sf alias set registryBuilder= +yarn update-registry-org ``` You can set the environment variable `SF_ORG_API_VERSION` if you want to specify an API version. +### Results + +You should see updates to `src/registry/metadataRegistry.json` (check `git status`) + ### What the script can't do inFolderTypes and types with childXml in their describe are not supported. You **want** to explore the various strategies for those (see the [SDR Handbook](../HANDBOOK.md) in this repo) and [create tests](#integration-testing) to validate that your types are being handled correctly. @@ -51,6 +64,8 @@ If that's confusing, it's a great time to reach out to the CLI team. ## Manual Edits +> only do this if the script can't handle our type OR your type isn't in the CoverageReport yet and the script won't see it + You can do what the script does yourself. As you work, run `./node_modules/mocha/bin/mocha test/registry/registryValidation.test.ts` to check your entries Run `sf org list metadata-types --json` to get the describe. `>` the output to a file or pipe it to [jq](https://stedolan.github.io/jq/) (`| jq`) to find your type. @@ -135,23 +150,31 @@ The completeness is checked by comparing the registry to the metadata coverage r If you find your types (or the features they require) excluded by `nonSupportedTypes.ts` but think they're ready to go, feel free to remove them from the list. -There are 2 main ways this happens (or ways to make this work if it currently isn't) +## Manual Testing -1. A feature is available to scratch orgs when it previously wasn't -1. The metadata coverage report's "settings" were not sufficient to enable your type to appear in the `describe` call. +Want to make sure your types are working as expected? -Fixing those problems not only makes it easier to automate your type's support in the library, but also makes your type usable by customers (features) and fixes your documentation (coverageReport). +### Path 1 (replace the registry in your CLI) -## Manual Testing +1. find where your CLI has `metadataRegistry.json`. This varies based on how you installed the CLI and your machine. For example, using the installers on a mac, the registry is in ~/.local/share/sf/client/current/node_modules/@salesforce/source-deploy-retrieve/lib/src/registry/metadataRegistry.json +1. copy your modified registry from SDR over the existing file in your CLI -Want to make sure your types are working as expected? +### Path 2 (patch the registry via registryCustomizations) 1. Create a new project with `sf project generate -n registryTest` -1. Create a scratch org `sf org create scratch` +1. Open the generated `sfdx-project.json` and add a property `registryCustomizations`. Its shape is the same as the Metadata Registry, and it is treated as a "patch" for the default registry. If you generated registry changes above, you can add just those changes to `registryCustomizations`. + 1. suffixes + 1. strictDirectoryNames (could be empty if your new type doesn't use this) + 1. childTypes (could be empty if your new type doesn't use this) + 1. types + +### Sample validation + +1. Create a scratch org `sf org create scratch` (edit the scratch org definition file if your types needs features/settings) 1. Open the org and create your types. -1. Run `sf project deploy preview` and verify the remote add. +1. Run `sf project retrieve preview` and verify the remote add. 1. Run `sf project retrieve start` to pull the metadata and examine what is retrieved -1. Run `sf project deploy preview` and verify the changes were retrieved and no longer appear. +1. Run `sf project retrieve preview` and verify the changes were retrieved and no longer appear. 1. Delete the org `sf org delete scratch --no-prompt` 1. Create a new scratch org. `sf org create scratch` 1. Push the source `sf project deploy start` @@ -169,10 +192,10 @@ Target types must be MDAPI addressable on the server. If they aren’t MDAPI add ## Unit Testing -Reach out to the CLI team for help with unit tests. - [metadataResolver.ts](../test/resolve/metadataResolver.test.ts) is an example of unit testing one behavior (resolving from source files) of a real metadata type. +We don't recommend additional UT for anything the script generated. But if you had a complex type, reach out to the CLI team for help with unit tests. + ## Integration Testing If you're doing anything complex (you've used any of the following properties `strategies`, `folderType`, `inFolder=true`, `ignoreParsedFullName`, `folderContentType`, `ignoreParentName`), you'll want to add some NUTs (not-unit-tests) that verify the behavior or your types using real orgs and to prevent SDR changes from causing regressions on your types. @@ -183,61 +206,9 @@ NUTs live in [plugin-deploy-retrieve](https://github.com/salesforcecli/plugin-de See [testkit](https://github.com/salesforcecli/cli-plugins-testkit) for examples and usage. -# Tips and Tricks +## Got questions? -### Work in stages - -If you see a whole bunch of new unsupported types, you can "ignore" all the features and work through them in chunks (uncomment a feature at a time) using nonSupportedTypes.ts - -If you want to update the registry for only a subset of the currently missing metadata types, add your types as arguments to the script. - -```bash -# normal, update all missing types -yarn update-registry -# only update the 2 types listed -yarn update-registry AssessmentQuestion AssessmentQuestionSet -``` - -### DevHub settings - -Some metadata types require features which require modifications to the DevHub (licenses, etc) and some may have to stay ignored (ex: a pilot feature you can't enable) - -### Use an existing org - -You can use an existing org for the metadata describe portion of the script by - -1. setting its alias to `registryBuilder` -2. setting the env `RB_EXISTING_ORG` ex: `RB_EXISTING_ORG=true yarn update-registry` - -### Steps to add your metadata in registry - -## Prerequisites - -1. A sfdx project must exist in local `sf project generate --name --default-package-dir -x` -1. An authorized devhub org must exists `sf org login web -a -r -d` -1. A scratch org must exists with alias `registryBuilder` - 1. Update `project-scratch-def.json` as per your requirements - 1. Run `sf org create scratch -f config/project-scratch-def.json -a registryBuilder -d` - -## Steps - -1. Fork [SourceDeployRetrieve github repo](https://github.com/forcedotcom/source-deploy-retrieve) -1. Clone forked repo in local and checkout a new branch -1. Setup Yarn - 1. Go to the repo directory - 1. Run `yarn install && yarn build` -1. Setup an environment variable by executing command `export RB_EXISTING_ORG=true` -1. Execute yarn update command for required metadata entities `yarn update-registry ` -1. Check if respective file (`src/registry/metadataRegistry.json`) was updated with `git status` - -Now changes are available in local, we have to link the registry with sfdx project - -1. From SDR git repo directory, run `yarn build && yarn link` -1. Clone the [plugin-deploy-retrieve repo](https://github.com/salesforcecli/plugin-deploy-retrieve) -1. From cloned plugin repo directory execute - 1. `yarn link @salesforce/source-deploy-retrieve` - 1. `sfdx plugins:link .` - 1. `yarn build` - -Registry has been set for your entities, now you can run (e.g.) `sf project deploy start` command for your entities: -Proceed to `Manual Testing` section above in this document. +- If you work for Salesforce, + - For general questions, post in [#platform-cli](https://salesforce-internal.slack.com/archives/C01LKDT1P6J) + - For PR reviews, post in [#platform-cli-collaboration](https://salesforce.enterprise.slack.com/archives/C06V045BZD0) +- If not, [open an issue](https://github.com/forcedotcom/cli/issues) diff --git a/package.json b/package.json index d46922b15f..70dd9b20a7 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,6 @@ "@types/mime": "2.0.3", "@types/minimatch": "^5.1.2", "deep-equal-in-any-order": "^1.1.19", - "deepmerge": "^4.3.1", "eslint-plugin-sf-plugin": "^1.20.1", "mocha-junit-reporter": "^1.23.3", "mocha-snap": "^5.0.0", @@ -79,7 +78,8 @@ "test:only": "wireit", "test:registry": "mocha ./test/registry/registryCompleteness.test.ts --timeout 50000", "test:snapshot": "wireit", - "update-registry": "npx ts-node scripts/update-registry/update2.ts", + "update-registry-org": "npx ts-node scripts/update-registry/updateRegistryFromOrg.ts", + "update-registry-core": "npx ts-node scripts/update-registry/updateRegistryFromCoreMetadata.ts", "update-supported-metadata": "npx ts-node scripts/update-registry/update-supported-metadata.ts" }, "lint-staged": { diff --git a/scripts/update-registry/shared/types.ts b/scripts/update-registry/shared/types.ts new file mode 100644 index 0000000000..eb19acf42e --- /dev/null +++ b/scripts/update-registry/shared/types.ts @@ -0,0 +1,25 @@ +export type DescribeFile = { [key: string]: LooseDescribeEntry }; +export type DescribeEntry = LooseDescribeEntry & Required>; + +/** + * From the org-agnostic describe.json file. + * might not have dirname or suffix */ +export type LooseDescribeEntry = { + directoryName?: string; + inFolder: boolean; + metaFile: boolean; + suffix?: string; + name: string; + hasChildren: boolean; +}; + +/** produced by the mdapi, describing an org */ +export type DescribeResult = { + directoryName: string; + inFolder: boolean; + metaFile: boolean; + suffix: string; + xmlName: string; + folderContentType: string; + childXmlNames: string[]; +}; diff --git a/scripts/update-registry/shared/updateRegistry.ts b/scripts/update-registry/shared/updateRegistry.ts new file mode 100644 index 0000000000..5bd3281dac --- /dev/null +++ b/scripts/update-registry/shared/updateRegistry.ts @@ -0,0 +1,68 @@ +import { MetadataRegistry } from '../../../src/registry/types'; +import { DescribeEntry } from './types'; +import * as fs from 'fs'; +import { env } from '@salesforce/kit'; +import { getCoverage, getCurrentApiVersion } from 'src/registry/coverage'; +import { getMissingTypes } from 'test/utils/getMissingTypes'; + +export const registry = JSON.parse( + fs.readFileSync('./src/registry/metadataRegistry.json', 'utf8') +) as unknown as MetadataRegistry; + +/** + * Simple type implementation. Not handling children. + */ +export const registryUpdate = (missingTypesAsDescribeResult: DescribeEntry[]) => { + missingTypesAsDescribeResult.map((missingTypeDescribe) => { + if (missingTypeDescribe.hasChildren || missingTypeDescribe.inFolder) { + console.log(`Skipping ${missingTypeDescribe.name} because it is a folder or has children`); + return; + } + const { name, suffix, metaFile, directoryName, inFolder } = missingTypeDescribe; + const typeId = missingTypeDescribe.name.toLowerCase(); + + const generatedType = { + id: typeId, + name, + suffix, + directoryName, + inFolder, + strictDirectoryName: false, + }; + registry.types[typeId] = { + ...generatedType, + ...(metaFile ? { strategies: { adapter: 'matchingContentFile' } } : {}), + }; + if (registry.suffixes) { + registry.suffixes[suffix] = typeId; + } + }); + const jsonData = JSON.stringify(registry, null, 2); + fs.writeFileSync('./src/registry/metadataRegistry.json', jsonData); +}; + +export const isDefined = (input: T | undefined): input is T => input !== undefined; + +const typesFromCoverageRegistryDelta = async (): Promise => { + const currentApiVersion = env.getNumber('SF_ORG_API_VERSION') ?? (await getCurrentApiVersion()); + console.log(`Using API version: ${currentApiVersion}`); + + const metadataCoverage = await getCoverage(currentApiVersion); + console.log( + `CoverageReport shows ${Object.keys(metadataCoverage.types).length} items in the metadata coverage report` + ); + return getMissingTypes(metadataCoverage, registry).map(([name]) => name); +}; + +/** if md types were passed in as varArgs, uses those. Otherwise, gets the missing types by comparing Coverage Report to registry */ +export const whatTypesNeedDescribe = async (): Promise => { + const typesToFind = process.argv.length > 2 ? process.argv.slice(2) : await typesFromCoverageRegistryDelta(); + + if (typesToFind.length === 0) { + console.log(`Your registry is complete! Congratulations!`); + process.exit(0); + } + console.log([`Will get describe for these types:`, ...typesToFind].join('\n - ')); + + return typesToFind; +}; diff --git a/scripts/update-registry/update2.ts b/scripts/update-registry/update2.ts deleted file mode 100644 index 3ecf400de0..0000000000 --- a/scripts/update-registry/update2.ts +++ /dev/null @@ -1,145 +0,0 @@ -// determine missing types from metadataCoverageReport -import { exec } from 'node:child_process'; -import { promisify } from 'node:util'; -import * as fs from 'fs'; -import { MetadataRegistry } from '../../src'; -import { exit } from 'process'; -import * as deepmerge from 'deepmerge'; -import { CoverageObject, CoverageObjectType } from '../../src/registry/types'; -import { getMissingTypes } from '../../test/utils/getMissingTypes'; -import { getCurrentApiVersion, getCoverage } from '../../src/registry/coverage'; -import { env } from '@salesforce/kit'; - -export let metadataCoverage: CoverageObject; -const execProm = promisify(exec); - -interface DescribeResult { - directoryName: string; - inFolder: boolean; - metaFile: boolean; - suffix: string; - xmlName: string; - folderContentType: string; - childXmlNames: string[]; -} - -const registry = JSON.parse( - fs.readFileSync('./src/registry/metadataRegistry.json', 'utf8') -) as unknown as MetadataRegistry; - -const updateProjectScratchDef = (missingTypes: [string, CoverageObjectType][]) => { - const scratchDefSummary = deepmerge.all( - [{}].concat(missingTypes.map(([key, missingType]) => missingType.orgShapes.developer)) - ) as { - features: string[]; - }; - - scratchDefSummary.features = [...new Set(scratchDefSummary.features)]; - const jsonData = JSON.stringify({ edition: 'developer', ...scratchDefSummary }); - fs.writeFileSync('./registryBuilder/config/project-scratch-def.json', jsonData); - if (scratchDefSummary.features.length > 0) { - console.log(`Creating org with features ${scratchDefSummary.features.join(',')}`); - } -}; - -const getMissingTypesAsDescribeResult = async ( - missingTypes: [string, CoverageObjectType][] -): Promise => { - const describeResult = await execProm('sf org list metadata-types -o registryBuilder --json'); - const metadataObjectsByName = new Map(); - (JSON.parse(describeResult.stdout).result.metadataObjects as DescribeResult[]).map((describeObj) => { - metadataObjectsByName.set(describeObj.xmlName, describeObj); - }); - // get the missingTypes from the describe - return missingTypes.map(([key]) => metadataObjectsByName.get(key)).filter((t): t is DescribeResult => !!t); // <-- satisfies TS compiler -}; - -/** - * Simple type implementation. Not handling children. - */ -const registryUpdate = (missingTypesAsDescribeResult: DescribeResult[]) => { - missingTypesAsDescribeResult.map((missingTypeDescribe) => { - if (missingTypeDescribe.childXmlNames?.length || missingTypeDescribe.folderContentType) { - console.log(`Skipping ${missingTypeDescribe.xmlName} because it is a folder or has children`); - return; - } - const { xmlName: name, suffix, metaFile, directoryName, inFolder } = missingTypeDescribe; - let typeId = missingTypeDescribe.xmlName.toLowerCase(); - - const generatedType = { - id: typeId, - name, - suffix, - directoryName, - inFolder, - strictDirectoryName: false, - }; - registry.types[typeId] = { - ...generatedType, - ...(metaFile ? { strategies: { adapter: 'matchingContentFile' } } : {}), - }; - if (registry.suffixes) { - registry.suffixes[suffix] = typeId; - } - }); - const jsonData = JSON.stringify(registry, null, 2); - fs.writeFileSync('./src/registry/metadataRegistry.json', jsonData); -}; - -// get the coverage report -(async () => { - const currentApiVersion = env.getNumber('SF_ORG_API_VERSION') ?? (await getCurrentApiVersion()); - console.log(`Using API version: ${currentApiVersion}`); - - const metadataCoverage = await getCoverage(currentApiVersion); - console.log( - `CoverageReport shows ${Object.keys(metadataCoverage.types).length} items in the metadata coverage report` - ); - const missingTypes = getMissingTypes(metadataCoverage, registry).filter(([name]) => - process.argv.length > 2 ? process.argv.includes(name) : true - ); - if (missingTypes.length === 0) { - console.log(`Your registry is complete! Congratulations!`); - exit(0); - } - console.log( - `There are ${missingTypes.length} items missing from your registry: ${missingTypes - .map(([typeName]) => typeName) - .join('\n')}` - ); - - // create an org we can describe - await execProm('sf project generate -n registryBuilder'); - updateProjectScratchDef(missingTypes); - // TODO: sourceApi has to match the coverage report - if (!process.env.RB_EXISTING_ORG) { - const hasDefaultDevHub = Boolean( - JSON.parse((await execProm('sf config get target-dev-hub --json')).stdout).result[0].value - ); - - if (!hasDefaultDevHub) { - console.log(` -Failed to create scratch org: default Dev Hub not found. -To create the scratch org you need to set a default Dev Hub with \`sfdx\`. -Example: \`sf config set defaultdevhubusername= --global\` -`); - exit(1); - } - - await execProm( - 'sf org create scratch -f registryBuilder/config/project-scratch-def.json -y 1 -a registryBuilder --wait 30' - ); - } - // describe the org - const missingTypesAsDescribeResult = await getMissingTypesAsDescribeResult(missingTypes); - console.log(missingTypesAsDescribeResult); - registryUpdate(missingTypesAsDescribeResult); - - // update the registry - - // destroy the scratch org and the project - if (!process.env.RB_EXISTING_ORG) { - await execProm('sf org delete scratch -o registryBuilder --no-prompt'); - } - fs.rmSync('registryBuilder', { recursive: true, force: true }); -})(); diff --git a/scripts/update-registry/updateRegistryFromCoreMetadata.ts b/scripts/update-registry/updateRegistryFromCoreMetadata.ts new file mode 100644 index 0000000000..d66f04ddf9 --- /dev/null +++ b/scripts/update-registry/updateRegistryFromCoreMetadata.ts @@ -0,0 +1,36 @@ +import * as fs from 'node:fs'; +import { CoverageObject } from '../../src/registry/types'; +import { LooseDescribeEntry, DescribeEntry, DescribeFile } from './shared/types'; +import { registryUpdate, isDefined, whatTypesNeedDescribe } from './shared/updateRegistry'; + +export let metadataCoverage: CoverageObject; + +/** has suffix and directorName */ +const isCompleteEntry = (input: [string, LooseDescribeEntry]): input is [string, DescribeEntry] => + typeof input[1].directoryName === 'string' && typeof input[1].suffix === 'string'; + +// comes from https://sourcegraph.soma.salesforce.com/perforce.soma.salesforce.com/app/252/patch/core/-/blob/md-common-impl/test/func/results/cli-type-registry-info/cli-type-registry-info.json +const describeFile = Object.fromEntries( + Object.entries( + JSON.parse(fs.readFileSync('./scripts/update-registry/describe.json', 'utf8')) as unknown as DescribeFile + ).filter(isCompleteEntry) // omit any children types +); + +const getMissingTypesFromDescribe = async (missingTypes: string[]): Promise => + missingTypes.map(logMissingEntry(describeFile)).filter(isDefined); + +const logMissingEntry = + (describe: typeof describeFile) => + (typeName: string): DescribeEntry | undefined => { + if (describe[typeName]) { + return describe[typeName]; + } + console.warn(`No entry for ${typeName}`); + }; + +(async () => { + const missingTypes = (await whatTypesNeedDescribe()).map(([t]) => t); + const missingTypesAsDescribeResult = await getMissingTypesFromDescribe(missingTypes); + console.log(missingTypesAsDescribeResult); + registryUpdate(missingTypesAsDescribeResult); +})(); diff --git a/scripts/update-registry/updateRegistryFromOrg.ts b/scripts/update-registry/updateRegistryFromOrg.ts new file mode 100644 index 0000000000..e938cdf352 --- /dev/null +++ b/scripts/update-registry/updateRegistryFromOrg.ts @@ -0,0 +1,38 @@ +import { exec } from 'node:child_process'; +import { promisify } from 'node:util'; +import { whatTypesNeedDescribe, isDefined, registryUpdate } from './shared/updateRegistry'; +import { DescribeEntry, DescribeResult } from './shared/types'; + +const execProm = promisify(exec); + +const getMissingTypesAsDescribeResult = async (missingTypes: string[]): Promise => { + const describeResult = await execProm('sf org list metadata-types -o registryBuilder --json'); + const metadataObjectsByName = new Map( + (JSON.parse(describeResult.stdout).result.metadataObjects as DescribeResult[]).map((describeObj) => [ + describeObj.xmlName, + describeObj, + ]) + ); + // get the missingTypes from the describe + return missingTypes.map(([key]) => metadataObjectsByName.get(key)).filter(isDefined); +}; + +/** massage for slight differences between the 2 types */ +const describeResultToDescribeEntry = (describeResult: DescribeResult): DescribeEntry => ({ + ...describeResult, + name: describeResult.xmlName, + hasChildren: !!describeResult.childXmlNames?.length, +}); + +(async () => { + if (process.argv.length < 3) { + throw new Error( + 'Please provide the types to update the registry with. Ex: `yarn update-registry-org CustomObject CustomField`' + ); + } + const missingTypes = await whatTypesNeedDescribe(); + + const missingTypesAsDescribeResult = await getMissingTypesAsDescribeResult(missingTypes); + console.log(missingTypesAsDescribeResult); + registryUpdate(missingTypesAsDescribeResult.map(describeResultToDescribeEntry)); +})(); diff --git a/src/registry/nonSupportedTypes.ts b/src/registry/nonSupportedTypes.ts index 3272e91e53..3b050b5b42 100644 --- a/src/registry/nonSupportedTypes.ts +++ b/src/registry/nonSupportedTypes.ts @@ -13,85 +13,19 @@ import { CoverageObjectType } from './types'; * typically because the devhub doesn't support them, so we can't use metadataDescribe * * */ -export const features = [ - // ERROR running force:org:create: * is not a valid Features value. - 'SERVICECATALOG', - 'DYNAMICATTRIBUTES', - 'CONTRACTMGMT', - 'CUSTOMIZABLENAMEDCREDENTIALS', - 'INDUSTRIESMFGPROGRAMPILOT', - 'HEALTHCLOUDHPIBETA', - 'MANAGETIMELINE', - 'HEALTHCLOUDBETA', - 'UNIFIEDHEALTHSCORING', - 'EINSTEINDOCREADER', - 'ACCOUNTINGSUBLEDGERACCESS', - 'INSURANCECALCULATIONUSER', - 'SCFUELTYPEPILOTFEATURE', - 'B2CEREPRICINGKILLSWITCH', - 'USERACCESSPOLICIESFORPILOTVISIBILITY', - 'BOTBLOCKS', - 'INDUSTRIESINTERACTIONCALCULATION', - 'BUSINESSRULESENGINE', - 'FUNDRAISING', - 'PARDOTADVANCED', // org:create throws a C-9999 when this is not excluded - 'EXTERNALCONNECTIVITY', // for type ExternalAuthIdentityProvider. might work if it were added to a dev hub -]; +export const features = []; + +export const settings = []; -export const settings = [ - 'botSettings', // have not successfully deployed this because of licensing errors when deploying settings -]; export const metadataTypes = [ // things that don't show up in describe so far 'PicklistValue', // only existed in v37, so it's hard to describe! // two children of GlobalValueSet 'CustomValue', 'StandardValue', - - // the following are not describable based on their features/settings, see git blame for last time checked - 'EmployeeDataSyncProfile', - 'RelatedRecordAssocCriteria', - 'ScoreRange', - 'WorkflowFlowAction', - - // the metadata coverage report seems to be missing a setting: - // A scratch org was created with username test-o87upqyaagax@example.com, but the settings failed to deploy due to: enableInsights - 'ReferencedDashboard', - 'WaveAnalyticAssetCollection', - - // requires no features, but not in describe - 'ExternalDataSrcDescriptor', - - // spun up with COMMONPRM, not in describe - 'PortalDelegablePermissionSet', - - // spun up with CUSTOMERDATAPLATFORM, not in describe - 'ExternalDataTranField', - 'ExternalDataTranObject', - - // spun up org with ASSESSMENTS, not in describe - 'AssessmentConfiguration', - - // spun up org with INDUSTRIESEPCNEXTPILOT, not in describe - 'ProductAttrDisplayConfig', - 'ProductSpecificationRecType', - 'ProductSpecificationType', - - // spun up org with ASSOCIATIONENGINE, not in describe - 'RecAlrtDataSrcExpSetDef', - - // spun up org with EDUCATIONCLOUD:1, not in describe - 'LearningAchievementConfig', - - // spun up org with CORECPQ, not in describe - 'DocumentTemplate', ]; export const hasUnsupportedFeatures = (type: CoverageObjectType): boolean => { - if (!type.orgShapes?.developer) { - return true; - } - if ( type.orgShapes.developer.features?.length && features.some((feature) => type.orgShapes?.developer.features?.includes(feature)) diff --git a/test/utils/getMissingTypes.ts b/test/utils/getMissingTypes.ts index 1d2885163e..a4c78e0441 100644 --- a/test/utils/getMissingTypes.ts +++ b/test/utils/getMissingTypes.ts @@ -17,8 +17,7 @@ export const getMissingTypes = ( value.channels.metadataApi.exposed && // if it's not in the mdapi, we don't worry about the registry !metadataTypes.includes(key) && // types we should ignore, see the imported file for explanations !key.endsWith('Settings') && // individual settings shouldn't be in the registry - !hasUnsupportedFeatures(value) && // we don't support these types - !value.orgShapes.developer.missingSettings // can't be done because settings are missing + !hasUnsupportedFeatures(value) // we don't support these types ); const registryTypeNames = Object.values(registry.types).flatMap((regType) => [ regType.name, diff --git a/tsconfig.json b/tsconfig.json index 5a493a2d0b..0d9f0faf4a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,7 +11,7 @@ }, "include": [ "./src/**/*.ts", - "./scripts/update-registry/*.ts", + "./scripts/update-registry/**/*.ts", "./src/registry/metadataRegistry.json", "./src/registry/stdValueSetRegistry.json", "./src/registry/presets/*.json" diff --git a/yarn.lock b/yarn.lock index b285cfebd8..c30764f031 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1810,11 +1810,6 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -deepmerge@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - default-require-extensions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.1.tgz#bfae00feeaeada68c2ae256c62540f60b80625bd" @@ -5071,16 +5066,7 @@ srcset@^5.0.0: resolved "https://registry.yarnpkg.com/srcset/-/srcset-5.0.0.tgz#9df6c3961b5b44a02532ce6ae4544832609e2e3f" integrity sha512-SqEZaAEhe0A6ETEa9O1IhSPC7MdvehZtCnTR0AftXk3QhY2UNgb+NApFOUPZILXk/YTDfFxMTNJOBpzrJsEdIA== -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -5139,14 +5125,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -5636,7 +5615,7 @@ workerpool@^6.5.1: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -5654,15 +5633,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" From 036b7559a5832cacd71ba018f5a394e3a3c3862c Mon Sep 17 00:00:00 2001 From: mshanemc Date: Wed, 14 Aug 2024 15:15:25 -0500 Subject: [PATCH 03/11] fix: script self-qa --- scripts/update-registry/shared/updateRegistry.ts | 4 ++-- scripts/update-registry/updateRegistryFromCoreMetadata.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/update-registry/shared/updateRegistry.ts b/scripts/update-registry/shared/updateRegistry.ts index 5bd3281dac..0a989e5c52 100644 --- a/scripts/update-registry/shared/updateRegistry.ts +++ b/scripts/update-registry/shared/updateRegistry.ts @@ -2,8 +2,8 @@ import { MetadataRegistry } from '../../../src/registry/types'; import { DescribeEntry } from './types'; import * as fs from 'fs'; import { env } from '@salesforce/kit'; -import { getCoverage, getCurrentApiVersion } from 'src/registry/coverage'; -import { getMissingTypes } from 'test/utils/getMissingTypes'; +import { getCoverage, getCurrentApiVersion } from '../../../src/registry/coverage'; +import { getMissingTypes } from '../../../test/utils/getMissingTypes'; export const registry = JSON.parse( fs.readFileSync('./src/registry/metadataRegistry.json', 'utf8') diff --git a/scripts/update-registry/updateRegistryFromCoreMetadata.ts b/scripts/update-registry/updateRegistryFromCoreMetadata.ts index d66f04ddf9..8fc746db5d 100644 --- a/scripts/update-registry/updateRegistryFromCoreMetadata.ts +++ b/scripts/update-registry/updateRegistryFromCoreMetadata.ts @@ -29,7 +29,7 @@ const logMissingEntry = }; (async () => { - const missingTypes = (await whatTypesNeedDescribe()).map(([t]) => t); + const missingTypes = await whatTypesNeedDescribe(); const missingTypesAsDescribeResult = await getMissingTypesFromDescribe(missingTypes); console.log(missingTypesAsDescribeResult); registryUpdate(missingTypesAsDescribeResult); From 2bc7c3d0abc4c57e20fcb9a13d65e3d0af95ff6b Mon Sep 17 00:00:00 2001 From: mshanemc Date: Wed, 14 Aug 2024 15:19:06 -0500 Subject: [PATCH 04/11] chore: rename --- scripts/update-registry/updateRegistryFromCoreMetadata.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/update-registry/updateRegistryFromCoreMetadata.ts b/scripts/update-registry/updateRegistryFromCoreMetadata.ts index 8fc746db5d..c9020102b2 100644 --- a/scripts/update-registry/updateRegistryFromCoreMetadata.ts +++ b/scripts/update-registry/updateRegistryFromCoreMetadata.ts @@ -30,7 +30,7 @@ const logMissingEntry = (async () => { const missingTypes = await whatTypesNeedDescribe(); - const missingTypesAsDescribeResult = await getMissingTypesFromDescribe(missingTypes); - console.log(missingTypesAsDescribeResult); - registryUpdate(missingTypesAsDescribeResult); + const missingTypesAsDescribeEntry = await getMissingTypesFromDescribe(missingTypes); + console.log(missingTypesAsDescribeEntry); + registryUpdate(missingTypesAsDescribeEntry); })(); From b02c7f3443cfcad9ae815c1b48d82b9a18ef6b87 Mon Sep 17 00:00:00 2001 From: mshanemc Date: Wed, 14 Aug 2024 15:21:36 -0500 Subject: [PATCH 05/11] feat: registry updates --- src/registry/metadataRegistry.json | 232 ++++++++++++++++++++++++++--- 1 file changed, 212 insertions(+), 20 deletions(-) diff --git a/src/registry/metadataRegistry.json b/src/registry/metadataRegistry.json index f42627892d..b29c761820 100644 --- a/src/registry/metadataRegistry.json +++ b/src/registry/metadataRegistry.json @@ -118,6 +118,7 @@ "apt": "actionplantemplate", "aq": "assessmentquestion", "aqs": "assessmentquestionset", + "assessmentConfiguration": "assessmentconfiguration", "asset": "contentasset", "assignmentRule": "assignmentrule", "assignmentRules": "assignmentrules", @@ -167,6 +168,7 @@ "cleanDataService": "cleandataservice", "cls": "apexclass", "cmsConnectSource": "cmsconnectsource", + "collection": "waveanalyticassetcollection", "commandaction": "commandaction", "community": "community", "communityTemplateDefinition": "communitytemplatedefinition", @@ -175,6 +177,8 @@ "config": "notificationtypeconfig", "connectedApp": "connectedapp", "contextDefinition": "contextdefinition", + "contextUseCaseMapping": "contextusecasemapping", + "contractType": "contracttype", "conversationMessageDefinition": "conversationmessagedefinition", "corsWhitelistOrigin": "corswhitelistorigin", "crt": "certificate", @@ -218,6 +222,7 @@ "documentFolder": "documentfolder", "documentGenerationSetting": "documentgenerationsetting", "documentType": "documenttype", + "dt": "documenttemplate", "duplicateRule": "duplicaterule", "dwl": "dataweaveresource", "dynamicTrigger": "dynamictrigger", @@ -235,6 +240,7 @@ "ecaSmplPlcy": "extlclntappsampleconfigurablepolicies", "email": "emailtemplate", "emailFolder": "emailfolder", + "employeeDataSyncProfile": "employeedatasyncprofile", "enablementMeasureDefinition": "enablementmeasuredefinition", "enablementProgramDefinition": "enablementprogramdefinition", "enblProgramTaskSubCategory": "enblprogramtasksubcategory", @@ -249,14 +255,17 @@ "explainabilityActionVersion": "explainabilityactionversion", "explainabilityMsgTemplate": "explainabilitymsgtemplate", "expressionSetDefinition": "expressionsetdefinition", - "expressionSetVersion": "expressionsetdefinitionversion", "expressionSetMessageToken": "expressionsetmessagetoken", "expressionSetObjectAlias": "expressionsetobjectalias", + "expressionSetVersion": "expressionsetdefinitionversion", "extDataTranFieldTemplate": "extdatatranfieldtemplate", "extDataTranObjectTemplate": "extdatatranobjecttemplate", "externalAIModel": "externalaimodel", + "externalAuthIdentityProvider": "externalauthidentityprovider", "externalCredential": "externalcredential", "externalDataConnector": "externaldataconnector", + "externalDataTranObject": "externaldatatranobject", + "externalDocStorageConfig": "externaldocstorageconfig", "externalServiceRegistration": "externalserviceregistration", "featureParameterBoolean": "featureparameterboolean", "featureParameterDate": "featureparameterdate", @@ -286,6 +295,7 @@ "gatewayProviderPaymentMethodType": "gatewayproviderpaymentmethodtype", "genAiFunction": "genaifunction", "genAiPlanner": "genaiplanner", + "genAiPlugin": "genaiplugin", "genAiPromptTemplate": "genaiprompttemplate", "genAiPromptTemplateActivation": "genaiprompttemplateactv", "geodata": "eclairgeodata", @@ -309,6 +319,7 @@ "keywords": "keywordlist", "labels": "customlabels", "layout": "layout", + "learningAchievementConfig": "learningachievementconfig", "learningItemType": "learningitemtype", "letter": "letterhead", "licenseDefinition": "licensedefinition", @@ -335,6 +346,8 @@ "mfgProgramTemplate": "mfgprogramtemplate", "milestoneType": "milestonetype", "mktCalcInsightObjectDef": "mktcalcinsightobjectdef", + "mktDataConnection": "mktdataconnection", + "mktDataConnectionSrcParam": "mktdataconnectionsrcparam", "mktDataTranField": "mktdatatranfield", "mktDataTranObject": "mktdatatranobject", "mlDataDefinition": "mldatadefinition", @@ -384,13 +397,17 @@ "platformEventSubscriberConfig": "platformeventsubscriberconfig", "policy": "appointmentassignmentpolicy", "portal": "portal", + "portalDelegablePermissionSet": "portaldelegablepermissionset", "postTemplate": "posttemplate", "presenceDeclineReason": "presencedeclinereason", "presenceUserConfig": "presenceuserconfig", "pricingActionParameters": "pricingactionparameters", "pricingRecipe": "pricingrecipe", "processflowmigration": "processflowmigration", + "productAttrDisplayConfig": "productattrdisplayconfig", "productAttributeSet": "productattributeset", + "productSpecificationRecType": "productspecificationrectype", + "productSpecificationType": "productspecificationtype", "productSpecificationTypeDefinition": "productspecificationtypedefinition", "profile": "profile", "profilePasswordPolicy": "profilepasswordpolicy", @@ -399,12 +416,15 @@ "queue": "queue", "queueRoutingConfig": "queueroutingconfig", "quickAction": "quickaction", + "recAlrtDataSrcExpSetDef": "recalrtdatasrcexpsetdef", "recommendationStrategy": "recommendationstrategy", "recordAlertCategory": "recordalertcategory", "recordAlertDataSource": "recordalertdatasource", "recordAlertTemplate": "recordalerttemplate", "redirectWhitelistUrl": "redirectwhitelisturl", + "refdash": "referenceddashboard", "registeredExternalService": "registeredexternalservice", + "relatedRecordAssocCriteria": "relatedrecordassoccriteria", "relationshipGraphDefinition": "relationshipgraphdefinition", "remoteSite": "remotesitesetting", "report": "report", @@ -439,6 +459,7 @@ "skilltype": "skilltype", "slackapp": "slackapp", "snapshot": "analyticsnapshot", + "stageDefinition": "stagedefinition", "standardValueSet": "standardvalueset", "standardValueSetTranslation": "standardvaluesettranslation", "stationaryAssetEnvSourceConfig": "stnryassetenvsrccnfg", @@ -462,6 +483,7 @@ "translation": "translations", "trigger": "apextrigger", "type": "integrationhubsettingstype", + "uiFormatSpecificationSet": "uiformatspecificationset", "uiObjectRelationConfig": "uiobjectrelationconfig", "uiplugin": "uiplugin", "uiview": "uiviewdefinition", @@ -472,6 +494,7 @@ "useraccesspolicy": "useraccesspolicy", "vehicleAssetEmssnSourceConfig": "vehicleassetemssnsrccnfg", "view": "viewdefinition", + "virtualVisitConfig": "virtualvisitconfig", "visualizationPlugin": "visualizationplugin", "wapp": "waveapplication", "wcomp": "wavecomponent", @@ -495,9 +518,7 @@ "workflowTask": "workflowtask", "xmd": "wavexmd", "xml": "emailservicesfunction", - "xorghub": "xorghub", - "stageDefinition": "stagedefinition", - "uiFormatSpecificationSet": "uiformatspecificationset" + "xorghub": "xorghub" }, "types": { "accesscontrolpolicy": { @@ -823,6 +844,14 @@ "strictDirectoryName": false, "suffix": "approvalProcess" }, + "assessmentconfiguration": { + "directoryName": "AssessmentConfigurations", + "id": "assessmentconfiguration", + "inFolder": false, + "name": "AssessmentConfiguration", + "strictDirectoryName": false, + "suffix": "assessmentConfiguration" + }, "assessmentquestion": { "directoryName": "AssessmentQuestions", "id": "assessmentquestion", @@ -1294,6 +1323,22 @@ "strictDirectoryName": false, "suffix": "contextDefinition" }, + "contextusecasemapping": { + "directoryName": "contextUseCaseMappings", + "id": "contextusecasemapping", + "inFolder": false, + "name": "ContextUseCaseMapping", + "strictDirectoryName": false, + "suffix": "contextUseCaseMapping" + }, + "contracttype": { + "directoryName": "contractTypes", + "id": "contracttype", + "inFolder": false, + "name": "ContractType", + "strictDirectoryName": false, + "suffix": "contractType" + }, "conversationchanneldefinition": { "directoryName": "conversationChannelDefinitions", "id": "conversationchanneldefinition", @@ -1937,6 +1982,17 @@ "name": "DocumentGenerationSetting", "suffix": "documentGenerationSetting" }, + "documenttemplate": { + "directoryName": "documentTemplates", + "id": "documenttemplate", + "inFolder": false, + "name": "DocumentTemplate", + "strategies": { + "adapter": "matchingContentFile" + }, + "strictDirectoryName": false, + "suffix": "dt" + }, "documenttype": { "directoryName": "documentTypes", "id": "documenttype", @@ -2055,6 +2111,14 @@ "strictDirectoryName": false, "suffix": "EmbeddedServiceMenuSettings" }, + "employeedatasyncprofile": { + "directoryName": "employeeDataSyncProfiles", + "id": "employeedatasyncprofile", + "inFolder": false, + "name": "EmployeeDataSyncProfile", + "strictDirectoryName": false, + "suffix": "employeeDataSyncProfile" + }, "enablementmeasuredefinition": { "directoryName": "enablementMeasureDefinitions", "id": "enablementmeasuredefinition", @@ -2281,6 +2345,14 @@ "strictDirectoryName": false, "suffix": "externalAIModel" }, + "externalauthidentityprovider": { + "directoryName": "externalAuthIdentityProviders", + "id": "externalauthidentityprovider", + "inFolder": false, + "name": "ExternalAuthIdentityProvider", + "strictDirectoryName": false, + "suffix": "externalAuthIdentityProvider" + }, "externalclientapplication": { "directoryName": "externalClientApps", "id": "externalclientapplication", @@ -2312,6 +2384,22 @@ "strictDirectoryName": false, "suffix": "dataSource" }, + "externaldatatranobject": { + "directoryName": "externalDataTranObjects", + "id": "externaldatatranobject", + "inFolder": false, + "name": "ExternalDataTranObject", + "strictDirectoryName": false, + "suffix": "externalDataTranObject" + }, + "externaldocstorageconfig": { + "directoryName": "externalDocStorageConfigs", + "id": "externaldocstorageconfig", + "inFolder": false, + "name": "ExternalDocStorageConfig", + "strictDirectoryName": false, + "suffix": "externalDocStorageConfig" + }, "externalserviceregistration": { "directoryName": "externalServiceRegistrations", "id": "externalserviceregistration", @@ -2597,6 +2685,14 @@ "name": "GenAiPlanner", "suffix": "genAiPlanner" }, + "genaiplugin": { + "directoryName": "genAiPlugins", + "id": "genaiplugin", + "inFolder": false, + "name": "GenAiPlugin", + "strictDirectoryName": false, + "suffix": "genAiPlugin" + }, "genaiprompttemplate": { "directoryName": "genAiPromptTemplates", "id": "genaiprompttemplate", @@ -2797,6 +2893,14 @@ "strictDirectoryName": false, "suffix": "LeadConvertSetting" }, + "learningachievementconfig": { + "directoryName": "learningAchievementConfigs", + "id": "learningachievementconfig", + "inFolder": false, + "name": "LearningAchievementConfig", + "strictDirectoryName": false, + "suffix": "learningAchievementConfig" + }, "learningitemtype": { "directoryName": "learningItemTypes", "id": "learningitemtype", @@ -3025,6 +3129,22 @@ "name": "MktCalcInsightObjectDef", "suffix": "mktCalcInsightObjectDef" }, + "mktdataconnection": { + "directoryName": "mktDataConnections", + "id": "mktdataconnection", + "inFolder": false, + "name": "MktDataConnection", + "strictDirectoryName": false, + "suffix": "mktDataConnection" + }, + "mktdataconnectionsrcparam": { + "directoryName": "mktDataConnectionSrcParams", + "id": "mktdataconnectionsrcparam", + "inFolder": false, + "name": "MktDataConnectionSrcParam", + "strictDirectoryName": false, + "suffix": "mktDataConnectionSrcParam" + }, "mktdatatranobject": { "children": { "directories": { @@ -3428,6 +3548,14 @@ "name": "Portal", "suffix": "portal" }, + "portaldelegablepermissionset": { + "directoryName": "portalDelegablePermissionSet", + "id": "portaldelegablepermissionset", + "inFolder": false, + "name": "PortalDelegablePermissionSet", + "strictDirectoryName": false, + "suffix": "portalDelegablePermissionSet" + }, "posttemplate": { "directoryName": "postTemplates", "id": "posttemplate", @@ -3473,6 +3601,14 @@ "strictDirectoryName": false, "suffix": "processflowmigration" }, + "productattrdisplayconfig": { + "directoryName": "productAttrDisplayConfigs", + "id": "productattrdisplayconfig", + "inFolder": false, + "name": "ProductAttrDisplayConfig", + "strictDirectoryName": false, + "suffix": "productAttrDisplayConfig" + }, "productattributeset": { "directoryName": "productAttributeSets", "id": "productattributeset", @@ -3481,6 +3617,22 @@ "strictDirectoryName": false, "suffix": "productAttributeSet" }, + "productspecificationrectype": { + "directoryName": "productSpecificationRecTypes", + "id": "productspecificationrectype", + "inFolder": false, + "name": "ProductSpecificationRecType", + "strictDirectoryName": false, + "suffix": "productSpecificationRecType" + }, + "productspecificationtype": { + "directoryName": "productSpecificationTypes", + "id": "productspecificationtype", + "inFolder": false, + "name": "ProductSpecificationType", + "strictDirectoryName": false, + "suffix": "productSpecificationType" + }, "productspecificationtypedefinition": { "directoryName": "productSpecificationTypeDefinitions", "id": "productspecificationtypedefinition", @@ -3545,6 +3697,14 @@ "suffix": "quickAction", "supportsWildcardAndName": true }, + "recalrtdatasrcexpsetdef": { + "directoryName": "recAlrtDataSrcExpSetDefs", + "id": "recalrtdatasrcexpsetdef", + "inFolder": false, + "name": "RecAlrtDataSrcExpSetDef", + "strictDirectoryName": false, + "suffix": "recAlrtDataSrcExpSetDef" + }, "recommendationstrategy": { "directoryName": "recommendationStrategies", "id": "recommendationstrategy", @@ -3601,6 +3761,14 @@ "strictDirectoryName": false, "suffix": "redirectWhitelistUrl" }, + "referenceddashboard": { + "directoryName": "wave", + "id": "referenceddashboard", + "inFolder": false, + "name": "ReferencedDashboard", + "strictDirectoryName": false, + "suffix": "refdash" + }, "registeredexternalservice": { "directoryName": "registeredExternalServices", "id": "registeredexternalservice", @@ -3609,6 +3777,14 @@ "strictDirectoryName": false, "suffix": "registeredExternalService" }, + "relatedrecordassoccriteria": { + "directoryName": "relatedRecordAssocCriteria", + "id": "relatedrecordassoccriteria", + "inFolder": false, + "name": "RelatedRecordAssocCriteria", + "strictDirectoryName": false, + "suffix": "relatedRecordAssocCriteria" + }, "relationshipgraphdefinition": { "directoryName": "relationshipGraphDefinitions", "id": "relationshipgraphdefinition", @@ -3903,6 +4079,14 @@ "strictDirectoryName": false, "suffix": "slackapp" }, + "stagedefinition": { + "directoryName": "stageDefinitions", + "id": "stagedefinition", + "inFolder": false, + "name": "StageDefinition", + "strictDirectoryName": false, + "suffix": "stageDefinition" + }, "standardvalueset": { "directoryName": "standardValueSets", "id": "standardvalueset", @@ -4095,6 +4279,14 @@ "name": "Translations", "suffix": "translation" }, + "uiformatspecificationset": { + "directoryName": "uiFormatSpecificationSets", + "id": "uiformatspecificationset", + "inFolder": false, + "name": "UiFormatSpecificationSet", + "strictDirectoryName": false, + "suffix": "uiFormatSpecificationSet" + }, "uiobjectrelationconfig": { "directoryName": "uiObjectRelationConfigs", "id": "uiobjectrelationconfig", @@ -4181,6 +4373,14 @@ "strictDirectoryName": false, "suffix": "view" }, + "virtualvisitconfig": { + "directoryName": "VirtualVisitConfigs", + "id": "virtualvisitconfig", + "inFolder": false, + "name": "VirtualVisitConfig", + "strictDirectoryName": false, + "suffix": "virtualVisitConfig" + }, "visualizationplugin": { "directoryName": "visualizationPlugins", "id": "visualizationplugin", @@ -4188,6 +4388,14 @@ "name": "VisualizationPlugin", "suffix": "visualizationPlugin" }, + "waveanalyticassetcollection": { + "directoryName": "wave", + "id": "waveanalyticassetcollection", + "inFolder": false, + "name": "WaveAnalyticAssetCollection", + "strictDirectoryName": false, + "suffix": "collection" + }, "waveapplication": { "directoryName": "wave", "id": "waveapplication", @@ -4401,22 +4609,6 @@ "inFolder": false, "name": "XOrgHub", "suffix": "xorghub" - }, - "stagedefinition": { - "id": "stagedefinition", - "name": "StageDefinition", - "suffix": "stageDefinition", - "directoryName": "stageDefinitions", - "inFolder": false, - "strictDirectoryName": false - }, - "uiformatspecificationset": { - "id": "uiformatspecificationset", - "name": "UiFormatSpecificationSet", - "suffix": "uiFormatSpecificationSet", - "directoryName": "uiFormatSpecificationSets", - "inFolder": false, - "strictDirectoryName": false } } } From e1edd17aa69e6dc00b2fb97c4b9073ee92d48dbc Mon Sep 17 00:00:00 2001 From: mshanemc Date: Wed, 14 Aug 2024 16:28:23 -0500 Subject: [PATCH 06/11] chore: bump deps for pdr xnuts --- package.json | 8 +++--- yarn.lock | 69 +++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 54 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index 70dd9b20a7..a7396a0e68 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,8 @@ "node": ">=18.0.0" }, "dependencies": { - "@salesforce/core": "^8.3.0", - "@salesforce/kit": "^3.1.6", + "@salesforce/core": "^8.4.0", + "@salesforce/kit": "^3.2.1", "@salesforce/ts-types": "^2.0.12", "fast-levenshtein": "^3.0.0", "fast-xml-parser": "^4.4.1", @@ -40,7 +40,7 @@ }, "devDependencies": { "@jsforce/jsforce-node": "^3.4.1", - "@salesforce/cli-plugins-testkit": "^5.3.22", + "@salesforce/cli-plugins-testkit": "^5.3.25", "@salesforce/dev-scripts": "^10.2.9", "@types/deep-equal-in-any-order": "^1.0.1", "@types/fast-levenshtein": "^0.0.4", @@ -48,7 +48,7 @@ "@types/mime": "2.0.3", "@types/minimatch": "^5.1.2", "deep-equal-in-any-order": "^1.1.19", - "eslint-plugin-sf-plugin": "^1.20.1", + "eslint-plugin-sf-plugin": "^1.20.4", "mocha-junit-reporter": "^1.23.3", "mocha-snap": "^5.0.0", "ts-node": "^10.9.2", diff --git a/yarn.lock b/yarn.lock index c30764f031..5cbfd14f56 100644 --- a/yarn.lock +++ b/yarn.lock @@ -507,23 +507,23 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@salesforce/cli-plugins-testkit@^5.3.22": - version "5.3.22" - resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-5.3.22.tgz#ffd1091fde6d7d4d6285b483f01e8f8b60144e18" - integrity sha512-0hhKWxcc4AJQwVPEAHGXGLL5WCq2CUjp+AM/Eji5SqfeecROr3bo8HtlgzKsZMEZWa2YI7qYHzdVy1DKFBqFeQ== - dependencies: - "@salesforce/core" "^8.2.8" - "@salesforce/kit" "^3.2.0" - "@salesforce/ts-types" "^2.0.10" +"@salesforce/cli-plugins-testkit@^5.3.25": + version "5.3.25" + resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-5.3.25.tgz#a3e081d1e8bce8660d602fdf04851986c89f18a1" + integrity sha512-wwFnd7EuEVxc7IRCvOtJO65iEbjYWrIHUdkxf7bZkgrS9ZfjFNDyua/XthT+gWpVfIZiHxEjqYBdHzMNWZQkbg== + dependencies: + "@salesforce/core" "^8.3.0" + "@salesforce/kit" "^3.2.1" + "@salesforce/ts-types" "^2.0.11" "@types/shelljs" "^0.8.15" - debug "^4.3.5" + debug "^4.3.6" jszip "^3.10.1" shelljs "^0.8.4" sinon "^17.0.2" strip-ansi "6.0.1" ts-retry-promise "^0.8.1" -"@salesforce/core@^8.2.3", "@salesforce/core@^8.2.8", "@salesforce/core@^8.3.0": +"@salesforce/core@^8.3.0": version "8.3.0" resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.3.0.tgz#b61fb6c0c0dec5664ce12ba62ebe35136ae33878" integrity sha512-HZchC42oGJ5RQsG9HpAb1bT7ohjB31ATDz46ryMvLngMmrfHnyzv2mlIi6UdYkJ/2meH2BJkibHi8paPrtF+/A== @@ -547,6 +547,30 @@ semver "^7.6.3" ts-retry-promise "^0.8.1" +"@salesforce/core@^8.4.0": + version "8.4.0" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.4.0.tgz#d2ddfe07994c42b1e917e581e9cf47ad27b97a93" + integrity sha512-P+n0+Sp+v6voLTShW2E5sdF7gCUxEXJjNcc9Jtto0ZMyQesmQJ6WGpWmAuRoi+BVYc8OPSlEffndaYDAo/u73g== + dependencies: + "@jsforce/jsforce-node" "^3.4.0" + "@salesforce/kit" "^3.1.6" + "@salesforce/schemas" "^1.9.0" + "@salesforce/ts-types" "^2.0.10" + ajv "^8.17.1" + change-case "^4.1.2" + fast-levenshtein "^3.0.0" + faye "^1.4.0" + form-data "^4.0.0" + js2xmlparser "^4.0.1" + jsonwebtoken "9.0.2" + jszip "3.10.1" + pino "^9.3.2" + pino-abstract-transport "^1.2.0" + pino-pretty "^11.2.2" + proper-lockfile "^4.1.2" + semver "^7.6.3" + ts-retry-promise "^0.8.1" + "@salesforce/dev-config@^4.3.1": version "4.3.1" resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-4.3.1.tgz#4dac8245df79d675258b50e1d24e8c636eaa5e10" @@ -584,7 +608,7 @@ typescript "^5.5.4" wireit "^0.14.5" -"@salesforce/kit@^3.1.6", "@salesforce/kit@^3.2.0": +"@salesforce/kit@^3.1.6", "@salesforce/kit@^3.2.1": version "3.2.1" resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-3.2.1.tgz#3de2c9ff52710a169fc887716d97c00d26065c56" integrity sha512-LrZH2F06XPLUTMXC3av6A0VDAJykUqRtYB6tTjAKzwS1gCnp6BEn6VyjZNg0Fg/Kfp6OTrMxiIgbUFsNehEV7A== @@ -601,7 +625,7 @@ resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.9.0.tgz#ba477a112653a20b4edcf989c61c57bdff9aa3ca" integrity sha512-LiN37zG5ODT6z70sL1fxF7BQwtCX9JOWofSU8iliSNIM+WDEeinnoFtVqPInRSNt8I0RiJxIKCrqstsmQRBNvA== -"@salesforce/ts-types@^2.0.10", "@salesforce/ts-types@^2.0.12": +"@salesforce/ts-types@^2.0.10", "@salesforce/ts-types@^2.0.11", "@salesforce/ts-types@^2.0.12": version "2.0.12" resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-2.0.12.tgz#60420622812a7ec7e46d220667bc29b42dc247ff" integrity sha512-BIJyduJC18Kc8z+arUm5AZ9VkPRyw1KKAm+Tk+9LT99eOzhNilyfKzhZ4t+tG2lIGgnJpmytZfVDZ0e2kFul8g== @@ -956,7 +980,7 @@ "@typescript-eslint/typescript-estree" "6.21.0" semver "^7.5.4" -"@typescript-eslint/utils@^7.17.0": +"@typescript-eslint/utils@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f" integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw== @@ -1765,6 +1789,13 @@ debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.3.6: + version "4.3.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" + integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== + dependencies: + ms "2.1.2" + decamelize-keys@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" @@ -2171,13 +2202,13 @@ eslint-plugin-jsdoc@^46.10.1: semver "^7.5.4" spdx-expression-parse "^4.0.0" -eslint-plugin-sf-plugin@^1.20.1: - version "1.20.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-sf-plugin/-/eslint-plugin-sf-plugin-1.20.1.tgz#bdde7cd6b62df1f707770273768a4fecdf901cfa" - integrity sha512-Mf4gC4I87h+coOpwh2uIRbhCzTGDGX7QskLGzst7fktzXkCwsIXMVic6NHPWSWIA6U8IU4g5MwMiZjuXqJTwdA== +eslint-plugin-sf-plugin@^1.20.4: + version "1.20.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-sf-plugin/-/eslint-plugin-sf-plugin-1.20.4.tgz#9d99f76cd316939222231f74bb65fc76ddd7fee4" + integrity sha512-lpuF4XGVenrQotd0cUZhgZ4rLDubytWPJBzmMCIovZdqyGYzgD68MGofDSLFzmbhKfa2fX1Pndljru6/GjVyGQ== dependencies: - "@salesforce/core" "^8.2.3" - "@typescript-eslint/utils" "^7.17.0" + "@salesforce/core" "^8.3.0" + "@typescript-eslint/utils" "^7.18.0" eslint-plugin-unicorn@^50.0.1: version "50.0.1" From 6202d908dd402e00fa27dee7f1f0a67572ecd39f Mon Sep 17 00:00:00 2001 From: Willie Ruemmele Date: Fri, 16 Aug 2024 13:52:27 -0600 Subject: [PATCH 07/11] chore: update METADATA_SUPPORT.md --- METADATA_SUPPORT.md | 1271 +++++++++++++++++++++---------------------- 1 file changed, 635 insertions(+), 636 deletions(-) diff --git a/METADATA_SUPPORT.md b/METADATA_SUPPORT.md index 4656e23613..fefabbab56 100644 --- a/METADATA_SUPPORT.md +++ b/METADATA_SUPPORT.md @@ -4,652 +4,650 @@ This list compares metadata types found in Salesforce v61 with the [metadata reg This repository is used by both the Salesforce CLIs and Salesforce's VSCode Extensions. -Currently, there are 577/608 supported metadata types. +Currently, there are 597/608 supported metadata types. For status on any existing gaps, please search or file an issue in the [Salesforce CLI issues only repo](https://github.com/forcedotcom/cli/issues). To contribute a new metadata type, please see the [Contributing Metadata Types to the Registry](./contributing/metadata.md) -|Metadata Type|Support|Notes| -|:---|:---|:---| -|AIApplication|✅|| -|AIApplicationConfig|✅|| -|AIReplyRecommendationsSettings|✅|| -|AIScoringModelDefVersion|✅|| -|AIScoringModelDefinition|✅|| -|AIUsecaseDefinition|⚠️|Supports deploy/retrieve but not source tracking| -|AccountForecastSettings|✅|| -|AccountIntelligenceSettings|✅|| -|AccountRelationshipShareRule|✅|| -|AccountSettings|✅|| -|AccountingFieldMapping|✅|| -|AccountingModelConfig|✅|| -|AccountingSettings|✅|| -|AcctMgrTargetSettings|✅|| -|ActionLauncherItemDef|✅|| -|ActionLinkGroupTemplate|✅|| -|ActionPlanTemplate|✅|| -|ActionableEventOrchDef|✅|| -|ActionableEventTypeDef|✅|| -|ActionableListDefinition|✅|| -|ActionsSettings|✅|| -|ActivationPlatform|✅|| -|ActivitiesSettings|✅|| -|ActnblListKeyPrfmIndDef|✅|| -|AddressSettings|✅|| -|AdvAccountForecastSet|✅|| -|AdvAcctForecastDimSource|✅|| -|AdvAcctForecastPeriodGroup|✅|| -|AffinityScoreDefinition|✅|| -|Ai4mSettings|✅|| -|AnalyticSnapshot|✅|| -|AnalyticsSettings|✅|| -|AnimationRule|✅|| -|ApexClass|✅|| -|ApexComponent|✅|| -|ApexEmailNotifications|✅|| -|ApexPage|✅|| -|ApexSettings|✅|| -|ApexTestSuite|✅|| -|ApexTrigger|✅|| -|AppAnalyticsSettings|✅|| -|AppExperienceSettings|✅|| -|AppMenu|✅|| -|ApplicationRecordTypeConfig|✅|| -|ApplicationSubtypeDefinition|✅|| -|AppointmentAssignmentPolicy|✅|| -|AppointmentSchedulingPolicy|✅|| -|ApprovalProcess|✅|| -|AssessmentConfiguration|❌|Not supported, but support could be added| -|AssessmentQuestion|✅|| -|AssessmentQuestionSet|✅|| -|AssignmentRules|✅|| -|AssistantContextItem|✅|| -|AssistantDefinition|✅|| -|AssistantSkillQuickAction|✅|| -|AssistantSkillSobjectAction|✅|| -|AssistantVersion|✅|| -|AssociationEngineSettings|✅|| -|Audience|✅|| -|AuraDefinitionBundle|✅|| -|AuthProvider|✅|| -|AutoResponseRules|✅|| -|AutomatedContactsSettings|✅|| -|BatchCalcJobDefinition|✅|| -|BatchProcessJobDefinition|✅|| -|BenefitAction|✅|| -|BlacklistedConsumer|✅|| -|BldgEnrgyIntensityCnfg|✅|| -|BlockchainSettings|✅|| -|Bot|✅|| -|BotBlock|✅|| -|BotBlockVersion|❌|Not supported, but support could be added| -|BotSettings|✅|| -|BotTemplate|✅|| -|BotVersion|✅|| -|BranchManagementSettings|✅|| -|BrandingSet|✅|| -|BriefcaseDefinition|✅|| -|BusinessHoursSettings|✅|| -|BusinessProcess|✅|| -|BusinessProcessGroup|✅|| -|BusinessProcessTypeDefinition|✅|| -|CMSConnectSource|✅|| -|CallCenter|✅|| -|CallCenterRoutingMap|✅|| -|CallCoachingMediaProvider|⚠️|Supports deploy/retrieve but not source tracking| -|CampaignInfluenceModel|✅|| -|CampaignSettings|✅|| -|CanvasMetadata|✅|| -|CareBenefitVerifySettings|✅|| -|CareLimitType|✅|| -|CareProviderAfflRoleConfig|✅|| -|CareProviderSearchConfig|✅|| -|CareRequestConfiguration|✅|| -|CareSystemFieldMapping|✅|| -|CaseSettings|✅|| -|CaseSubjectParticle|✅|| -|Certificate|✅|| -|ChannelLayout|✅|| -|ChannelObjectLinkingRule|✅|| -|ChatterAnswersSettings|✅|| -|ChatterEmailsMDSettings|✅|| -|ChatterExtension|✅|| -|ChatterSettings|✅|| -|ClaimFinancialSettings|✅|| -|ClaimMgmtFoundationEnabledSettings|✅|| -|ClauseCatgConfiguration|✅|| -|CleanDataService|✅|| -|CodeBuilderSettings|✅|| -|CollectionsDashboardSettings|✅|| -|CommandAction|✅|| -|CommerceSettings|✅|| -|CommsServiceConsoleSettings|✅|| -|CommunitiesSettings|✅|| -|Community|✅|| -|CommunityTemplateDefinition|✅|| -|CommunityThemeDefinition|✅|| -|CompactLayout|✅|| -|CompanySettings|✅|| -|ConnectedApp|✅|| -|ConnectedAppSettings|✅|| -|ContentAsset|✅|| -|ContentSettings|✅|| -|ContextDefinition|⚠️|Supports deploy/retrieve but not source tracking| -|ContextUseCaseMapping|❌|Not supported, but support could be added| -|ContractSettings|✅|| -|ContractType|❌|Not supported, but support could be added| -|ConversationChannelDefinition|✅|| -|ConversationServiceIntegrationSettings|✅|| -|ConversationVendorInfo|✅|| -|ConversationalIntelligenceSettings|✅|| -|CorsWhitelistOrigin|✅|| -|CspTrustedSite|✅|| -|CurrencySettings|✅|| -|CustomAddressFieldSettings|✅|| -|CustomApplication|✅|| -|CustomApplicationComponent|✅|| -|CustomFeedFilter|✅|| -|CustomField|✅|| -|CustomHelpMenuSection|✅|| -|CustomIndex|✅|| -|CustomLabels|✅|| -|CustomMetadata|✅|| -|CustomNotificationType|✅|| -|CustomObject|✅|| -|CustomObjectTranslation|✅|| -|CustomPageWebLink|✅|| -|CustomPermission|✅|| -|CustomSite|✅|| -|CustomTab|✅|| -|CustomValue|❌|Not supported, but support could be added| -|CustomerDataPlatformSettings|✅|| -|CustomizablePropensityScoringSettings|✅|| -|Dashboard|✅|| -|DashboardFolder|✅|| -|DataCalcInsightTemplate|✅|| -|DataCategoryGroup|✅|| -|DataConnectorIngestApi|✅|| -|DataConnectorS3|✅|| -|DataDotComSettings|✅|| -|DataImportManagementSettings|✅|| -|DataKitObjectDependency|✅|| -|DataKitObjectTemplate|✅|| -|DataPackageKitDefinition|✅|| -|DataPackageKitObject|✅|| -|DataSource|✅|| -|DataSourceBundleDefinition|✅|| -|DataSourceObject|✅|| -|DataSourceTenant|✅|| -|DataSrcDataModelFieldMap|✅|| -|DataStreamDefinition|✅|| -|DataStreamTemplate|✅|| -|DataWeaveResource|✅|| -|DecisionMatrixDefinition|✅|| -|DecisionMatrixDefinitionVersion|✅|| -|DecisionTable|✅|| -|DecisionTableDatasetLink|✅|| -|DelegateGroup|✅|| -|DeploymentSettings|✅|| -|DevHubSettings|✅|| -|DigitalExperience|✅|| -|DigitalExperienceBundle|✅|| -|DigitalExperienceConfig|✅|| -|DisclosureDefinition|✅|| -|DisclosureDefinitionVersion|✅|| -|DisclosureType|✅|| -|DiscoveryAIModel|✅|| -|DiscoveryGoal|✅|| -|DiscoverySettings|✅|| -|DiscoveryStory|✅|| -|Document|✅|| -|DocumentCategory|✅|| -|DocumentCategoryDocumentType|✅|| -|DocumentChecklistSettings|✅|| -|DocumentFolder|✅|| -|DocumentGenerationSetting|✅|| -|DocumentTemplate|❌|Not supported, but support could be added (but not for tracking)| -|DocumentType|✅|| -|DuplicateRule|✅|| -|DynamicFormsSettings|✅|| -|DynamicFulfillmentOrchestratorSettings|✅|| -|EACSettings|✅|| -|ESignatureConfig|✅|| -|ESignatureEnvelopeConfig|✅|| -|EclairGeoData|✅|| -|EinsteinAISettings|✅|| -|EinsteinAgentSettings|✅|| -|EinsteinAssistantSettings|✅|| -|EinsteinCopilotSettings|✅|| -|EinsteinDealInsightsSettings|✅|| -|EinsteinDocumentCaptureSettings|✅|| -|EinsteinGptSettings|✅|| -|EmailAdministrationSettings|✅|| -|EmailFolder|✅|| -|EmailIntegrationSettings|✅|| -|EmailServicesFunction|✅|| -|EmailTemplate|✅|| -|EmailTemplateFolder|✅|| -|EmailTemplateSettings|✅|| -|EmbeddedServiceBranding|✅|| -|EmbeddedServiceConfig|✅|| -|EmbeddedServiceFlowConfig|✅|| -|EmbeddedServiceLiveAgent|✅|| -|EmbeddedServiceMenuSettings|✅|| -|EmployeeDataSyncProfile|❌|Not supported, but support could be added| -|EmployeeFieldAccessSettings|✅|| -|EmployeeUserSettings|✅|| -|EnablementMeasureDefinition|⚠️|Supports deploy/retrieve but not source tracking| -|EnablementProgramDefinition|⚠️|Supports deploy/retrieve but not source tracking| -|EnhancedNotesSettings|✅|| -|EntitlementProcess|✅|| -|EntitlementSettings|✅|| -|EntitlementTemplate|✅|| -|EscalationRules|✅|| -|EssentialsSettings|✅|| -|EventLogObjectSettings|✅|| -|EventSettings|✅|| -|ExperienceBundle|✅|| -|ExperienceBundleSettings|✅|| -|ExperiencePropertyTypeBundle|✅|| -|ExplainabilityActionDefinition|✅|| -|ExplainabilityActionVersion|✅|| -|ExplainabilityMsgTemplate|✅|| -|ExpressionSetDefinition|✅|| -|ExpressionSetDefinitionVersion|✅|| -|ExpressionSetObjectAlias|✅|| -|ExtDataTranFieldTemplate|❌|Not supported, but support could be added| -|ExtDataTranObjectTemplate|✅|| -|ExternalAIModel|✅|| -|ExternalAuthIdentityProvider|❌|Not supported, but support could be added| -|ExternalClientAppSettings|✅|| -|ExternalClientApplication|✅|| -|ExternalCredential|✅|| -|ExternalDataConnector|✅|| -|ExternalDataSource|✅|| -|ExternalDataSrcDescriptor|❌|Not supported, but support could be added| -|ExternalDataTranField|❌|Not supported, but support could be added| -|ExternalDataTranObject|❌|Not supported, but support could be added| -|ExternalDocStorageConfig|❌|Not supported, but support could be added| -|ExternalServiceRegistration|✅|| -|ExtlClntAppConfigurablePolicies|✅|| -|ExtlClntAppGlobalOauthSettings|✅|| -|ExtlClntAppMobileConfigurablePolicies|✅|| -|ExtlClntAppMobileSettings|✅|| -|ExtlClntAppNotificationSettings|✅|| -|ExtlClntAppOauthConfigurablePolicies|✅|| -|ExtlClntAppOauthSettings|✅|| -|FeatureParameterBoolean|✅|| -|FeatureParameterDate|✅|| -|FeatureParameterInteger|✅|| -|FieldRestrictionRule|✅|| -|FieldServiceMobileExtension|✅|| -|FieldServiceSettings|✅|| -|FieldSet|✅|| -|FieldSrcTrgtRelationship|✅|| -|FileUploadAndDownloadSecuritySettings|✅|| -|FilesConnectSettings|✅|| -|FlexiPage|✅|| -|Flow|✅|| -|FlowCategory|✅|| -|FlowDefinition|⚠️|Supports deploy/retrieve but not source tracking| -|FlowSettings|✅|| -|FlowTest|✅|| -|ForecastingFilter|✅|| -|ForecastingFilterCondition|✅|| -|ForecastingGroup|✅|| -|ForecastingObjectListSettings|✅|| -|ForecastingSettings|✅|| -|ForecastingSourceDefinition|✅|| -|ForecastingType|✅|| -|ForecastingTypeSource|✅|| -|FormulaSettings|✅|| -|FuelType|✅|| -|FuelTypeSustnUom|✅|| -|FunctionReference|⚠️|Supports deploy/retrieve but not source tracking| -|FundraisingConfig|✅|| -|GatewayProviderPaymentMethodType|✅|| -|GenAiFunction|✅|| -|GenAiPlanner|✅|| -|GenAiPlugin|❌|Not supported, but support could be added| -|GenAiPluginInstructionDef|❌|Not supported, but support could be added| -|GlobalValueSet|✅|| -|GlobalValueSetTranslation|✅|| -|GoogleAppsSettings|✅|| -|Group|✅|| -|HighVelocitySalesSettings|✅|| -|HomePageComponent|✅|| -|HomePageLayout|✅|| -|IPAddressRange|✅|| -|Icon|✅|| -|IdeasSettings|✅|| -|IdentityProviderSettings|✅|| -|IdentityVerificationProcDef|✅|| -|IframeWhiteListUrlSettings|✅|| -|InboundCertificate|✅|| -|InboundNetworkConnection|✅|| -|IncidentMgmtSettings|✅|| -|IncludeEstTaxInQuoteCPQSettings|✅|| -|IncludeEstTaxInQuoteSettings|✅|| -|Index|⚠️|Supports deploy/retrieve but not source tracking| -|IndustriesAutomotiveSettings|✅|| -|IndustriesContextSettings|✅|| -|IndustriesEinsteinFeatureSettings|✅|| -|IndustriesEventOrchSettings|✅|| -|IndustriesFieldServiceSettings|✅|| -|IndustriesGamificationSettings|✅|| -|IndustriesLoyaltySettings|✅|| -|IndustriesManufacturingSettings|✅|| -|IndustriesPricingSettings|✅|| -|IndustriesSettings|✅|| -|IndustriesUnifiedPromotionsSettings|✅|| -|InstalledPackage|⚠️|Supports deploy/retrieve but not source tracking| -|IntegrationProviderDef|✅|| -|InterestTaggingSettings|✅|| -|InternalDataConnector|✅|| -|InvLatePymntRiskCalcSettings|✅|| -|InventorySettings|✅|| -|InvocableActionSettings|✅|| -|IoTSettings|✅|| -|KeywordList|✅|| -|KnowledgeGenerationSettings|✅|| -|KnowledgeSettings|✅|| -|LanguageSettings|✅|| -|LargeQuotesandOrdersForRlmSettings|✅|| -|Layout|✅|| -|LeadConfigSettings|✅|| -|LeadConvertSettings|✅|| -|LearningAchievementConfig|❌|Not supported, but support could be added| -|Letterhead|✅|| -|LicensingSettings|✅|| -|LightningBolt|✅|| -|LightningComponentBundle|✅|| -|LightningExperienceSettings|✅|| -|LightningExperienceTheme|✅|| -|LightningMessageChannel|✅|| -|LightningOnboardingConfig|✅|| -|ListView|✅|| -|LiveAgentSettings|✅|| -|LiveChatAgentConfig|✅|| -|LiveChatButton|✅|| -|LiveChatDeployment|✅|| -|LiveChatSensitiveDataRule|✅|| -|LiveMessageSettings|✅|| -|LocationUse|✅|| -|LoyaltyProgramSetup|⚠️|Supports deploy/retrieve but not source tracking| -|MacroSettings|✅|| -|MailMergeSettings|✅|| -|ManagedContentType|⚠️|Supports deploy/retrieve but not source tracking| -|ManagedEventSubscription|✅|| -|ManagedTopics|✅|| -|MapsAndLocationSettings|✅|| -|MarketSegmentDefinition|✅|| -|MarketingAppExtActivity|❌|Not supported, but support could be added| -|MarketingAppExtension|✅|| -|MatchingRules|✅|| -|MediaAdSalesSettings|✅|| -|MeetingsSettings|✅|| -|MessagingChannel|⚠️|Supports deploy/retrieve but not source tracking| -|MfgProgramTemplate|✅|| -|MfgServiceConsoleSettings|✅|| -|MilestoneType|✅|| -|MktCalcInsightObjectDef|✅|| -|MktDataConnection|❌|Not supported, but support could be added| -|MktDataConnectionSrcParam|❌|Not supported, but support could be added| -|MktDataTranObject|✅|| -|MlDomain|✅|| -|MobSecurityCertPinConfig|✅|| -|MobileApplicationDetail|✅|| -|MobileSecurityAssignment|✅|| -|MobileSecurityPolicy|✅|| -|MobileSettings|✅|| -|ModerationRule|✅|| -|MutingPermissionSet|✅|| -|MyDomainDiscoverableLogin|✅|| -|MyDomainSettings|✅|| -|NameSettings|✅|| -|NamedCredential|✅|| -|NavigationMenu|✅|| -|Network|✅|| -|NetworkBranding|✅|| -|NotificationTypeConfig|✅|| -|NotificationsSettings|✅|| -|OauthCustomScope|✅|| -|OauthOidcSettings|✅|| -|OauthTokenExchangeHandler|✅|| -|ObjectHierarchyRelationship|✅|| -|ObjectLinkingSettings|✅|| -|ObjectSourceTargetMap|✅|| -|OcrSampleDocument|✅|| -|OcrTemplate|✅|| -|OmniChannelPricingSettings|✅|| -|OmniChannelSettings|✅|| -|OmniDataTransform|⚠️|Supports deploy/retrieve but not source tracking| -|OmniExtTrackingDef|⚠️|Supports deploy/retrieve but not source tracking| -|OmniIntegrationProcedure|⚠️|Supports deploy/retrieve but not source tracking| -|OmniInteractionAccessConfig|⚠️|Supports deploy/retrieve but not source tracking| -|OmniInteractionConfig|⚠️|Supports deploy/retrieve but not source tracking| -|OmniScript|⚠️|Supports deploy/retrieve but not source tracking| -|OmniSupervisorConfig|✅|| -|OmniTrackingGroup|⚠️|Supports deploy/retrieve but not source tracking| -|OmniUiCard|⚠️|Supports deploy/retrieve but not source tracking| -|OnlineSalesSettings|✅|| -|OpportunityScoreSettings|✅|| -|OpportunitySettings|✅|| -|OrderManagementSettings|✅|| -|OrderSettings|✅|| -|OrgSettings|✅|| -|OutboundNetworkConnection|✅|| -|PardotEinsteinSettings|✅|| -|PardotSettings|✅|| -|ParticipantRole|✅|| -|PartyDataModelSettings|✅|| -|PathAssistant|✅|| -|PathAssistantSettings|✅|| -|PaymentGatewayProvider|✅|| -|PaymentsManagementEnabledSettings|✅|| -|PaymentsSettings|✅|| -|PermissionSet|✅|| -|PermissionSetGroup|✅|| -|PermissionSetLicenseDefinition|✅|| -|PersonAccountOwnerPowerUser|✅|| -|PicklistSettings|✅|| -|PicklistValue|❌|Not supported, but support could be added| -|PipelineInspMetricConfig|✅|| -|PlatformCachePartition|✅|| -|PlatformEventChannel|✅|| -|PlatformEventChannelMember|✅|| -|PlatformEventSettings|✅|| -|PlatformEventSubscriberConfig|✅|| -|PlatformSlackSettings|✅|| -|PortalDelegablePermissionSet|❌|Not supported, but support could be added| -|PortalsSettings|✅|| -|PostTemplate|✅|| -|PredictionBuilderSettings|✅|| -|PresenceDeclineReason|✅|| -|PresenceUserConfig|✅|| -|PricingActionParameters|⚠️|Supports deploy/retrieve but not source tracking| -|PricingRecipe|✅|| -|PrivacySettings|✅|| -|ProcessFlowMigration|✅|| -|ProductAttrDisplayConfig|❌|Not supported, but support could be added| -|ProductAttributeSet|✅|| -|ProductConfiguratorSettings|✅|| -|ProductSettings|✅|| -|ProductSpecificationRecType|❌|Not supported, but support could be added| -|ProductSpecificationType|❌|Not supported, but support could be added| -|Profile|✅|| -|ProfilePasswordPolicy|✅|| -|ProfileSessionSetting|✅|| -|Prompt|✅|| -|Queue|✅|| -|QueueRoutingConfig|✅|| -|QuickAction|✅|| -|QuickTextSettings|✅|| -|QuoteSettings|✅|| -|RealTimeEventSettings|✅|| -|RecAlrtDataSrcExpSetDef|❌|Not supported, but support could be added| -|RecommendationBuilderSettings|✅|| -|RecommendationStrategy|✅|| -|RecordActionDeployment|✅|| -|RecordAggregationDefinition|✅|| -|RecordAlertCategory|✅|| -|RecordAlertDataSource|✅|| -|RecordAlertTemplate|✅|| -|RecordPageSettings|✅|| -|RecordType|✅|| -|RedirectWhitelistUrl|✅|| -|ReferencedDashboard|❌|Not supported, but support could be added| -|ReferralMarketingSettings|✅|| -|RegisteredExternalService|✅|| -|RelatedRecordAssocCriteria|❌|Not supported, but support could be added| -|RelationshipGraphDefinition|✅|| -|RemoteSiteSetting|✅|| -|Report|✅|| -|ReportFolder|✅|| -|ReportType|✅|| -|RestrictionRule|✅|| -|RetailExecutionSettings|✅|| -|RetrievalSummaryDefinition|✅|| -|RevenueManagementSettings|✅|| -|Role|✅|| -|SalesAgreementSettings|✅|| -|SalesWorkQueueSettings|✅|| -|SamlSsoConfig|✅|| -|SandboxSettings|✅|| -|SceGlobalModelOptOutSettings|✅|| -|SchedulingObjective|✅|| -|SchedulingRule|✅|| -|SchemaSettings|✅|| -|ScoreCategory|✅|| -|SearchCustomization|⚠️|Supports deploy/retrieve but not source tracking| -|SearchOrgWideObjectConfig|⚠️|Supports deploy/retrieve but not source tracking| -|SearchSettings|✅|| -|SecuritySettings|✅|| -|ServiceAISetupDefinition|✅|| -|ServiceAISetupField|✅|| -|ServiceChannel|✅|| -|ServiceCloudVoiceSettings|✅|| -|ServicePresenceStatus|✅|| -|ServiceProcess|✅|| -|ServiceSetupAssistantSettings|✅|| -|SharingCriteriaRule|✅|| -|SharingGuestRule|✅|| -|SharingOwnerRule|✅|| -|SharingReason|✅|| -|SharingRules|⚠️|Supports deploy/retrieve but not source tracking| -|SharingSet|✅|| -|SharingSettings|✅|| -|SharingTerritoryRule|✅|| -|SiteDotCom|✅|| -|SiteSettings|✅|| -|Skill|✅|| -|SkillType|✅|| -|SlackApp|✅|| -|SocialCustomerServiceSettings|✅|| -|SourceTrackingSettings|✅|| -|StandardValue|❌|Not supported, but support could be added| -|StandardValueSet|✅|| -|StandardValueSetTranslation|✅|| -|StaticResource|✅|| -|StnryAssetEnvSrcCnfg|✅|| -|StreamingAppDataConnector|✅|| -|SubscriptionManagementSettings|✅|| -|SurveySettings|✅|| -|SustainabilityUom|✅|| -|SustnUomConversion|✅|| -|SvcCatalogCategory|✅|| -|SvcCatalogFilterCriteria|✅|| -|SvcCatalogFulfillmentFlow|✅|| -|SvcCatalogItemDef|✅|| -|SynonymDictionary|✅|| -|SystemNotificationSettings|✅|| -|Territory|✅|| -|Territory2|✅|| -|Territory2Model|✅|| -|Territory2Rule|✅|| -|Territory2Settings|✅|| -|Territory2Type|✅|| -|TimeSheetTemplate|✅|| -|TimelineObjectDefinition|✅|| -|TopicsForObjects|✅|| -|TrailheadSettings|✅|| -|TransactionSecurityPolicy|✅|| -|Translations|✅|| -|TrialOrgSettings|✅|| -|UIObjectRelationConfig|✅|| -|UiPlugin|✅|| -|UserAccessPolicy|✅|| -|UserAuthCertificate|✅|| -|UserCriteria|✅|| -|UserEngagementSettings|✅|| -|UserInterfaceSettings|✅|| -|UserManagementSettings|✅|| -|UserProfileSearchScope|✅|| -|UserProvisioningConfig|✅|| -|ValidationRule|✅|| -|VehicleAssetEmssnSrcCnfg|✅|| -|ViewDefinition|✅|| -|VirtualVisitConfig|❌|Not supported, but support could be added| -|VoiceSettings|✅|| -|WarrantyLifecycleMgmtSettings|✅|| -|WaveAnalyticAssetCollection|❌|Not supported, but support could be added| -|WaveApplication|✅|| -|WaveComponent|✅|| -|WaveDashboard|✅|| -|WaveDataflow|✅|| -|WaveDataset|✅|| -|WaveLens|✅|| -|WaveRecipe|✅|| -|WaveTemplateBundle|✅|| -|WaveXmd|✅|| -|Web3Settings|✅|| -|WebLink|✅|| -|WebStoreBundle|✅|| -|WebStoreTemplate|✅|| -|WebToXSettings|✅|| -|WorkDotComSettings|✅|| -|WorkSkillRouting|✅|| -|Workflow|✅|| -|WorkflowAlert|✅|| -|WorkflowFieldUpdate|✅|| -|WorkflowFlowAction|❌|Not supported, but support could be added| -|WorkflowKnowledgePublish|✅|| -|WorkflowOutboundMessage|✅|| -|WorkflowRule|✅|| -|WorkflowSend|✅|| -|WorkflowTask|✅|| -|WorkforceEngagementSettings|✅|| - - +| Metadata Type | Support | Notes | +| :------------------------------------- | :------ | :----------------------------------------------- | +| AIApplication | ✅ | | +| AIApplicationConfig | ✅ | | +| AIReplyRecommendationsSettings | ✅ | | +| AIScoringModelDefVersion | ✅ | | +| AIScoringModelDefinition | ✅ | | +| AIUsecaseDefinition | ⚠️ | Supports deploy/retrieve but not source tracking | +| AccountForecastSettings | ✅ | | +| AccountIntelligenceSettings | ✅ | | +| AccountRelationshipShareRule | ✅ | | +| AccountSettings | ✅ | | +| AccountingFieldMapping | ✅ | | +| AccountingModelConfig | ✅ | | +| AccountingSettings | ✅ | | +| AcctMgrTargetSettings | ✅ | | +| ActionLauncherItemDef | ✅ | | +| ActionLinkGroupTemplate | ✅ | | +| ActionPlanTemplate | ✅ | | +| ActionableEventOrchDef | ✅ | | +| ActionableEventTypeDef | ✅ | | +| ActionableListDefinition | ✅ | | +| ActionsSettings | ✅ | | +| ActivationPlatform | ✅ | | +| ActivitiesSettings | ✅ | | +| ActnblListKeyPrfmIndDef | ✅ | | +| AddressSettings | ✅ | | +| AdvAccountForecastSet | ✅ | | +| AdvAcctForecastDimSource | ✅ | | +| AdvAcctForecastPeriodGroup | ✅ | | +| AffinityScoreDefinition | ✅ | | +| Ai4mSettings | ✅ | | +| AnalyticSnapshot | ✅ | | +| AnalyticsSettings | ✅ | | +| AnimationRule | ✅ | | +| ApexClass | ✅ | | +| ApexComponent | ✅ | | +| ApexEmailNotifications | ✅ | | +| ApexPage | ✅ | | +| ApexSettings | ✅ | | +| ApexTestSuite | ✅ | | +| ApexTrigger | ✅ | | +| AppAnalyticsSettings | ✅ | | +| AppExperienceSettings | ✅ | | +| AppMenu | ✅ | | +| ApplicationRecordTypeConfig | ✅ | | +| ApplicationSubtypeDefinition | ✅ | | +| AppointmentAssignmentPolicy | ✅ | | +| AppointmentSchedulingPolicy | ✅ | | +| ApprovalProcess | ✅ | | +| AssessmentConfiguration | ✅ | | +| AssessmentQuestion | ✅ | | +| AssessmentQuestionSet | ✅ | | +| AssignmentRules | ✅ | | +| AssistantContextItem | ✅ | | +| AssistantDefinition | ✅ | | +| AssistantSkillQuickAction | ✅ | | +| AssistantSkillSobjectAction | ✅ | | +| AssistantVersion | ✅ | | +| AssociationEngineSettings | ✅ | | +| Audience | ✅ | | +| AuraDefinitionBundle | ✅ | | +| AuthProvider | ✅ | | +| AutoResponseRules | ✅ | | +| AutomatedContactsSettings | ✅ | | +| BatchCalcJobDefinition | ✅ | | +| BatchProcessJobDefinition | ✅ | | +| BenefitAction | ✅ | | +| BlacklistedConsumer | ✅ | | +| BldgEnrgyIntensityCnfg | ✅ | | +| BlockchainSettings | ✅ | | +| Bot | ✅ | | +| BotBlock | ✅ | | +| BotBlockVersion | ❌ | Not supported, but support could be added | +| BotSettings | ✅ | | +| BotTemplate | ✅ | | +| BotVersion | ✅ | | +| BranchManagementSettings | ✅ | | +| BrandingSet | ✅ | | +| BriefcaseDefinition | ✅ | | +| BusinessHoursSettings | ✅ | | +| BusinessProcess | ✅ | | +| BusinessProcessGroup | ✅ | | +| BusinessProcessTypeDefinition | ✅ | | +| CMSConnectSource | ✅ | | +| CallCenter | ✅ | | +| CallCenterRoutingMap | ✅ | | +| CallCoachingMediaProvider | ⚠️ | Supports deploy/retrieve but not source tracking | +| CampaignInfluenceModel | ✅ | | +| CampaignSettings | ✅ | | +| CanvasMetadata | ✅ | | +| CareBenefitVerifySettings | ✅ | | +| CareLimitType | ✅ | | +| CareProviderAfflRoleConfig | ✅ | | +| CareProviderSearchConfig | ✅ | | +| CareRequestConfiguration | ✅ | | +| CareSystemFieldMapping | ✅ | | +| CaseSettings | ✅ | | +| CaseSubjectParticle | ✅ | | +| Certificate | ✅ | | +| ChannelLayout | ✅ | | +| ChannelObjectLinkingRule | ✅ | | +| ChatterAnswersSettings | ✅ | | +| ChatterEmailsMDSettings | ✅ | | +| ChatterExtension | ✅ | | +| ChatterSettings | ✅ | | +| ClaimFinancialSettings | ✅ | | +| ClaimMgmtFoundationEnabledSettings | ✅ | | +| ClauseCatgConfiguration | ✅ | | +| CleanDataService | ✅ | | +| CodeBuilderSettings | ✅ | | +| CollectionsDashboardSettings | ✅ | | +| CommandAction | ✅ | | +| CommerceSettings | ✅ | | +| CommsServiceConsoleSettings | ✅ | | +| CommunitiesSettings | ✅ | | +| Community | ✅ | | +| CommunityTemplateDefinition | ✅ | | +| CommunityThemeDefinition | ✅ | | +| CompactLayout | ✅ | | +| CompanySettings | ✅ | | +| ConnectedApp | ✅ | | +| ConnectedAppSettings | ✅ | | +| ContentAsset | ✅ | | +| ContentSettings | ✅ | | +| ContextDefinition | ⚠️ | Supports deploy/retrieve but not source tracking | +| ContextUseCaseMapping | ✅ | | +| ContractSettings | ✅ | | +| ContractType | ✅ | | +| ConversationChannelDefinition | ✅ | | +| ConversationServiceIntegrationSettings | ✅ | | +| ConversationVendorInfo | ✅ | | +| ConversationalIntelligenceSettings | ✅ | | +| CorsWhitelistOrigin | ✅ | | +| CspTrustedSite | ✅ | | +| CurrencySettings | ✅ | | +| CustomAddressFieldSettings | ✅ | | +| CustomApplication | ✅ | | +| CustomApplicationComponent | ✅ | | +| CustomFeedFilter | ✅ | | +| CustomField | ❌ | Not supported, but support could be added | +| CustomHelpMenuSection | ✅ | | +| CustomIndex | ✅ | | +| CustomLabels | ✅ | | +| CustomMetadata | ✅ | | +| CustomNotificationType | ✅ | | +| CustomObject | ✅ | | +| CustomObjectTranslation | ✅ | | +| CustomPageWebLink | ✅ | | +| CustomPermission | ✅ | | +| CustomSite | ✅ | | +| CustomTab | ✅ | | +| CustomValue | ❌ | Not supported, but support could be added | +| CustomerDataPlatformSettings | ✅ | | +| CustomizablePropensityScoringSettings | ✅ | | +| Dashboard | ✅ | | +| DashboardFolder | ✅ | | +| DataCalcInsightTemplate | ✅ | | +| DataCategoryGroup | ✅ | | +| DataConnectorIngestApi | ✅ | | +| DataConnectorS3 | ✅ | | +| DataDotComSettings | ✅ | | +| DataImportManagementSettings | ✅ | | +| DataKitObjectDependency | ✅ | | +| DataKitObjectTemplate | ✅ | | +| DataPackageKitDefinition | ✅ | | +| DataPackageKitObject | ✅ | | +| DataSource | ✅ | | +| DataSourceBundleDefinition | ✅ | | +| DataSourceObject | ✅ | | +| DataSourceTenant | ✅ | | +| DataSrcDataModelFieldMap | ✅ | | +| DataStreamDefinition | ✅ | | +| DataStreamTemplate | ✅ | | +| DataWeaveResource | ✅ | | +| DecisionMatrixDefinition | ✅ | | +| DecisionMatrixDefinitionVersion | ✅ | | +| DecisionTable | ✅ | | +| DecisionTableDatasetLink | ✅ | | +| DelegateGroup | ✅ | | +| DeploymentSettings | ✅ | | +| DevHubSettings | ✅ | | +| DigitalExperience | ✅ | | +| DigitalExperienceBundle | ✅ | | +| DigitalExperienceConfig | ✅ | | +| DisclosureDefinition | ✅ | | +| DisclosureDefinitionVersion | ✅ | | +| DisclosureType | ✅ | | +| DiscoveryAIModel | ✅ | | +| DiscoveryGoal | ✅ | | +| DiscoverySettings | ✅ | | +| DiscoveryStory | ✅ | | +| Document | ✅ | | +| DocumentCategory | ✅ | | +| DocumentCategoryDocumentType | ✅ | | +| DocumentChecklistSettings | ✅ | | +| DocumentFolder | ✅ | | +| DocumentGenerationSetting | ✅ | | +| DocumentTemplate | ⚠️ | Supports deploy/retrieve but not source tracking | +| DocumentType | ✅ | | +| DuplicateRule | ✅ | | +| DynamicFormsSettings | ✅ | | +| DynamicFulfillmentOrchestratorSettings | ✅ | | +| EACSettings | ✅ | | +| ESignatureConfig | ✅ | | +| ESignatureEnvelopeConfig | ✅ | | +| EclairGeoData | ✅ | | +| EinsteinAISettings | ✅ | | +| EinsteinAgentSettings | ✅ | | +| EinsteinAssistantSettings | ✅ | | +| EinsteinCopilotSettings | ✅ | | +| EinsteinDealInsightsSettings | ✅ | | +| EinsteinDocumentCaptureSettings | ✅ | | +| EinsteinGptSettings | ✅ | | +| EmailAdministrationSettings | ✅ | | +| EmailFolder | ✅ | | +| EmailIntegrationSettings | ✅ | | +| EmailServicesFunction | ✅ | | +| EmailTemplate | ✅ | | +| EmailTemplateFolder | ✅ | | +| EmailTemplateSettings | ✅ | | +| EmbeddedServiceBranding | ✅ | | +| EmbeddedServiceConfig | ✅ | | +| EmbeddedServiceFlowConfig | ✅ | | +| EmbeddedServiceLiveAgent | ✅ | | +| EmbeddedServiceMenuSettings | ✅ | | +| EmployeeDataSyncProfile | ✅ | | +| EmployeeFieldAccessSettings | ✅ | | +| EmployeeUserSettings | ✅ | | +| EnablementMeasureDefinition | ⚠️ | Supports deploy/retrieve but not source tracking | +| EnablementProgramDefinition | ⚠️ | Supports deploy/retrieve but not source tracking | +| EnhancedNotesSettings | ✅ | | +| EntitlementProcess | ✅ | | +| EntitlementSettings | ✅ | | +| EntitlementTemplate | ✅ | | +| EscalationRules | ✅ | | +| EssentialsSettings | ✅ | | +| EventLogObjectSettings | ✅ | | +| EventSettings | ✅ | | +| ExperienceBundle | ✅ | | +| ExperienceBundleSettings | ✅ | | +| ExperiencePropertyTypeBundle | ✅ | | +| ExplainabilityActionDefinition | ✅ | | +| ExplainabilityActionVersion | ✅ | | +| ExplainabilityMsgTemplate | ✅ | | +| ExpressionSetDefinition | ✅ | | +| ExpressionSetDefinitionVersion | ✅ | | +| ExpressionSetObjectAlias | ✅ | | +| ExtDataTranFieldTemplate | ❌ | Not supported, but support could be added | +| ExtDataTranObjectTemplate | ✅ | | +| ExternalAIModel | ✅ | | +| ExternalAuthIdentityProvider | ✅ | | +| ExternalClientAppSettings | ✅ | | +| ExternalClientApplication | ✅ | | +| ExternalCredential | ✅ | | +| ExternalDataConnector | ✅ | | +| ExternalDataSource | ✅ | | +| ExternalDataSrcDescriptor | ❌ | Not supported, but support could be added | +| ExternalDataTranField | ❌ | Not supported, but support could be added | +| ExternalDataTranObject | ✅ | | +| ExternalDocStorageConfig | ✅ | | +| ExternalServiceRegistration | ✅ | | +| ExtlClntAppConfigurablePolicies | ✅ | | +| ExtlClntAppGlobalOauthSettings | ✅ | | +| ExtlClntAppMobileConfigurablePolicies | ✅ | | +| ExtlClntAppMobileSettings | ✅ | | +| ExtlClntAppNotificationSettings | ✅ | | +| ExtlClntAppOauthConfigurablePolicies | ✅ | | +| ExtlClntAppOauthSettings | ✅ | | +| FeatureParameterBoolean | ✅ | | +| FeatureParameterDate | ✅ | | +| FeatureParameterInteger | ✅ | | +| FieldRestrictionRule | ✅ | | +| FieldServiceMobileExtension | ✅ | | +| FieldServiceSettings | ✅ | | +| FieldSet | ✅ | | +| FieldSrcTrgtRelationship | ✅ | | +| FileUploadAndDownloadSecuritySettings | ✅ | | +| FilesConnectSettings | ✅ | | +| FlexiPage | ✅ | | +| Flow | ✅ | | +| FlowCategory | ✅ | | +| FlowDefinition | ⚠️ | Supports deploy/retrieve but not source tracking | +| FlowSettings | ✅ | | +| FlowTest | ✅ | | +| ForecastingFilter | ✅ | | +| ForecastingFilterCondition | ✅ | | +| ForecastingGroup | ✅ | | +| ForecastingObjectListSettings | ✅ | | +| ForecastingSettings | ✅ | | +| ForecastingSourceDefinition | ✅ | | +| ForecastingType | ✅ | | +| ForecastingTypeSource | ✅ | | +| FormulaSettings | ✅ | | +| FuelType | ✅ | | +| FuelTypeSustnUom | ✅ | | +| FunctionReference | ⚠️ | Supports deploy/retrieve but not source tracking | +| FundraisingConfig | ✅ | | +| GatewayProviderPaymentMethodType | ✅ | | +| GenAiFunction | ✅ | | +| GenAiPlanner | ✅ | | +| GenAiPlugin | ✅ | | +| GenAiPluginInstructionDef | ❌ | Not supported, but support could be added | +| GlobalValueSet | ✅ | | +| GlobalValueSetTranslation | ✅ | | +| GoogleAppsSettings | ✅ | | +| Group | ✅ | | +| HighVelocitySalesSettings | ✅ | | +| HomePageComponent | ✅ | | +| HomePageLayout | ✅ | | +| IPAddressRange | ✅ | | +| Icon | ✅ | | +| IdeasSettings | ✅ | | +| IdentityProviderSettings | ✅ | | +| IdentityVerificationProcDef | ✅ | | +| IframeWhiteListUrlSettings | ✅ | | +| InboundCertificate | ✅ | | +| InboundNetworkConnection | ✅ | | +| IncidentMgmtSettings | ✅ | | +| IncludeEstTaxInQuoteCPQSettings | ✅ | | +| IncludeEstTaxInQuoteSettings | ✅ | | +| Index | ⚠️ | Supports deploy/retrieve but not source tracking | +| IndustriesAutomotiveSettings | ✅ | | +| IndustriesContextSettings | ✅ | | +| IndustriesEinsteinFeatureSettings | ✅ | | +| IndustriesEventOrchSettings | ✅ | | +| IndustriesFieldServiceSettings | ✅ | | +| IndustriesGamificationSettings | ✅ | | +| IndustriesLoyaltySettings | ✅ | | +| IndustriesManufacturingSettings | ✅ | | +| IndustriesPricingSettings | ✅ | | +| IndustriesSettings | ✅ | | +| IndustriesUnifiedPromotionsSettings | ✅ | | +| InstalledPackage | ⚠️ | Supports deploy/retrieve but not source tracking | +| IntegrationProviderDef | ✅ | | +| InterestTaggingSettings | ✅ | | +| InternalDataConnector | ✅ | | +| InvLatePymntRiskCalcSettings | ✅ | | +| InventorySettings | ✅ | | +| InvocableActionSettings | ✅ | | +| IoTSettings | ✅ | | +| KeywordList | ✅ | | +| KnowledgeGenerationSettings | ✅ | | +| KnowledgeSettings | ✅ | | +| LanguageSettings | ✅ | | +| LargeQuotesandOrdersForRlmSettings | ✅ | | +| Layout | ✅ | | +| LeadConfigSettings | ✅ | | +| LeadConvertSettings | ✅ | | +| LearningAchievementConfig | ✅ | | +| Letterhead | ✅ | | +| LicensingSettings | ✅ | | +| LightningBolt | ✅ | | +| LightningComponentBundle | ✅ | | +| LightningExperienceSettings | ✅ | | +| LightningExperienceTheme | ✅ | | +| LightningMessageChannel | ✅ | | +| LightningOnboardingConfig | ✅ | | +| ListView | ✅ | | +| LiveAgentSettings | ✅ | | +| LiveChatAgentConfig | ✅ | | +| LiveChatButton | ✅ | | +| LiveChatDeployment | ✅ | | +| LiveChatSensitiveDataRule | ✅ | | +| LiveMessageSettings | ✅ | | +| LocationUse | ✅ | | +| LoyaltyProgramSetup | ⚠️ | Supports deploy/retrieve but not source tracking | +| MacroSettings | ✅ | | +| MailMergeSettings | ✅ | | +| ManagedContentType | ⚠️ | Supports deploy/retrieve but not source tracking | +| ManagedEventSubscription | ✅ | | +| ManagedTopics | ✅ | | +| MapsAndLocationSettings | ✅ | | +| MarketSegmentDefinition | ✅ | | +| MarketingAppExtActivity | ❌ | Not supported, but support could be added | +| MarketingAppExtension | ✅ | | +| MatchingRules | ✅ | | +| MediaAdSalesSettings | ✅ | | +| MeetingsSettings | ✅ | | +| MessagingChannel | ⚠️ | Supports deploy/retrieve but not source tracking | +| MfgProgramTemplate | ✅ | | +| MfgServiceConsoleSettings | ✅ | | +| MilestoneType | ✅ | | +| MktCalcInsightObjectDef | ✅ | | +| MktDataConnection | ✅ | | +| MktDataConnectionSrcParam | ✅ | | +| MktDataTranObject | ✅ | | +| MlDomain | ✅ | | +| MobSecurityCertPinConfig | ✅ | | +| MobileApplicationDetail | ✅ | | +| MobileSecurityAssignment | ✅ | | +| MobileSecurityPolicy | ✅ | | +| MobileSettings | ✅ | | +| ModerationRule | ✅ | | +| MutingPermissionSet | ✅ | | +| MyDomainDiscoverableLogin | ✅ | | +| MyDomainSettings | ✅ | | +| NameSettings | ✅ | | +| NamedCredential | ✅ | | +| NavigationMenu | ✅ | | +| Network | ✅ | | +| NetworkBranding | ✅ | | +| NotificationTypeConfig | ✅ | | +| NotificationsSettings | ✅ | | +| OauthCustomScope | ✅ | | +| OauthOidcSettings | ✅ | | +| OauthTokenExchangeHandler | ✅ | | +| ObjectHierarchyRelationship | ✅ | | +| ObjectLinkingSettings | ✅ | | +| ObjectSourceTargetMap | ✅ | | +| OcrSampleDocument | ✅ | | +| OcrTemplate | ✅ | | +| OmniChannelPricingSettings | ✅ | | +| OmniChannelSettings | ✅ | | +| OmniDataTransform | ⚠️ | Supports deploy/retrieve but not source tracking | +| OmniExtTrackingDef | ⚠️ | Supports deploy/retrieve but not source tracking | +| OmniIntegrationProcedure | ⚠️ | Supports deploy/retrieve but not source tracking | +| OmniInteractionAccessConfig | ⚠️ | Supports deploy/retrieve but not source tracking | +| OmniInteractionConfig | ⚠️ | Supports deploy/retrieve but not source tracking | +| OmniScript | ⚠️ | Supports deploy/retrieve but not source tracking | +| OmniSupervisorConfig | ✅ | | +| OmniTrackingGroup | ⚠️ | Supports deploy/retrieve but not source tracking | +| OmniUiCard | ⚠️ | Supports deploy/retrieve but not source tracking | +| OnlineSalesSettings | ✅ | | +| OpportunityScoreSettings | ✅ | | +| OpportunitySettings | ✅ | | +| OrderManagementSettings | ✅ | | +| OrderSettings | ✅ | | +| OrgSettings | ✅ | | +| OutboundNetworkConnection | ✅ | | +| PardotEinsteinSettings | ✅ | | +| PardotSettings | ✅ | | +| ParticipantRole | ✅ | | +| PartyDataModelSettings | ✅ | | +| PathAssistant | ✅ | | +| PathAssistantSettings | ✅ | | +| PaymentGatewayProvider | ✅ | | +| PaymentsManagementEnabledSettings | ✅ | | +| PaymentsSettings | ✅ | | +| PermissionSet | ✅ | | +| PermissionSetGroup | ✅ | | +| PermissionSetLicenseDefinition | ✅ | | +| PersonAccountOwnerPowerUser | ✅ | | +| PicklistSettings | ✅ | | +| PicklistValue | ❌ | Not supported, but support could be added | +| PipelineInspMetricConfig | ✅ | | +| PlatformCachePartition | ✅ | | +| PlatformEventChannel | ✅ | | +| PlatformEventChannelMember | ✅ | | +| PlatformEventSettings | ✅ | | +| PlatformEventSubscriberConfig | ✅ | | +| PlatformSlackSettings | ✅ | | +| PortalDelegablePermissionSet | ✅ | | +| PortalsSettings | ✅ | | +| PostTemplate | ✅ | | +| PredictionBuilderSettings | ✅ | | +| PresenceDeclineReason | ✅ | | +| PresenceUserConfig | ✅ | | +| PricingActionParameters | ⚠️ | Supports deploy/retrieve but not source tracking | +| PricingRecipe | ✅ | | +| PrivacySettings | ✅ | | +| ProcessFlowMigration | ✅ | | +| ProductAttrDisplayConfig | ✅ | | +| ProductAttributeSet | ✅ | | +| ProductConfiguratorSettings | ✅ | | +| ProductSettings | ✅ | | +| ProductSpecificationRecType | ✅ | | +| ProductSpecificationType | ✅ | | +| Profile | ✅ | | +| ProfilePasswordPolicy | ✅ | | +| ProfileSessionSetting | ✅ | | +| Prompt | ✅ | | +| Queue | ✅ | | +| QueueRoutingConfig | ✅ | | +| QuickAction | ✅ | | +| QuickTextSettings | ✅ | | +| QuoteSettings | ✅ | | +| RealTimeEventSettings | ✅ | | +| RecAlrtDataSrcExpSetDef | ✅ | | +| RecommendationBuilderSettings | ✅ | | +| RecommendationStrategy | ✅ | | +| RecordActionDeployment | ✅ | | +| RecordAggregationDefinition | ✅ | | +| RecordAlertCategory | ✅ | | +| RecordAlertDataSource | ✅ | | +| RecordAlertTemplate | ✅ | | +| RecordPageSettings | ✅ | | +| RecordType | ✅ | | +| RedirectWhitelistUrl | ✅ | | +| ReferencedDashboard | ✅ | | +| ReferralMarketingSettings | ✅ | | +| RegisteredExternalService | ✅ | | +| RelatedRecordAssocCriteria | ✅ | | +| RelationshipGraphDefinition | ✅ | | +| RemoteSiteSetting | ✅ | | +| Report | ✅ | | +| ReportFolder | ✅ | | +| ReportType | ✅ | | +| RestrictionRule | ✅ | | +| RetailExecutionSettings | ✅ | | +| RetrievalSummaryDefinition | ✅ | | +| RevenueManagementSettings | ✅ | | +| Role | ✅ | | +| SalesAgreementSettings | ✅ | | +| SalesWorkQueueSettings | ✅ | | +| SamlSsoConfig | ✅ | | +| SandboxSettings | ✅ | | +| SceGlobalModelOptOutSettings | ✅ | | +| SchedulingObjective | ✅ | | +| SchedulingRule | ✅ | | +| SchemaSettings | ✅ | | +| ScoreCategory | ✅ | | +| SearchCustomization | ⚠️ | Supports deploy/retrieve but not source tracking | +| SearchOrgWideObjectConfig | ⚠️ | Supports deploy/retrieve but not source tracking | +| SearchSettings | ✅ | | +| SecuritySettings | ✅ | | +| ServiceAISetupDefinition | ✅ | | +| ServiceAISetupField | ✅ | | +| ServiceChannel | ✅ | | +| ServiceCloudVoiceSettings | ✅ | | +| ServicePresenceStatus | ✅ | | +| ServiceProcess | ✅ | | +| ServiceSetupAssistantSettings | ✅ | | +| SharingCriteriaRule | ✅ | | +| SharingGuestRule | ✅ | | +| SharingOwnerRule | ✅ | | +| SharingReason | ✅ | | +| SharingRules | ⚠️ | Supports deploy/retrieve but not source tracking | +| SharingSet | ✅ | | +| SharingSettings | ✅ | | +| SharingTerritoryRule | ✅ | | +| SiteDotCom | ✅ | | +| SiteSettings | ✅ | | +| Skill | ✅ | | +| SkillType | ✅ | | +| SlackApp | ✅ | | +| SocialCustomerServiceSettings | ✅ | | +| SourceTrackingSettings | ✅ | | +| StandardValue | ❌ | Not supported, but support could be added | +| StandardValueSet | ✅ | | +| StandardValueSetTranslation | ✅ | | +| StaticResource | ✅ | | +| StnryAssetEnvSrcCnfg | ✅ | | +| StreamingAppDataConnector | ✅ | | +| SubscriptionManagementSettings | ✅ | | +| SurveySettings | ✅ | | +| SustainabilityUom | ✅ | | +| SustnUomConversion | ✅ | | +| SvcCatalogCategory | ✅ | | +| SvcCatalogFilterCriteria | ✅ | | +| SvcCatalogFulfillmentFlow | ✅ | | +| SvcCatalogItemDef | ✅ | | +| SynonymDictionary | ✅ | | +| SystemNotificationSettings | ✅ | | +| Territory | ✅ | | +| Territory2 | ✅ | | +| Territory2Model | ✅ | | +| Territory2Rule | ✅ | | +| Territory2Settings | ✅ | | +| Territory2Type | ✅ | | +| TimeSheetTemplate | ✅ | | +| TimelineObjectDefinition | ✅ | | +| TopicsForObjects | ✅ | | +| TrailheadSettings | ✅ | | +| TransactionSecurityPolicy | ✅ | | +| Translations | ✅ | | +| TrialOrgSettings | ✅ | | +| UIObjectRelationConfig | ✅ | | +| UiPlugin | ✅ | | +| UserAccessPolicy | ✅ | | +| UserAuthCertificate | ✅ | | +| UserCriteria | ✅ | | +| UserEngagementSettings | ✅ | | +| UserInterfaceSettings | ✅ | | +| UserManagementSettings | ✅ | | +| UserProfileSearchScope | ✅ | | +| UserProvisioningConfig | ✅ | | +| ValidationRule | ✅ | | +| VehicleAssetEmssnSrcCnfg | ✅ | | +| ViewDefinition | ✅ | | +| VirtualVisitConfig | ✅ | | +| VoiceSettings | ✅ | | +| WarrantyLifecycleMgmtSettings | ✅ | | +| WaveAnalyticAssetCollection | ✅ | | +| WaveApplication | ✅ | | +| WaveComponent | ✅ | | +| WaveDashboard | ✅ | | +| WaveDataflow | ✅ | | +| WaveDataset | ✅ | | +| WaveLens | ✅ | | +| WaveRecipe | ✅ | | +| WaveTemplateBundle | ✅ | | +| WaveXmd | ✅ | | +| Web3Settings | ✅ | | +| WebLink | ✅ | | +| WebStoreBundle | ✅ | | +| WebStoreTemplate | ✅ | | +| WebToXSettings | ✅ | | +| WorkDotComSettings | ✅ | | +| WorkSkillRouting | ✅ | | +| Workflow | ✅ | | +| WorkflowAlert | ✅ | | +| WorkflowFieldUpdate | ✅ | | +| WorkflowFlowAction | ❌ | Not supported, but support could be added | +| WorkflowKnowledgePublish | ✅ | | +| WorkflowOutboundMessage | ✅ | | +| WorkflowRule | ✅ | | +| WorkflowSend | ✅ | | +| WorkflowTask | ✅ | | +| WorkforceEngagementSettings | ✅ | | ## Next Release (v62) -v62 introduces the following new types. Here's their current level of support +v62 introduces the following new types. Here's their current level of support -|Metadata Type|Support|Notes| -|:---|:---|:---| -|AccountPlanSettings|✅|| -|BillingSettings|✅|| -|ChannelRevMgmtSettings|✅|| -|ChoiceList|❌|Not supported, but support could be added (but not for tracking)| -|ConvIntelligenceSignalRule|❌|Not supported, but support could be added| -|ConversationMessageDefinition|✅|| -|EnblProgramTaskSubCategory|✅|| -|ExtlClntAppPushConfigurablePolicies|❌|Not supported, but support could be added (but not for tracking)| -|ExtlClntAppPushSettings|✅|| -|HerokuIntegrationSettings|✅|| -|IndustriesRatingSettings|✅|| -|IndustriesUsageSettings|✅|| -|LearningItemType|✅|| -|ProductDiscoverySettings|✅|| -|PublicKeyCertificate|❌|Not supported, but support could be added (but not for tracking)| -|PublicKeyCertificateSet|❌|Not supported, but support could be added (but not for tracking)| -|StageDefinition|✅|| -|UiFormatSpecificationSet|✅|| -|WorkflowFlowAutomation|❌|Not supported, but support could be added| +| Metadata Type | Support | Notes | +| :---------------------------------- | :------ | :--------------------------------------------------------------- | +| AccountPlanSettings | ✅ | | +| BillingSettings | ✅ | | +| ChannelRevMgmtSettings | ✅ | | +| ChoiceList | ❌ | Not supported, but support could be added (but not for tracking) | +| ConvIntelligenceSignalRule | ❌ | Not supported, but support could be added | +| ConversationMessageDefinition | ✅ | | +| EnblProgramTaskSubCategory | ✅ | | +| ExtlClntAppPushConfigurablePolicies | ❌ | Not supported, but support could be added (but not for tracking) | +| ExtlClntAppPushSettings | ✅ | | +| HerokuIntegrationSettings | ✅ | | +| IndustriesRatingSettings | ✅ | | +| IndustriesUsageSettings | ✅ | | +| LearningItemType | ✅ | | +| ProductDiscoverySettings | ✅ | | +| PublicKeyCertificate | ❌ | Not supported, but support could be added (but not for tracking) | +| PublicKeyCertificateSet | ❌ | Not supported, but support could be added (but not for tracking) | +| StageDefinition | ✅ | | +| UiFormatSpecificationSet | ✅ | | +| WorkflowFlowAutomation | ❌ | Not supported, but support could be added | ## Additional Types -> The following types are supported by this library but not in the coverage reports for either version. These are typically +> The following types are supported by this library but not in the coverage reports for either version. These are typically > > 1. types that have been removed from the metadata API but were supported in previous versions > 1. types that are available for pilots but not officially part of the metadata API (use with caution) @@ -667,6 +665,7 @@ v62 introduces the following new types. Here's their current level of support - CustomDataType - CustomExperience - CustomLabel +- Custod - CustomFieldTranslation - DataPipeline - DynamicTrigger From fbd77d38601266523d870e9e12d4d7120285015c Mon Sep 17 00:00:00 2001 From: mshanemc Date: Mon, 19 Aug 2024 12:32:29 -0500 Subject: [PATCH 08/11] chore: removal internal links --- contributing/metadata.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/metadata.md b/contributing/metadata.md index 00585b8f77..a8233f901c 100644 --- a/contributing/metadata.md +++ b/contributing/metadata.md @@ -23,7 +23,7 @@ yarn update-supported-metadata ### Path 1: Using Core Metadata -There exists a test in Core [sourcegraph](https://sourcegraph.soma.salesforce.com/perforce.soma.salesforce.com/app/250/patch/core/-/blob/md-common-impl/test/func/java/src/mdcommon/cli/GenerateCLITypeRegistryInfoTest.java) that generates a file [sourcegraph](https://sourcegraph.soma.salesforce.com/perforce.soma.salesforce.com/app/252/patch/core/-/blob/md-common-impl/test/func/results/cli-type-registry-info/cli-type-registry-info.json). +There exists a test in Core `GenerateCLITypeRegistryInfoTest` that generates a file `cli-type-registry-info.json`. The test is manually run, the file is committed to `patch`, and the output is manually copied to `../scripts/update-registry/describe.json` in SDR. From dabbf72d17b9d5f0d8aa55338510c015f8c8301f Mon Sep 17 00:00:00 2001 From: mshanemc Date: Mon, 19 Aug 2024 12:54:32 -0500 Subject: [PATCH 09/11] chore: fixes from QA --- contributing/metadata.md | 2 -- scripts/update-registry/updateRegistryFromOrg.ts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/contributing/metadata.md b/contributing/metadata.md index a8233f901c..ebeca6aa6d 100644 --- a/contributing/metadata.md +++ b/contributing/metadata.md @@ -29,8 +29,6 @@ The test is manually run, the file is committed to `patch`, and the output is ma If your metadata type is simple and already in the file, run `yarn update-registry-org ` (you'll see warnings if your type is missing or too complex for the script to handle) -Running the script with no params will try to do ALL missing metadata types. - ### Path 2: Using Describe from an Org > Note: The script asks your org for describe information about your type. Make sure that `sf org list metadata-types` returns the correct information for your type. diff --git a/scripts/update-registry/updateRegistryFromOrg.ts b/scripts/update-registry/updateRegistryFromOrg.ts index e938cdf352..1bb3f10192 100644 --- a/scripts/update-registry/updateRegistryFromOrg.ts +++ b/scripts/update-registry/updateRegistryFromOrg.ts @@ -14,7 +14,7 @@ const getMissingTypesAsDescribeResult = async (missingTypes: string[]): Promise< ]) ); // get the missingTypes from the describe - return missingTypes.map(([key]) => metadataObjectsByName.get(key)).filter(isDefined); + return missingTypes.map((key) => metadataObjectsByName.get(key)).filter(isDefined); }; /** massage for slight differences between the 2 types */ From cfd62d27712ce0ffae0f9d7ec32c81f384a4c454 Mon Sep 17 00:00:00 2001 From: mshanemc Date: Mon, 19 Aug 2024 14:57:29 -0500 Subject: [PATCH 10/11] fix: explain what the json output is --- scripts/update-registry/shared/updateRegistry.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/update-registry/shared/updateRegistry.ts b/scripts/update-registry/shared/updateRegistry.ts index 0a989e5c52..90809f7f2b 100644 --- a/scripts/update-registry/shared/updateRegistry.ts +++ b/scripts/update-registry/shared/updateRegistry.ts @@ -37,6 +37,7 @@ export const registryUpdate = (missingTypesAsDescribeResult: DescribeEntry[]) => registry.suffixes[suffix] = typeId; } }); + console.log('Updated registry with new types:'); const jsonData = JSON.stringify(registry, null, 2); fs.writeFileSync('./src/registry/metadataRegistry.json', jsonData); }; From 51e004de9728f6ba1589134954373330c986073b Mon Sep 17 00:00:00 2001 From: mshanemc Date: Mon, 19 Aug 2024 15:29:30 -0500 Subject: [PATCH 11/11] fix: pr feedback (case insensitivity) --- .../update-registry/shared/updateRegistry.ts | 1 - .../updateRegistryFromCoreMetadata.ts | 10 +++++++--- .../update-registry/updateRegistryFromOrg.ts | 18 +++++++++++++++--- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/scripts/update-registry/shared/updateRegistry.ts b/scripts/update-registry/shared/updateRegistry.ts index 90809f7f2b..0a989e5c52 100644 --- a/scripts/update-registry/shared/updateRegistry.ts +++ b/scripts/update-registry/shared/updateRegistry.ts @@ -37,7 +37,6 @@ export const registryUpdate = (missingTypesAsDescribeResult: DescribeEntry[]) => registry.suffixes[suffix] = typeId; } }); - console.log('Updated registry with new types:'); const jsonData = JSON.stringify(registry, null, 2); fs.writeFileSync('./src/registry/metadataRegistry.json', jsonData); }; diff --git a/scripts/update-registry/updateRegistryFromCoreMetadata.ts b/scripts/update-registry/updateRegistryFromCoreMetadata.ts index c9020102b2..ae77dbe343 100644 --- a/scripts/update-registry/updateRegistryFromCoreMetadata.ts +++ b/scripts/update-registry/updateRegistryFromCoreMetadata.ts @@ -22,8 +22,9 @@ const getMissingTypesFromDescribe = async (missingTypes: string[]): Promise (typeName: string): DescribeEntry | undefined => { - if (describe[typeName]) { - return describe[typeName]; + const [, found] = Object.entries(describe).find(([key]) => key.toLowerCase() === typeName.toLowerCase()) ?? []; + if (found !== undefined) { + return found; } console.warn(`No entry for ${typeName}`); }; @@ -31,6 +32,9 @@ const logMissingEntry = (async () => { const missingTypes = await whatTypesNeedDescribe(); const missingTypesAsDescribeEntry = await getMissingTypesFromDescribe(missingTypes); - console.log(missingTypesAsDescribeEntry); + (missingTypesAsDescribeEntry.length + ? [`Updating types in the registry`, missingTypesAsDescribeEntry] + : ['No metadata changes made'] + ).map((i) => console.log(i)); registryUpdate(missingTypesAsDescribeEntry); })(); diff --git a/scripts/update-registry/updateRegistryFromOrg.ts b/scripts/update-registry/updateRegistryFromOrg.ts index 1bb3f10192..0a65830aa6 100644 --- a/scripts/update-registry/updateRegistryFromOrg.ts +++ b/scripts/update-registry/updateRegistryFromOrg.ts @@ -9,12 +9,12 @@ const getMissingTypesAsDescribeResult = async (missingTypes: string[]): Promise< const describeResult = await execProm('sf org list metadata-types -o registryBuilder --json'); const metadataObjectsByName = new Map( (JSON.parse(describeResult.stdout).result.metadataObjects as DescribeResult[]).map((describeObj) => [ - describeObj.xmlName, + describeObj.xmlName.toLowerCase(), describeObj, ]) ); // get the missingTypes from the describe - return missingTypes.map((key) => metadataObjectsByName.get(key)).filter(isDefined); + return missingTypes.map(lowercaseFn).map(getOrWarn(metadataObjectsByName)).filter(isDefined); }; /** massage for slight differences between the 2 types */ @@ -33,6 +33,18 @@ const describeResultToDescribeEntry = (describeResult: DescribeResult): Describe const missingTypes = await whatTypesNeedDescribe(); const missingTypesAsDescribeResult = await getMissingTypesAsDescribeResult(missingTypes); - console.log(missingTypesAsDescribeResult); registryUpdate(missingTypesAsDescribeResult.map(describeResultToDescribeEntry)); })(); + +const lowercaseFn = (s: string) => s.toLowerCase(); + +const getOrWarn = + (map: Map) => + (key: string): T | undefined => { + const result = map.get(key); + if (result === undefined) { + console.warn(`No entry for ${key}`); + return; + } + return result; + };