powerplatform-review-tool
Version:
Evaluate Power Platform solution zip files based on best practice patterns
215 lines • 7.56 kB
TypeScript
import { PatternResult } from "./interface/pattern";
export declare const enum ManifestPropertyNames {
dataset = "dataset",
SolutionFile = "SolutionFile"
}
/** @public */
export declare const enum ManifestPropertyStatusNames {
Pass = "Pass",
Fail = "Fail",
Skipped = "Skipped",
NotExecuted = "NotExecuted",
Warning = "Warning"
}
export declare const enum ItemColumns {
PatternID = "PatternID",
PatternName = "PatternName",
PatternDescription = "PatternDescription",
PatternRecommendation = "PatternRecommendation",
PatternDocLink = "PatternDocLink",
PatternSeverity = "PatternSeverity",
PatternCategory = "PatternCategory",
PatternType = "PatternType",
PatternScore = "PatternScore",
PatternActive = "PatternActive"
}
export declare const XML_MIME_TYPE = "application/xml";
export declare const customizationFileName = "customizations.xml";
export interface ContextEx {
page: {
getClientUrl: () => string;
entityId: string;
entityTypeName: string;
};
mode: {
isAuthoringMode: boolean;
};
}
export declare const enum EventConstants {
OnReviewComplete = "OnReviewComplete"
}
export declare const enum SourceDataConstants {
RequestData = 809060000,
PreviousNodeOutcome = 809060001,
RequestDataString = "Request Data",
PreviousNodeOutcomeString = "Previous Node Outcome"
}
export declare enum BotPatternInfo {
TriggerPhraseCount = "TriggerPhraseCount",
SingleWordPhrases = "SingleWordPhrases",
LongPhrases = "LongPhrases",
ConditionCount = "ConditionCount",
SharePointAuthMode = "SharePointAuthMode",
FlowCount = "FlowCount",
UnusedTopics = "UnusedTopics",
SynonymsQuality = "SynonymsQuality",
DuplicateRegexEntities = "DuplicateRegexEntities",
EndOfConversationReference = "EndOfConversationReference",
EvaluateTopicDescription = "EvaluateTopicDescription",
EvaluateTopicInputOutputVariableDescription = "EvaluateTopicInputOutputVariableDescription",
EvaluateActionDescription = "EvaluateActionDescription",
EvaluateKnowledgeDescription = "EvaluateKnowledgeDescription"
}
export declare enum FlowPatternInfo {
UnusedVariables = "UnusedVariables",
ActionCount = "ActionCount",
NamingConventions = "NamingConventions",
NestedLoops = "NestedLoops",
Concurrency = "Concurrency",
MultipleInitializeVariableActions = "MultipleInitializeVariableActions",
StaticVariables = "StaticVariables",
PowerAppResponse = "PowerAppResponse",
ScopeUsage = "ScopeUsage",
TriggerCondition = "TriggerCondition",
DataRetrievalParameters = "DataRetrievalParameters",
ActionNote = "ActionNote",
CreateUpdateInsideLoop = "CreateUpdateInsideLoop"
}
export declare const FlowPatternDetails: Record<FlowPatternInfo, {
patternID: string;
patternName: string;
description: string;
docLink: string;
recommendation: string;
severity: Severity;
category: Category;
}>;
export declare const BotPatternDetails: Record<BotPatternInfo, {
patternID: string;
patternName: string;
description: string;
docLink: string;
recommendation: string;
severity: string;
category: string;
}>;
export declare enum PowerAppsPatternInfo {
MediaFileSize = "MediaFileSize",
AppSettings = "AppSettings",
AppCheckerAccessibilityIssues = "AppCheckerAccessibilityIssues",
UnusedElements = "UnusedElements",
NPlusOne = "NPlusOne",
ErrorHandling = "ErrorHandling",
CodeReadability = "CodeReadability",
InefficientDataRetrieval = "InefficientDataRetrieval",
NestedFilters = "NestedFilters",
PatchFormulaOptimization = "PatchFormulaOptimization",
NestedAPICalls = "NestedAPICalls",
NamedFormulas = "NamedFormulas",
UxLayout = "UxLayout",
UnusedMediaResources = "UnusedMediaResources",
InefficientDelayLoading = "InefficientDelayLoading"
}
export declare const PowerAppsPatternDetails: Record<PowerAppsPatternInfo, PatternResult>;
export declare const enum StringConstants {
SelectComponents = "Select components to be reviewed",
PickSolution = "Pick a solution to review",
AttachSolution = "Attach Solution",
SpinnerLoading = "Loading...",
Reviewing = "Reviewing...",
Solutions = "solutions",
PowerApps = "canvasapp",
PowerAutomate = "workflow",
CopilotStudio = "bot",
OneBranchNodeWidth = 650,
TwoBranchNodeWidth = 550,
ThreeBranchNodeWidth = 400,
FourBranchNodeWidth = 300,
FiveBranchNodeWidth = 220,
NodePadding = 10,
StageWidth = 1300,
PrimaryColor = "#0066ff",
SessionStorageID = "PowerCAT_IntelligentReview_Key",
NodeHeight = 100,
ConditionLabelYPosition = 20,
PreAddNodeYPosition = 80,
TrueLabel = "TRUE",
FalseLabel = "FALSE",
SRC_FOLDER = "SrcV3",
ASSETS_IMAGES_FOLDER = "Assets\\Images\\",
RESOURCE_FOLDER = "Resources",
CONTROLS_FOLDER = "Controls",
ARRAYBUFFER = "arraybuffer",
STRING = "string",
MSAPP_EXTENSION = ".msapp",
AppCheckerErrorStatement = "Errors or warnings from App Checker Results: ",
classicgenmode = "classic/genmode",
classic = "classic",
genmode = "genmode"
}
export declare const enum Severity {
High = "High",
Low = "Low",
Medium = "Medium",
Critical = "Critical",
Informational = "Informational"
}
export declare const enum Category {
Performance = "Performance",
Accessibility = "Accessibility",
Maintainability = "Maintainability",
Security = "Security",
Data = "Data",
CodingStandards = "Coding Standards",
UX = "UX",
Supportability = "Supportability",
Usage = "Usage",
Design = "Design",
Configuration = "Configuration",
Optimization = "Optimization",
Usability = "Usability",
Reliability = "Reliability",
Scalability = "Scalability",
Compliance = "Compliance",
Privacy = "Privacy",
Functionality = "Functionality",
Mantainability = "Mantainability",
Validation = "Validation"
}
export declare const MEDIA_FILE_SIZE_THRESHOLD: number;
export declare const AppSettingsList: string[];
export declare const QueryFunctions: string[];
export declare const RelevantRuleIdsForUnusedElements: string[];
export declare const RelevantRuleIdsForMediaFileSize: string[];
export declare const OuterFunctions: string[];
export declare const InnerFunctions: string[];
export declare const PropertyExclusionList: string[];
export declare const topicExclusionList: string[];
/** ********************************************************************
* Component types and their numeric codes as stored in <componenttype>.
* https://learn.microsoft.com/en-us/power-apps/developer/data-platform/reference/entities/botcomponent#componenttype-choicesoptions
* ******************************************************************** */
export declare const enum BotComponentType {
Topic = 0,
Skill = 1,
BotVariable = 2,
BotEntity = 3,
Dialog = 4,
Trigger = 5,
LanguageUnderstanding = 6,
LanguageGeneration = 7,
DialogSchema = 8,
TopicV2 = 9,
BotTranslationsV2 = 10,
BotEntityV2 = 11,
BotVariableV2 = 12,
SkillV2 = 13,
BotFileAttachment = 14,
CustomGPT = 15,
KnowledgeSource = 16,
ExternalTrigger = 17,
CopilotSettings = 18
}
/** Map numeric componenttype codes to readable labels used in Agents.botComponents[]. */
export declare function codeToLabel(code: number, yamlKind?: string): string;
//# sourceMappingURL=ManifestConstant.d.ts.map