sfdx-hardis 5.32.0 → 5.32.2-beta202505101931.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/lib/commands/hardis/doc/project2markdown.js +14 -3
- package/lib/commands/hardis/doc/project2markdown.js.map +1 -1
- package/lib/common/aiProvider/index.js +6 -1
- package/lib/common/aiProvider/index.js.map +1 -1
- package/lib/common/aiProvider/langChainProviders/langChainAnthropicProvider.d.ts +6 -0
- package/lib/common/aiProvider/langChainProviders/langChainAnthropicProvider.js +22 -0
- package/lib/common/aiProvider/langChainProviders/langChainAnthropicProvider.js.map +1 -0
- package/lib/common/aiProvider/langChainProviders/langChainBaseProvider.d.ts +24 -0
- package/lib/common/aiProvider/langChainProviders/langChainBaseProvider.js +16 -0
- package/lib/common/aiProvider/langChainProviders/langChainBaseProvider.js.map +1 -0
- package/lib/common/aiProvider/langChainProviders/langChainGoogleGenAi.d.ts +6 -0
- package/lib/common/aiProvider/langChainProviders/langChainGoogleGenAi.js +22 -0
- package/lib/common/aiProvider/langChainProviders/langChainGoogleGenAi.js.map +1 -0
- package/lib/common/aiProvider/langChainProviders/langChainOllamaProvider.d.ts +6 -0
- package/lib/common/aiProvider/langChainProviders/langChainOllamaProvider.js +18 -0
- package/lib/common/aiProvider/langChainProviders/langChainOllamaProvider.js.map +1 -0
- package/lib/common/aiProvider/langChainProviders/langChainOpenAIProvider.d.ts +6 -0
- package/lib/common/aiProvider/langChainProviders/langChainOpenAIProvider.js +22 -0
- package/lib/common/aiProvider/langChainProviders/langChainOpenAIProvider.js.map +1 -0
- package/lib/common/aiProvider/langChainProviders/langChainProviderFactory.d.ts +4 -0
- package/lib/common/aiProvider/langChainProviders/langChainProviderFactory.js +22 -0
- package/lib/common/aiProvider/langChainProviders/langChainProviderFactory.js.map +1 -0
- package/lib/common/aiProvider/langchainProvider.d.ts +10 -0
- package/lib/common/aiProvider/langchainProvider.js +86 -0
- package/lib/common/aiProvider/langchainProvider.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_COMPLETE_OBJECT_ATTRIBUTES_MD.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_COMPLETE_OBJECT_ATTRIBUTES_MD.js +51 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_COMPLETE_OBJECT_ATTRIBUTES_MD.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APEX.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APEX.js +40 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APEX.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APPROVAL_PROCESS.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APPROVAL_PROCESS.js +40 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APPROVAL_PROCESS.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ASSIGNMENT_RULES.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ASSIGNMENT_RULES.js +43 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ASSIGNMENT_RULES.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_AUTORESPONSE_RULES.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_AUTORESPONSE_RULES.js +42 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_AUTORESPONSE_RULES.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ESCALATION_RULES.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ESCALATION_RULES.js +40 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ESCALATION_RULES.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW.js +40 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW_DIFF.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW_DIFF.js +50 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW_DIFF.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_LWC.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_LWC.js +68 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_LWC.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_OBJECT.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_OBJECT.js +66 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_OBJECT.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PAGE.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PAGE.js +40 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PAGE.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PERMISSION_SET.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PERMISSION_SET.js +43 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PERMISSION_SET.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PERMISSION_SET_GROUP.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PERMISSION_SET_GROUP.js +40 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PERMISSION_SET_GROUP.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PROFILE.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PROFILE.js +43 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PROFILE.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_SOLVE_DEPLOYMENT_ERROR.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_SOLVE_DEPLOYMENT_ERROR.js +40 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_SOLVE_DEPLOYMENT_ERROR.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/index.d.ts +2 -0
- package/lib/common/aiProvider/promptTemplates/index.js +33 -0
- package/lib/common/aiProvider/promptTemplates/index.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/types.d.ts +11 -0
- package/lib/common/aiProvider/promptTemplates/types.js +2 -0
- package/lib/common/aiProvider/promptTemplates/types.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates.d.ts +0 -92
- package/lib/common/aiProvider/promptTemplates.js +28 -433
- package/lib/common/aiProvider/promptTemplates.js.map +1 -1
- package/lib/common/aiProvider/utils.d.ts +1 -0
- package/lib/common/aiProvider/utils.js +6 -0
- package/lib/common/aiProvider/utils.js.map +1 -1
- package/lib/common/utils/rulesBuilderUtil.js +6 -2
- package/lib/common/utils/rulesBuilderUtil.js.map +1 -1
- package/oclif.lock +272 -49
- package/oclif.manifest.json +1472 -1472
- package/package.json +15 -6
|
@@ -1,447 +1,42 @@
|
|
|
1
1
|
import { UtilsAi } from "./utils.js";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import fs from "fs-extra";
|
|
4
|
+
import { PROMPT_TEMPLATES as IMPORTED_PROMPT_TEMPLATES } from "./promptTemplates/index.js";
|
|
5
|
+
import { uxLog } from "../utils/index.js";
|
|
6
|
+
// Loads a template, allowing override from local JSON if present
|
|
7
|
+
function getPromptTemplate(template) {
|
|
8
|
+
const templateData = IMPORTED_PROMPT_TEMPLATES[template];
|
|
9
|
+
if (!templateData) {
|
|
10
|
+
throw new Error(`Unknown prompt template: ${template}`);
|
|
11
|
+
}
|
|
12
|
+
// Check for local override (Text file)
|
|
13
|
+
const localPath = path.resolve(process.cwd(), "prompt-templates", `${template}.txt`);
|
|
14
|
+
if (fs.existsSync(localPath)) {
|
|
15
|
+
try {
|
|
16
|
+
const localTemplate = fs.readFileSync(localPath, "utf-8");
|
|
17
|
+
templateData.text = {
|
|
18
|
+
"en": localTemplate,
|
|
19
|
+
};
|
|
20
|
+
uxLog(this, `Loaded local prompt template for ${template} from ${localPath}`);
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
// fallback to default if error
|
|
24
|
+
uxLog(this, `Error loading local template for ${template}: ${e.message}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return templateData;
|
|
28
|
+
}
|
|
2
29
|
export function buildPromptFromTemplate(template, variables) {
|
|
3
|
-
// Get matching prompt
|
|
4
30
|
const templateData = getPromptTemplate(template);
|
|
5
|
-
|
|
6
|
-
const missingVariables = templateData.variables.filter((variable) => !variables[variable]);
|
|
31
|
+
const missingVariables = templateData.variables.filter((variable) => !variables[variable.name]);
|
|
7
32
|
if (missingVariables.length > 0) {
|
|
8
33
|
throw new Error(`Missing variables for prompt template ${template}: ${missingVariables.join(", ")}`);
|
|
9
34
|
}
|
|
10
|
-
// Get prompt language and check if it is an allowed one
|
|
11
35
|
const promptsLanguage = UtilsAi.getPromptsLanguage();
|
|
12
|
-
// Build prompt
|
|
13
36
|
let prompt = process.env?.[template] || templateData.text?.[promptsLanguage] || (templateData.text?.["en"] + `\nPlease answer using the language corresponding to "${promptsLanguage}"`);
|
|
14
37
|
for (const variable in variables) {
|
|
15
38
|
prompt = prompt.replaceAll(`{{${variable}}}`, variables[variable]);
|
|
16
39
|
}
|
|
17
40
|
return prompt;
|
|
18
41
|
}
|
|
19
|
-
function getPromptTemplate(template) {
|
|
20
|
-
const templateData = PROMPT_TEMPLATES[template];
|
|
21
|
-
if (!templateData) {
|
|
22
|
-
throw new Error(`Unknown prompt template: ${template}`);
|
|
23
|
-
}
|
|
24
|
-
return templateData;
|
|
25
|
-
}
|
|
26
|
-
export const PROMPT_TEMPLATES = {
|
|
27
|
-
"PROMPT_SOLVE_DEPLOYMENT_ERROR": {
|
|
28
|
-
variables: ["ERROR"],
|
|
29
|
-
text: {
|
|
30
|
-
"en": `You are a Salesforce release manager using Salesforce CLI commands to perform deployments
|
|
31
|
-
How to solve the following Salesforce deployment error ?
|
|
32
|
-
- Please answer using sfdx source format, not metadata format.
|
|
33
|
-
- Please provide XML example if applicable.
|
|
34
|
-
- Please skip the part of the response about how to retrieve or deploy the changes with Salesforce CLI
|
|
35
|
-
The error is:
|
|
36
|
-
{{ERROR}}
|
|
37
|
-
`,
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
"PROMPT_DESCRIBE_FLOW": {
|
|
41
|
-
variables: ["FLOW_XML"],
|
|
42
|
-
text: {
|
|
43
|
-
"en": `You are a business analyst working on a Salesforce project.
|
|
44
|
-
Please describe the following flow using plain English that can be understood by a business user.
|
|
45
|
-
Please respond with markdown format, that can be embedded in a level 2 header (##).
|
|
46
|
-
Add a new line before starting a bullet list so mkdocs-material displays it correctly, including for sub-bullets.
|
|
47
|
-
Caution: If the XML contains secret tokens or password, please replace them with a placeholder.
|
|
48
|
-
The flow XML is:
|
|
49
|
-
{{FLOW_XML}}
|
|
50
|
-
`,
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
"PROMPT_DESCRIBE_FLOW_DIFF": {
|
|
54
|
-
variables: ["FLOW_XML_NEW", "FLOW_XML_PREVIOUS"],
|
|
55
|
-
text: {
|
|
56
|
-
"en": `You are a business analyst working on a Salesforce project.
|
|
57
|
-
Please describe the differences between new version of the flow and previous version of the flow, using plain English that can be understood by a business user.
|
|
58
|
-
Ignore tags related to location attributes (locationX and locationY) or positions: do not mention them in your response
|
|
59
|
-
Ignore nodes and elements that have not changed: do not mention them in your response
|
|
60
|
-
Ignore connector changes: do not mention them in your response
|
|
61
|
-
Please respond with markdown format, that can be embedded in a level 2 header (##).
|
|
62
|
-
Add a new line before starting a bullet list so mkdocs-material displays it correctly, including for sub-bullets and sub-sub-bullets.
|
|
63
|
-
If the XML contains secret tokens or password, please replace them with a placeholder.
|
|
64
|
-
The new version flow XML is:
|
|
65
|
-
{{FLOW_XML_NEW}}
|
|
66
|
-
|
|
67
|
-
The previous version flow XML is:
|
|
68
|
-
{{FLOW_XML_PREVIOUS}}
|
|
69
|
-
`,
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
"PROMPT_DESCRIBE_OBJECT": {
|
|
73
|
-
variables: ["OBJECT_NAME", "OBJECT_XML", "ALL_OBJECTS_LIST", "ALL_OBJECT_LINKS"],
|
|
74
|
-
text: {
|
|
75
|
-
"en": `You are a business analyst working on a Salesforce project. Your goal is to describe the Salesforce object "{{OBJECT_NAME}}" in plain English, providing a detailed explanation suitable for a business user.
|
|
76
|
-
|
|
77
|
-
### Instructions:
|
|
78
|
-
|
|
79
|
-
1. **Contextual Overview**:
|
|
80
|
-
- Begin by summarizing the role and purpose of the object "{{OBJECT_NAME}}" in the Salesforce org.
|
|
81
|
-
- Explain its significance in the project, its purpose in the org's implementation, and any key business processes it supports.
|
|
82
|
-
|
|
83
|
-
2. **Relationships**:
|
|
84
|
-
- Use the provided object model data to describe how "{{OBJECT_NAME}}" relates to other objects.
|
|
85
|
-
- Include:
|
|
86
|
-
- Direct relationships (MasterDetail and Lookup fields on the object).
|
|
87
|
-
- Inverse relationships (other objects referencing "{{OBJECT_NAME}}").
|
|
88
|
-
- Highlight any key dependencies or implications of these relationships in plain English.
|
|
89
|
-
|
|
90
|
-
3. **Additional Guidance**:
|
|
91
|
-
- **Do NOT include** fields table or validation rules table in the response
|
|
92
|
-
- Use the acronyms provided to interpret metadata names (e.g., TR: Trigger, VR: Validation Rule, WF: Workflow).
|
|
93
|
-
- If the XML metadata contains sensitive information (e.g., tokens, passwords), replace them with a placeholder (e.g., \`[REDACTED]\`).
|
|
94
|
-
|
|
95
|
-
4. **Formatting Requirements**:
|
|
96
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
97
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
98
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
99
|
-
- Never truncate any information in the response.
|
|
100
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
101
|
-
|
|
102
|
-
### Reference Data:
|
|
103
|
-
|
|
104
|
-
- The list of all objects in the Salesforce org is: {{ALL_OBJECTS_LIST}}
|
|
105
|
-
|
|
106
|
-
- The object model (MasterDetail and Lookup relationships) is: {{ALL_OBJECT_LINKS}}
|
|
107
|
-
|
|
108
|
-
- The metadata XML for "{{OBJECT_NAME}}" is:
|
|
109
|
-
{{OBJECT_XML}}
|
|
110
|
-
|
|
111
|
-
Caution: Redact any sensitive information and replace with \`[REDACTED]\`. Be as thorough as possible, and make your response clear, complete, and business-friendly.
|
|
112
|
-
`
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
"PROMPT_COMPLETE_OBJECT_ATTRIBUTES_MD": {
|
|
116
|
-
variables: ["OBJECT_NAME", "MARKDOWN"],
|
|
117
|
-
text: {
|
|
118
|
-
"en": `You are a skilled Business Analyst working on a Salesforce project. Your task is to review and refine the fields and validation rules of the Salesforce object "{{OBJECT_NAME}}" and describe them in plain English. The goal is to create a detailed, user-friendly explanation of each field and validation rule that a non-technical business user can easily understand.
|
|
119
|
-
|
|
120
|
-
## Instructions:
|
|
121
|
-
1. **Enhancing Fields Descriptions**:
|
|
122
|
-
- If an field's description is missing, generate a meaningful description using the context provided by the other column values (e.g., name, data type, or usage).
|
|
123
|
-
- If a field description already exists, improve its clarity and comprehensiveness by incorporating insights from the other column values.
|
|
124
|
-
- If an attribute's label is missing, generate a meaningful label using the context provided by the other column values.
|
|
125
|
-
|
|
126
|
-
2. **Enhancing Validation Rules Descriptions**:
|
|
127
|
-
- If an field's description is missing, generate a meaningful description using the context provided by the other column values (especially formula column).
|
|
128
|
-
- If a validation rule description already exists, improve its clarity and comprehensiveness by incorporating insights from the other column values (especially formula column).
|
|
129
|
-
- If an validation rule label is missing, generate a meaningful label using the context provided by the other column values.
|
|
130
|
-
|
|
131
|
-
3. **Output Format**:
|
|
132
|
-
- Return the updated descriptions in the **Markdown tables** format provided below.
|
|
133
|
-
- Ensure the tables aligns with Markdown syntax conventions for proper rendering.
|
|
134
|
-
|
|
135
|
-
4. **Tone and Style**:
|
|
136
|
-
- Use plain English suitable for business users with minimal technical jargon.
|
|
137
|
-
- Focus on clarity, completeness, and practical usage examples if applicable.
|
|
138
|
-
|
|
139
|
-
5. **Output Requirements**:
|
|
140
|
-
- Respond **only in Markdown** format.
|
|
141
|
-
- Do not include any additional text or commentary outside of the Markdown.
|
|
142
|
-
|
|
143
|
-
## Reference Data:
|
|
144
|
-
- Use the following markdown as the basis for your updates:
|
|
145
|
-
{{MARKDOWN}}
|
|
146
|
-
|
|
147
|
-
## Additional Guidance:
|
|
148
|
-
- **Consistency**: Maintain consistent formatting and ensure the descriptions are cohesive across all attributes.
|
|
149
|
-
- **Use Examples**: When applicable, include simple examples to illustrate the attribute's purpose or use case.
|
|
150
|
-
`
|
|
151
|
-
}
|
|
152
|
-
},
|
|
153
|
-
"PROMPT_DESCRIBE_APEX": {
|
|
154
|
-
variables: ["CLASS_NAME", "APEX_CODE"],
|
|
155
|
-
text: {
|
|
156
|
-
"en": `You are a developer working on a Salesforce project. Your goal is to summarize the behavior of the Salesforce Apex class "{{CLASS_NAME}}" in plain English, providing a detailed explanation suitable for a business user.
|
|
157
|
-
|
|
158
|
-
### Instructions:
|
|
159
|
-
|
|
160
|
-
1. **Contextual Overview**:
|
|
161
|
-
- Begin by summarizing the role of the apex class.
|
|
162
|
-
- List the key functionalities and business logic implemented in the class.
|
|
163
|
-
|
|
164
|
-
2. **Formatting Requirements**:
|
|
165
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
166
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
167
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
168
|
-
- Never truncate any information in the response.
|
|
169
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
170
|
-
|
|
171
|
-
### Reference Data:
|
|
172
|
-
|
|
173
|
-
- The code for Apex class "{{CLASS_NAME}}" is:
|
|
174
|
-
{{APEX_CODE}}
|
|
175
|
-
|
|
176
|
-
Caution: Redact any sensitive information and replace with \`[REDACTED]\`. Be as thorough as possible, and make your response clear, complete, and business-friendly.
|
|
177
|
-
`
|
|
178
|
-
},
|
|
179
|
-
},
|
|
180
|
-
"PROMPT_DESCRIBE_PAGE": {
|
|
181
|
-
variables: ["PAGE_NAME", "PAGE_XML"],
|
|
182
|
-
text: {
|
|
183
|
-
"en": `You are a skilled business analyst working on a Salesforce project. Your goal is to summarize the content and behavior of the Salesforce Lightning Page "{{PAGE_NAME}}" in plain English, providing a detailed explanation suitable for a business user.
|
|
184
|
-
|
|
185
|
-
### Instructions:
|
|
186
|
-
|
|
187
|
-
1. **Contextual Overview**:
|
|
188
|
-
- Begin by summarizing the role of the lightning page.
|
|
189
|
-
- List the key tabs, sections, views, related lists and actions described in the lightning page.
|
|
190
|
-
|
|
191
|
-
2. **Formatting Requirements**:
|
|
192
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
193
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
194
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
195
|
-
- Never truncate any information in the response.
|
|
196
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
197
|
-
|
|
198
|
-
### Reference Data:
|
|
199
|
-
|
|
200
|
-
- The metadata XML for Lightning page "{{PAGE_NAME}}" is:
|
|
201
|
-
{{PAGE_XML}}
|
|
202
|
-
|
|
203
|
-
Caution: Redact any sensitive information and replace with \`[REDACTED]\`. Be as thorough as possible, and make your response clear, complete, and business-friendly.
|
|
204
|
-
`
|
|
205
|
-
}
|
|
206
|
-
},
|
|
207
|
-
"PROMPT_DESCRIBE_PROFILE": {
|
|
208
|
-
variables: ["PROFILE_NAME", "PROFILE_XML"],
|
|
209
|
-
text: {
|
|
210
|
-
"en": `You are a skilled business analyst working on a Salesforce project. Your goal is to summarize the content and behavior of the Salesforce Profile "{{PROFILE_NAME}}" in plain English, providing a detailed explanation suitable for a business user.
|
|
211
|
-
|
|
212
|
-
### Instructions:
|
|
213
|
-
|
|
214
|
-
1. **Contextual Overview**:
|
|
215
|
-
- Begin by summarizing the role of the Salesforce Profile that you can guess according to the content of the XML. Try to guess the role of users assigned to this profile according to applicationVisibilities, objectVisibilities and userPermissions.
|
|
216
|
-
- List the key features of the Profiles.
|
|
217
|
-
- The most important features are License, Applications, User Permissions ,features with default values ,Custom Objects and Record Types
|
|
218
|
-
- Ignore Apex classes and Custom Fields
|
|
219
|
-
- Ignore blocks who has access or visibility set to "false"
|
|
220
|
-
|
|
221
|
-
2. **Formatting Requirements**:
|
|
222
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
223
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
224
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
225
|
-
- Never truncate any information in the response.
|
|
226
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
227
|
-
|
|
228
|
-
### Reference Data:
|
|
229
|
-
|
|
230
|
-
- The metadata XML for Salesforce Profile "{{PROFILE_NAME}}" is:
|
|
231
|
-
{{PROFILE_XML}}
|
|
232
|
-
|
|
233
|
-
Caution: Redact any sensitive information and replace with \`[REDACTED]\`. Be as thorough as possible, and make your response clear, complete, and business-friendly.
|
|
234
|
-
`
|
|
235
|
-
}
|
|
236
|
-
},
|
|
237
|
-
"PROMPT_DESCRIBE_PERMISSION_SET": {
|
|
238
|
-
variables: ["PERMISSIONSET_NAME", "PERMISSIONSET_XML"],
|
|
239
|
-
text: {
|
|
240
|
-
"en": `You are a skilled business analyst working on a Salesforce project. Your goal is to summarize the content and behavior of the Salesforce PermissionSet "{{PERMISSIONSET_NAME}}" in plain English, providing a detailed explanation suitable for a business user.
|
|
241
|
-
|
|
242
|
-
### Instructions:
|
|
243
|
-
|
|
244
|
-
1. **Contextual Overview**:
|
|
245
|
-
- Begin by summarizing the role of the Salesforce PermissionSet that you can guess according to the content of the XML. Try to guess the role of users assigned to this permission set according to applicationVisibilities, objectVisibilities and userPermissions.
|
|
246
|
-
- List the key features of the Permission Set.
|
|
247
|
-
- The most important features are License, Applications, User Permissions ,features with default values ,Custom Objects and Record Types
|
|
248
|
-
- Ignore Apex classes and Custom Fields
|
|
249
|
-
- Ignore blocks who has access or visibility set to "false"
|
|
250
|
-
|
|
251
|
-
2. **Formatting Requirements**:
|
|
252
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
253
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
254
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
255
|
-
- Never truncate any information in the response.
|
|
256
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
257
|
-
|
|
258
|
-
### Reference Data:
|
|
259
|
-
|
|
260
|
-
- The metadata XML for Salesforce Permission Set "{{PERMISSIONSET_NAME}}" is:
|
|
261
|
-
{{PERMISSIONSET_XML}}
|
|
262
|
-
|
|
263
|
-
Caution: Redact any sensitive information and replace with \`[REDACTED]\`. Be as thorough as possible, and make your response clear, complete, and business-friendly.
|
|
264
|
-
`
|
|
265
|
-
}
|
|
266
|
-
},
|
|
267
|
-
"PROMPT_DESCRIBE_PERMISSION_SET_GROUP": {
|
|
268
|
-
variables: ["PERMISSIONSETGROUP_NAME", "PERMISSIONSETGROUP_XML"],
|
|
269
|
-
text: {
|
|
270
|
-
"en": `You are a skilled business analyst working on a Salesforce project. Your goal is to summarize the content and behavior of the Salesforce PermissionSetGroup "{{PERMISSIONSETGROUP_NAME}}" in plain English, providing a detailed explanation suitable for a business user.
|
|
271
|
-
|
|
272
|
-
### Instructions:
|
|
273
|
-
|
|
274
|
-
1. **Contextual Overview**:
|
|
275
|
-
- Begin by summarizing the role of the Salesforce PermissionSetGroup that you can guess according to the content of the XML. Try to guess the role of users assigned to this permission set group according to the name, description and related Permission Sets
|
|
276
|
-
- List the key features of the Permission Set.
|
|
277
|
-
|
|
278
|
-
2. **Formatting Requirements**:
|
|
279
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
280
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
281
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
282
|
-
- Never truncate any information in the response.
|
|
283
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
284
|
-
|
|
285
|
-
### Reference Data:
|
|
286
|
-
|
|
287
|
-
- The metadata XML for Salesforce Permission Set Group "{{PERMISSIONSETGROUP_NAME}}" is:
|
|
288
|
-
{{PERMISSIONSETGROUP_XML}}
|
|
289
|
-
|
|
290
|
-
Caution: Redact any sensitive information and replace with \`[REDACTED]\`. Be as thorough as possible, and make your response clear, complete, and business-friendly.
|
|
291
|
-
`
|
|
292
|
-
}
|
|
293
|
-
},
|
|
294
|
-
"PROMPT_DESCRIBE_ASSIGNMENT_RULES": {
|
|
295
|
-
variables: ["ASSIGNMENTRULES_NAME", "ASSIGNMENTRULES_XML"],
|
|
296
|
-
text: {
|
|
297
|
-
"en": `You are a skilled business analyst working on a Salesforce project. Your goal is to summarize the content and behavior of the Salesforce Assignment Rules "{{ASSIGNMENTRULES_NAME}}" in plain English, providing a detailed explanation suitable for a business user.
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
### Instructions:
|
|
301
|
-
|
|
302
|
-
1. **Contextual Overview**:
|
|
303
|
-
- Begin by explaining the role of the Salesforce Assignment Rules that you can guess according to the content of the XML and the name.
|
|
304
|
-
Try to guess the role of users assigned to this assignment rule. Do not mention the email of assigned users, but you can mention type of assigned users.
|
|
305
|
-
Based by Criteria items, explain what should so the record will be assigned.
|
|
306
|
-
- Analyze all the assignment rules for objects and in the description tell what are the aim of those rules. What is the role of the object in the system, based by the assignment rules.
|
|
307
|
-
|
|
308
|
-
2. **Formatting Requirements**:
|
|
309
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
310
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
311
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
312
|
-
- Never truncate any information in the response.
|
|
313
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
314
|
-
|
|
315
|
-
### Reference Data:
|
|
316
|
-
|
|
317
|
-
- The metadata XML for Salesforce Assignment Rule "{{ASSIGNMENTRULES_NAME}}" is:
|
|
318
|
-
{{ASSIGNMENTRULES_XML}}
|
|
319
|
-
|
|
320
|
-
Caution: Redact any sensitive information and replace with \`[REDACTED]\`. Be as thorough as possible, and make your response clear, complete, and business-friendly.
|
|
321
|
-
`
|
|
322
|
-
}
|
|
323
|
-
},
|
|
324
|
-
"PROMPT_DESCRIBE_APPROVAL_PROCESS": {
|
|
325
|
-
variables: ["APPROVALPROCESS_NAME", "APPROVALPROCESS_XML"],
|
|
326
|
-
text: {
|
|
327
|
-
"en": `You are a skilled business analyst working on a Salesforce project. Your goal is to explain the what is the Salesforce Approval Process "{{APPROVALPROCESS_NAME}}" about in plain English, provide a detailed explanation suitable for a business user.
|
|
328
|
-
|
|
329
|
-
### Instructions:
|
|
330
|
-
|
|
331
|
-
1. **Contextual Overview**:
|
|
332
|
-
- Begin by summarizing the purpose of the approval process.
|
|
333
|
-
- List the key functionalities and business logic implemented in the approval process.
|
|
334
|
-
|
|
335
|
-
2. **Formatting Requirements**:
|
|
336
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
337
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
338
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
339
|
-
- Never truncate any information in the response.
|
|
340
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
341
|
-
|
|
342
|
-
### Reference Data:
|
|
343
|
-
|
|
344
|
-
- The metadata XML for Approval Process "{{APPROVALPROCESS_NAME}}" is:
|
|
345
|
-
{{APPROVALPROCESS_XML}}
|
|
346
|
-
|
|
347
|
-
Caution: Redact any sensitive information and replace with \`[REDACTED]\`. Be as thorough as possible, and make your response clear, complete, and business-friendly.
|
|
348
|
-
`
|
|
349
|
-
},
|
|
350
|
-
},
|
|
351
|
-
"PROMPT_DESCRIBE_LWC": {
|
|
352
|
-
variables: ["LWC_NAME", "LWC_JS_CODE", "LWC_HTML_CODE", "LWC_JS_META"],
|
|
353
|
-
text: {
|
|
354
|
-
"en": `You are a skilled Salesforce developer working on a Lightning Web Components (LWC) project. Your goal is to explain the Salesforce Lightning Web Component "{{LWC_NAME}}" in plain English, providing a detailed explanation suitable for other developers and business users.
|
|
355
|
-
|
|
356
|
-
### Instructions:
|
|
357
|
-
|
|
358
|
-
1. **Contextual Overview**:
|
|
359
|
-
- Begin by summarizing the purpose and functionality of the Lightning Web Component.
|
|
360
|
-
- Describe the key features and capabilities it provides to users.
|
|
361
|
-
- Explain how it interacts with Salesforce data or other components.
|
|
362
|
-
|
|
363
|
-
2. **Technical Analysis**:
|
|
364
|
-
- Describe the main JavaScript methods and their purposes.
|
|
365
|
-
- Explain how the component handles data binding and events.
|
|
366
|
-
- Mention any wire services, apex methods, or external services the component uses.
|
|
367
|
-
- Identify any custom properties or special configurations.
|
|
368
|
-
|
|
369
|
-
3. **Formatting Requirements**:
|
|
370
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
371
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
372
|
-
- Never truncate any information in the response.
|
|
373
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
374
|
-
|
|
375
|
-
### Reference Data:
|
|
376
|
-
|
|
377
|
-
- The HTML template for component "{{LWC_NAME}}":
|
|
378
|
-
\`\`\`
|
|
379
|
-
{{LWC_HTML_CODE}}
|
|
380
|
-
\`\`\`
|
|
381
|
-
|
|
382
|
-
- The JavaScript controller for component "{{LWC_NAME}}":
|
|
383
|
-
\`\`\`
|
|
384
|
-
{{LWC_JS_CODE}}
|
|
385
|
-
\`\`\`
|
|
386
|
-
|
|
387
|
-
- The metadata configuration for component "{{LWC_NAME}}":
|
|
388
|
-
\`\`\`
|
|
389
|
-
{{LWC_JS_META}}
|
|
390
|
-
\`\`\`
|
|
391
|
-
|
|
392
|
-
Caution: Redact any sensitive information and replace with \`[REDACTED]\`. Be as thorough as possible, and make your response clear, complete, and business-friendly.
|
|
393
|
-
`
|
|
394
|
-
},
|
|
395
|
-
},
|
|
396
|
-
"PROMPT_DESCRIBE_AUTORESPONSE_RULES": {
|
|
397
|
-
variables: ["AUTORESPONSERULES_NAME", "AUTORESPONSERULES_XML"],
|
|
398
|
-
text: {
|
|
399
|
-
"en": `You are a skilled business analyst working on a Salesforce project. Your goal is to summarize the content and behavior of the Salesforce AutoResponse Rules "{{AUTORESPONSERULES_NAME}}" in plain English, providing a detailed explanation suitable for a business user.
|
|
400
|
-
### Instructions:
|
|
401
|
-
1. **Contextual Overview**:
|
|
402
|
-
- Begin by explaining the role of the Salesforce AutoResponse Rules that you can guess according to the content of the XML and the name.
|
|
403
|
-
Try to guess the role of users assigned to this AutoResponse rule. Do not mention the email of assigned users, but you can mention type of assigned users.
|
|
404
|
-
- Analyze all the AutoResponse rules for objects and in the description tell what are the aim of those rules. What is the role of the object in the system, based by the AutoResponse rules.
|
|
405
|
-
- Based by Criteria items, explain what would be the response to the user, if the criteria are met.
|
|
406
|
-
2. **Formatting Requirements**:
|
|
407
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
408
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
409
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
410
|
-
- Never truncate any information in the response.
|
|
411
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
412
|
-
### Reference Data:
|
|
413
|
-
- The metadata XML for Salesforce AutoResponse Rule "{{AUTORESPONSERULES_NAME}}" is:
|
|
414
|
-
{{AUTORESPONSERULES_XML}}
|
|
415
|
-
Caution: Redact any sensitive information and replace with \`[REDACTED]\`. Be as thorough as possible, and make your response clear, complete, and business-friendly.
|
|
416
|
-
`
|
|
417
|
-
}
|
|
418
|
-
},
|
|
419
|
-
"PROMPT_DESCRIBE_ESCALATION_RULES": {
|
|
420
|
-
variables: ["ESCALATIONRULES_NAME", "ESCALATIONRULES_XML"],
|
|
421
|
-
text: {
|
|
422
|
-
"en": `You are a skilled business analyst working on a Salesforce project. Your goal is to explain the what is the Salesforce Escalation Rule "{{ESCALATIONRULES_NAME}}" about in plain English, provide a detailed explanation suitable for a business user.
|
|
423
|
-
|
|
424
|
-
### Instructions:
|
|
425
|
-
|
|
426
|
-
1. **Contextual Overview**:
|
|
427
|
-
- Begin by summarizing the purpose of the escalation rule.
|
|
428
|
-
- List the key functionalities and business logic implemented in the escalation rule.
|
|
429
|
-
|
|
430
|
-
2. **Formatting Requirements**:
|
|
431
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
432
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
433
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
434
|
-
- Never truncate any information in the response.
|
|
435
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
436
|
-
|
|
437
|
-
### Reference Data:
|
|
438
|
-
|
|
439
|
-
- The metadata XML for Escalation Rule "{{ESCALATIONRULES_NAME}}" is:
|
|
440
|
-
{{ESCALATIONRULES_XML}}
|
|
441
|
-
|
|
442
|
-
Caution: Redact any sensitive information and replace with \`[REDACTED]\`. Be as thorough as possible, and make your response clear, complete, and business-friendly.
|
|
443
|
-
`
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
};
|
|
447
42
|
//# sourceMappingURL=promptTemplates.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptTemplates.js","sourceRoot":"","sources":["../../../src/common/aiProvider/promptTemplates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"promptTemplates.js","sourceRoot":"","sources":["../../../src/common/aiProvider/promptTemplates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAE,gBAAgB,IAAI,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAmB1C,iEAAiE;AACjE,SAAS,iBAAiB,CAAC,QAAwB;IACjD,MAAM,YAAY,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,uCAAuC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;IACrF,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAG,OAAO,CAAC,CAAC;YAC3D,YAAY,CAAC,IAAI,GAAG;gBAClB,IAAI,EAAE,aAAa;aACpB,CAAC;YACF,KAAK,CAAC,IAAI,EAAE,oCAAoC,QAAQ,SAAS,SAAS,EAAE,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,+BAA+B;YAC/B,KAAK,CAAC,IAAI,EAAE,oCAAoC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAwB,EAAE,SAAiB;IACjF,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAChG,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,KAAK,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACrD,IAAI,MAAM,GAAW,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,wDAAwD,eAAe,GAAG,CAAC,CAAC;IACjM,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,QAAQ,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PromptTemplate } from "./promptTemplates.js";
|
|
2
2
|
export declare class UtilsAi {
|
|
3
3
|
static isOpenAiAvailable(): boolean;
|
|
4
|
+
static isLangChainAvailable(): boolean;
|
|
4
5
|
static isAgentforceAvailable(): boolean;
|
|
5
6
|
static getPromptsLanguage(): string;
|
|
6
7
|
static findAiCache(template: PromptTemplate, promptParameters: any[], uniqueId: string): Promise<{
|
|
@@ -10,6 +10,12 @@ export class UtilsAi {
|
|
|
10
10
|
}
|
|
11
11
|
return false;
|
|
12
12
|
}
|
|
13
|
+
static isLangChainAvailable() {
|
|
14
|
+
if (getEnvVar("USE_LANGCHAIN_LLM") === "true" && getEnvVar("LANGCHAIN_LLM_MODEL")) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
13
19
|
static isAgentforceAvailable() {
|
|
14
20
|
if (getEnvVar("USE_AGENTFORCE") === "true" && globalThis.jsForceConn) {
|
|
15
21
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/common/aiProvider/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/common/aiProvider/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,10 +91,14 @@ export class RulesBuilderUtil {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
formatCriteriaItem(ci) {
|
|
94
|
-
return '(**'
|
|
94
|
+
return '(**'
|
|
95
|
+
+ ci.field.split('.')[0] + '**: '
|
|
96
|
+
+ ci.field.substring(ci.field.indexOf('.') + 1) + ' _'
|
|
97
|
+
+ ci.operation + '_ '
|
|
98
|
+
+ (ci.value ? ci.value.replaceAll(",", ", ") : "' '") + ')<br>';
|
|
95
99
|
}
|
|
96
100
|
formatActionItem(ai) {
|
|
97
|
-
return '<table> <tbody> <tr> <td>**Mins to escalations**:</td> <td>' + ai.minutesToEscalation + '</td> </tr> <tr> <td>**Assign To**:</td> <td>' + ai.assignedTo + '</td> </tr> <tr> <td>**Notify**:</td> <td>' + ai.notifyTo + '</td> </tr> </tbody> </table> ';
|
|
101
|
+
return '<table> <tbody> <tr> <td>**Mins to escalations**:</td> <td>' + ai.minutesToEscalation + '</td> </tr> <tr> <td>**Assign To**:</td> <td>' + ai.assignedTo + '</td> </tr> <tr> <td>**Notify**:</td> <td>' + (ai.notifyTo ?? 'None') + '</td> </tr> </tbody> </table> ';
|
|
98
102
|
}
|
|
99
103
|
}
|
|
100
104
|
//# sourceMappingURL=rulesBuilderUtil.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rulesBuilderUtil.js","sourceRoot":"","sources":["../../../src/common/utils/rulesBuilderUtil.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rulesBuilderUtil.js","sourceRoot":"","sources":["../../../src/common/utils/rulesBuilderUtil.ts"],"names":[],"mappings":"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"}
|