sfdx-hardis 5.40.0 → 5.41.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 +5 -0
- package/lib/commands/hardis/doc/override-prompts.d.ts +11 -0
- package/lib/commands/hardis/doc/override-prompts.js +164 -0
- package/lib/commands/hardis/doc/override-prompts.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/PROMPT_COMPLETE_OBJECT_ATTRIBUTES_MD.js +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APEX.js +4 -10
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APEX.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APPROVAL_PROCESS.js +4 -10
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APPROVAL_PROCESS.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ASSIGNMENT_RULES.js +4 -11
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ASSIGNMENT_RULES.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_AUTORESPONSE_RULES.js +6 -12
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_AUTORESPONSE_RULES.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ESCALATION_RULES.js +4 -10
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ESCALATION_RULES.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW.js +4 -10
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW_DIFF.js +3 -8
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW_DIFF.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_LWC.js +3 -7
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_LWC.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_OBJECT.js +3 -8
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_OBJECT.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PACKAGE.js +3 -8
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PACKAGE.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PAGE.js +3 -8
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PAGE.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PERMISSION_SET.js +4 -10
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PERMISSION_SET.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PERMISSION_SET_GROUP.js +4 -10
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PERMISSION_SET_GROUP.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PROFILE.js +3 -8
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PROFILE.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ROLES.js +3 -8
- package/lib/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ROLES.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/PROMPT_SOLVE_DEPLOYMENT_ERROR.js +3 -9
- package/lib/common/aiProvider/promptTemplates/PROMPT_SOLVE_DEPLOYMENT_ERROR.js.map +1 -1
- package/lib/common/aiProvider/promptTemplates/VARIABLE_ADDITIONAL_INSTRUCTIONS.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/VARIABLE_ADDITIONAL_INSTRUCTIONS.js +11 -0
- package/lib/common/aiProvider/promptTemplates/VARIABLE_ADDITIONAL_INSTRUCTIONS.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/VARIABLE_FORMATTING_REQUIREMENTS.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/VARIABLE_FORMATTING_REQUIREMENTS.js +13 -0
- package/lib/common/aiProvider/promptTemplates/VARIABLE_FORMATTING_REQUIREMENTS.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC.js +8 -0
- package/lib/common/aiProvider/promptTemplates/VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates/variablesIndex.d.ts +3 -0
- package/lib/common/aiProvider/promptTemplates/variablesIndex.js +9 -0
- package/lib/common/aiProvider/promptTemplates/variablesIndex.js.map +1 -0
- package/lib/common/aiProvider/promptTemplates.js +43 -2
- package/lib/common/aiProvider/promptTemplates.js.map +1 -1
- package/oclif.manifest.json +621 -542
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
Note: Can be used with `sfdx plugins:install sfdx-hardis@beta` and docker image `hardisgroupcom/sfdx-hardis@beta`
|
|
6
6
|
|
|
7
|
+
- Factorize common prompt text into prompt variables, that can be overridable by user.
|
|
8
|
+
- Implement cache for prompt templates and variables to improve performances
|
|
9
|
+
- New command [hardis:doc:override-prompts](https://sfdx-hardis.cloudity.com/hardis/doc/override-prompts/): Create local override files for AI prompt templates that can be customized to match your organization's specific needs and terminology
|
|
10
|
+
- Add Github Copilot instructions
|
|
11
|
+
|
|
7
12
|
## [5.40.0] 2025-06-15
|
|
8
13
|
|
|
9
14
|
- [hardis:doc:project2markdown](https://sfdx-hardis.cloudity.com/hardis/doc/project2markdown/): Add Roles documentation
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
2
|
+
import { AnyJson } from '@salesforce/ts-types';
|
|
3
|
+
export default class OverridePrompts extends SfCommand<any> {
|
|
4
|
+
static title: string;
|
|
5
|
+
static description: string;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static flags: any;
|
|
8
|
+
static requiresProject: boolean;
|
|
9
|
+
protected debugMode: boolean;
|
|
10
|
+
run(): Promise<AnyJson>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/* jscpd:ignore-start */
|
|
2
|
+
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
|
|
3
|
+
import fs from 'fs-extra';
|
|
4
|
+
import c from "chalk";
|
|
5
|
+
import * as path from "path";
|
|
6
|
+
import { Messages } from '@salesforce/core';
|
|
7
|
+
import { uxLog } from '../../../common/utils/index.js';
|
|
8
|
+
import { PROMPT_TEMPLATES } from '../../../common/aiProvider/promptTemplates/index.js';
|
|
9
|
+
import { PROMPT_VARIABLES } from '../../../common/aiProvider/promptTemplates/variablesIndex.js';
|
|
10
|
+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
11
|
+
const messages = Messages.loadMessages('sfdx-hardis', 'org');
|
|
12
|
+
export default class OverridePrompts extends SfCommand {
|
|
13
|
+
static title = 'Override AI Prompt Templates';
|
|
14
|
+
static description = `Create local override files for AI prompt templates and variables
|
|
15
|
+
|
|
16
|
+
This command creates a folder config/prompt-templates/ and copies all the default AI prompt templates and variables as .txt files that can be customized.
|
|
17
|
+
|
|
18
|
+
The templates are used by sfdx-hardis for:
|
|
19
|
+
- Generating documentation with AI
|
|
20
|
+
- Solving deployment errors
|
|
21
|
+
- Describing Salesforce metadata
|
|
22
|
+
|
|
23
|
+
The variables contain common instruction patterns that are reused across multiple templates, such as:
|
|
24
|
+
- Role definitions (business analyst, developer, etc.)
|
|
25
|
+
- Formatting requirements for markdown output
|
|
26
|
+
- Security caution instructions
|
|
27
|
+
- Output format specifications
|
|
28
|
+
|
|
29
|
+
You can customize these prompts and variables to match your organization's specific needs and terminology.
|
|
30
|
+
|
|
31
|
+
After running this command, you can modify any of the .txt files in config/prompt-templates/ to override the default prompts and variables.
|
|
32
|
+
|
|
33
|
+
**Important**: Once created, existing template and variable files will never be overwritten with newer versions from sfdx-hardis updates, unless you explicitly use the --overwrite flag. This ensures your customizations are preserved.
|
|
34
|
+
|
|
35
|
+
Available templates:
|
|
36
|
+
${Object.keys(PROMPT_TEMPLATES).map(name => `- ${name}`).join('\n')}
|
|
37
|
+
|
|
38
|
+
Available variables:
|
|
39
|
+
${Object.keys(PROMPT_VARIABLES).map(name => `- ${name}`).join('\n')}
|
|
40
|
+
|
|
41
|
+
More info on [AI Prompts documentation](https://sfdx-hardis.cloudity.com/salesforce-ai-prompts/)
|
|
42
|
+
`;
|
|
43
|
+
static examples = [
|
|
44
|
+
'$ sf hardis:doc:override-prompts',
|
|
45
|
+
'$ sf hardis:doc:override-prompts --overwrite',
|
|
46
|
+
];
|
|
47
|
+
static flags = {
|
|
48
|
+
overwrite: Flags.boolean({
|
|
49
|
+
default: false,
|
|
50
|
+
description: 'Overwrite existing template files if they already exist',
|
|
51
|
+
}),
|
|
52
|
+
debug: Flags.boolean({
|
|
53
|
+
char: 'd',
|
|
54
|
+
default: false,
|
|
55
|
+
description: messages.getMessage('debugMode'),
|
|
56
|
+
}),
|
|
57
|
+
websocket: Flags.string({
|
|
58
|
+
description: messages.getMessage('websocket'),
|
|
59
|
+
}),
|
|
60
|
+
skipauth: Flags.boolean({
|
|
61
|
+
description: 'Skip authentication check when a default username is required',
|
|
62
|
+
})
|
|
63
|
+
};
|
|
64
|
+
// Set this to true if your command requires a project workspace; 'requiresProject' is false by default
|
|
65
|
+
static requiresProject = false;
|
|
66
|
+
debugMode = false;
|
|
67
|
+
/* jscpd:ignore-end */
|
|
68
|
+
async run() {
|
|
69
|
+
const { flags } = await this.parse(OverridePrompts);
|
|
70
|
+
this.debugMode = flags.debug || false;
|
|
71
|
+
// Create config/prompt-templates folder
|
|
72
|
+
const configDir = path.join(process.cwd(), 'config');
|
|
73
|
+
const promptTemplatesDir = path.join(configDir, 'prompt-templates');
|
|
74
|
+
uxLog(this, c.cyan('Creating prompt templates directory...'));
|
|
75
|
+
fs.ensureDirSync(promptTemplatesDir);
|
|
76
|
+
let createdCount = 0;
|
|
77
|
+
let overwrittenCount = 0;
|
|
78
|
+
let skippedCount = 0;
|
|
79
|
+
// Copy all prompt templates as .txt files
|
|
80
|
+
for (const [templateName, templateDefinition] of Object.entries(PROMPT_TEMPLATES)) {
|
|
81
|
+
const targetFile = path.join(promptTemplatesDir, `${templateName}.txt`);
|
|
82
|
+
if (fs.existsSync(targetFile)) {
|
|
83
|
+
if (flags.overwrite) {
|
|
84
|
+
// Get the English text from the template
|
|
85
|
+
const promptText = templateDefinition.text.en;
|
|
86
|
+
// Overwrite the existing file
|
|
87
|
+
fs.writeFileSync(targetFile, promptText);
|
|
88
|
+
uxLog(this, c.cyan(`Overwritten: ${templateName}.txt`));
|
|
89
|
+
overwrittenCount++;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
uxLog(this, c.yellow(`Template already exists: ${templateName}.txt`));
|
|
93
|
+
skippedCount++;
|
|
94
|
+
}
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
// Get the English text from the template
|
|
98
|
+
const promptText = templateDefinition.text.en;
|
|
99
|
+
// Write the prompt text to the .txt file
|
|
100
|
+
fs.writeFileSync(targetFile, promptText);
|
|
101
|
+
uxLog(this, c.green(`Created: ${templateName}.txt`));
|
|
102
|
+
createdCount++;
|
|
103
|
+
}
|
|
104
|
+
// Copy all prompt variables as .txt files
|
|
105
|
+
for (const [variableName, variableDefinition] of Object.entries(PROMPT_VARIABLES)) {
|
|
106
|
+
const targetFile = path.join(promptTemplatesDir, `${variableName}.txt`);
|
|
107
|
+
if (fs.existsSync(targetFile)) {
|
|
108
|
+
if (flags.overwrite) {
|
|
109
|
+
// Get the English text from the variable
|
|
110
|
+
const variableText = variableDefinition.text.en;
|
|
111
|
+
// Overwrite the existing file
|
|
112
|
+
fs.writeFileSync(targetFile, variableText);
|
|
113
|
+
uxLog(this, c.cyan(`Overwritten: ${variableName}.txt`));
|
|
114
|
+
overwrittenCount++;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
uxLog(this, c.yellow(`Variable already exists: ${variableName}.txt`));
|
|
118
|
+
skippedCount++;
|
|
119
|
+
}
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
// Get the English text from the variable
|
|
123
|
+
const variableText = variableDefinition.text.en;
|
|
124
|
+
// Write the variable text to the .txt file
|
|
125
|
+
fs.writeFileSync(targetFile, variableText);
|
|
126
|
+
uxLog(this, c.green(`Created: ${variableName}.txt`));
|
|
127
|
+
createdCount++;
|
|
128
|
+
} // Summary
|
|
129
|
+
uxLog(this, '');
|
|
130
|
+
uxLog(this, c.cyan('Summary:'));
|
|
131
|
+
uxLog(this, c.green(`Created ${createdCount} new prompt template and variable files`));
|
|
132
|
+
if (overwrittenCount > 0) {
|
|
133
|
+
uxLog(this, c.cyan(`Overwritten ${overwrittenCount} existing files`));
|
|
134
|
+
}
|
|
135
|
+
if (skippedCount > 0) {
|
|
136
|
+
uxLog(this, c.yellow(`Skipped ${skippedCount} existing files`));
|
|
137
|
+
}
|
|
138
|
+
uxLog(this, '');
|
|
139
|
+
uxLog(this, c.cyan('Prompt templates and variables location:'));
|
|
140
|
+
uxLog(this, c.white(` ${promptTemplatesDir}`));
|
|
141
|
+
uxLog(this, '');
|
|
142
|
+
uxLog(this, c.cyan('Usage:'));
|
|
143
|
+
uxLog(this, c.white(' - Edit template .txt files to customize AI prompts'));
|
|
144
|
+
uxLog(this, c.white(' - Edit variable .txt files to customize common instruction patterns'));
|
|
145
|
+
uxLog(this, c.white(' - Use {{VARIABLE_NAME}} placeholders for dynamic content'));
|
|
146
|
+
uxLog(this, c.white(' - Templates can reference variables with {{VARIABLE_NAME}} syntax'));
|
|
147
|
+
uxLog(this, c.white(' - Your custom prompts and variables will override the defaults automatically'));
|
|
148
|
+
uxLog(this, '');
|
|
149
|
+
uxLog(this, c.cyan('Documentation:'));
|
|
150
|
+
uxLog(this, c.white(' https://sfdx-hardis.cloudity.com/salesforce-ai-prompts/'));
|
|
151
|
+
const actionMessage = overwrittenCount > 0 ?
|
|
152
|
+
`Created ${createdCount} and overwritten ${overwrittenCount} prompt template and variable files` :
|
|
153
|
+
`Created ${createdCount} prompt template and variable files`;
|
|
154
|
+
return {
|
|
155
|
+
status: 'success',
|
|
156
|
+
message: `${actionMessage} in ${promptTemplatesDir}`,
|
|
157
|
+
createdCount,
|
|
158
|
+
overwrittenCount,
|
|
159
|
+
skippedCount,
|
|
160
|
+
outputDir: promptTemplatesDir
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=override-prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"override-prompts.js","sourceRoot":"","sources":["../../../../src/commands/hardis/doc/override-prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ const template = {
|
|
|
12
12
|
}
|
|
13
13
|
],
|
|
14
14
|
text: {
|
|
15
|
-
"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.
|
|
15
|
+
"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. {{VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC}}
|
|
16
16
|
|
|
17
17
|
## Instructions:
|
|
18
18
|
1. **Enhancing Fields Descriptions**:
|
|
@@ -10,9 +10,8 @@ const template = {
|
|
|
10
10
|
description: "The full source code of the Apex class.",
|
|
11
11
|
example: "public class MyCustomController { ... }"
|
|
12
12
|
}
|
|
13
|
-
],
|
|
14
|
-
|
|
15
|
-
"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. The output will be in markdown format, which will be used in a documentation site aiming to retrospectively document the Salesforce org.
|
|
13
|
+
], text: {
|
|
14
|
+
"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. {{VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC}}
|
|
16
15
|
|
|
17
16
|
### Instructions:
|
|
18
17
|
|
|
@@ -20,19 +19,14 @@ const template = {
|
|
|
20
19
|
- Begin by summarizing the role of the apex class.
|
|
21
20
|
- List the key functionalities and business logic implemented in the class.
|
|
22
21
|
|
|
23
|
-
2.
|
|
24
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
25
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
26
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
27
|
-
- Never truncate any information in the response.
|
|
28
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
22
|
+
2. {{VARIABLE_FORMATTING_REQUIREMENTS}}
|
|
29
23
|
|
|
30
24
|
### Reference Data:
|
|
31
25
|
|
|
32
26
|
- The code for Apex class "{{CLASS_NAME}}" is:
|
|
33
27
|
{{APEX_CODE}}
|
|
34
28
|
|
|
35
|
-
|
|
29
|
+
{{VARIABLE_ADDITIONAL_INSTRUCTIONS}}
|
|
36
30
|
`,
|
|
37
31
|
},
|
|
38
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT_DESCRIBE_APEX.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APEX.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,oDAAoD;YACjE,OAAO,EAAE,oBAAoB;SAC9B;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,yCAAyC;SACnD;KACF
|
|
1
|
+
{"version":3,"file":"PROMPT_DESCRIBE_APEX.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APEX.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,oDAAoD;YACjE,OAAO,EAAE,oBAAoB;SAC9B;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,yCAAyC;SACnD;KACF,EAAE,IAAI,EAAE;QACP,IAAI,EAAE;;;;;;;;;;;;;;;;CAgBT;KACE;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -10,9 +10,8 @@ const template = {
|
|
|
10
10
|
description: "The XML metadata for the Salesforce Approval Process.",
|
|
11
11
|
example: "<ApprovalProcess>...</ApprovalProcess>"
|
|
12
12
|
}
|
|
13
|
-
],
|
|
14
|
-
|
|
15
|
-
"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. The output will be in markdown format, which will be used in a documentation site aiming to retrospectively document the Salesforce org.
|
|
13
|
+
], text: {
|
|
14
|
+
"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. {{VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC}}
|
|
16
15
|
|
|
17
16
|
### Instructions:
|
|
18
17
|
|
|
@@ -20,19 +19,14 @@ const template = {
|
|
|
20
19
|
- Begin by summarizing the purpose of the approval process.
|
|
21
20
|
- List the key functionalities and business logic implemented in the approval process.
|
|
22
21
|
|
|
23
|
-
2.
|
|
24
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
25
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
26
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
27
|
-
- Never truncate any information in the response.
|
|
28
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
22
|
+
2. {{VARIABLE_FORMATTING_REQUIREMENTS}}
|
|
29
23
|
|
|
30
24
|
### Reference Data:
|
|
31
25
|
|
|
32
26
|
- The metadata XML for Approval Process "{{APPROVALPROCESS_NAME}}" is:
|
|
33
27
|
{{APPROVALPROCESS_XML}}
|
|
34
28
|
|
|
35
|
-
|
|
29
|
+
{{VARIABLE_ADDITIONAL_INSTRUCTIONS}}
|
|
36
30
|
`,
|
|
37
31
|
},
|
|
38
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT_DESCRIBE_APPROVAL_PROCESS.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APPROVAL_PROCESS.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,0DAA0D;YACvE,OAAO,EAAE,sBAAsB;SAChC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,uDAAuD;YACpE,OAAO,EAAE,wCAAwC;SAClD;KACF
|
|
1
|
+
{"version":3,"file":"PROMPT_DESCRIBE_APPROVAL_PROCESS.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_APPROVAL_PROCESS.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,0DAA0D;YACvE,OAAO,EAAE,sBAAsB;SAChC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,uDAAuD;YACpE,OAAO,EAAE,wCAAwC;SAClD;KACF,EAAE,IAAI,EAAE;QACP,IAAI,EAAE;;;;;;;;;;;;;;;;CAgBT;KACE;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -10,10 +10,8 @@ const template = {
|
|
|
10
10
|
description: "The XML metadata for the Salesforce Assignment Rules.",
|
|
11
11
|
example: "<AssignmentRules>...</AssignmentRules>"
|
|
12
12
|
}
|
|
13
|
-
],
|
|
14
|
-
|
|
15
|
-
"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. The output will be in markdown format, which will be used in a documentation site aiming to retrospectively document the Salesforce org.
|
|
16
|
-
|
|
13
|
+
], text: {
|
|
14
|
+
"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. {{VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC}}
|
|
17
15
|
|
|
18
16
|
### Instructions:
|
|
19
17
|
|
|
@@ -23,19 +21,14 @@ const template = {
|
|
|
23
21
|
Based by Criteria items, explain what should so the record will be assigned.
|
|
24
22
|
- 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.
|
|
25
23
|
|
|
26
|
-
2.
|
|
27
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
28
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
29
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
30
|
-
- Never truncate any information in the response.
|
|
31
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
24
|
+
2. {{VARIABLE_FORMATTING_REQUIREMENTS}}
|
|
32
25
|
|
|
33
26
|
### Reference Data:
|
|
34
27
|
|
|
35
28
|
- The metadata XML for Salesforce Assignment Rule "{{ASSIGNMENTRULES_NAME}}" is:
|
|
36
29
|
{{ASSIGNMENTRULES_XML}}
|
|
37
30
|
|
|
38
|
-
|
|
31
|
+
{{VARIABLE_ADDITIONAL_INSTRUCTIONS}}
|
|
39
32
|
`,
|
|
40
33
|
},
|
|
41
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT_DESCRIBE_ASSIGNMENT_RULES.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ASSIGNMENT_RULES.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,0DAA0D;YACvE,OAAO,EAAE,uBAAuB;SACjC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,uDAAuD;YACpE,OAAO,EAAE,wCAAwC;SAClD;KACF
|
|
1
|
+
{"version":3,"file":"PROMPT_DESCRIBE_ASSIGNMENT_RULES.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ASSIGNMENT_RULES.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,0DAA0D;YACvE,OAAO,EAAE,uBAAuB;SACjC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,uDAAuD;YACpE,OAAO,EAAE,wCAAwC;SAClD;KACF,EAAE,IAAI,EAAE;QACP,IAAI,EAAE;;;;;;;;;;;;;;;;;;CAkBT;KACE;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -10,9 +10,8 @@ const template = {
|
|
|
10
10
|
description: "The XML metadata for the Salesforce AutoResponse Rules.",
|
|
11
11
|
example: "<AutoResponseRules>...</AutoResponseRules>"
|
|
12
12
|
}
|
|
13
|
-
],
|
|
14
|
-
|
|
15
|
-
"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. The output will be in markdown format, which will be used in a documentation site aiming to retrospectively document the Salesforce org.
|
|
13
|
+
], text: {
|
|
14
|
+
"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. {{VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC}}
|
|
16
15
|
|
|
17
16
|
### Instructions:
|
|
18
17
|
|
|
@@ -22,19 +21,14 @@ const template = {
|
|
|
22
21
|
- 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.
|
|
23
22
|
- Based by Criteria items, explain what would be the response to the user, if the criteria are met.
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
27
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
28
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
29
|
-
- Never truncate any information in the response.
|
|
30
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
24
|
+
2. {{VARIABLE_FORMATTING_REQUIREMENTS}}
|
|
31
25
|
|
|
32
|
-
|
|
26
|
+
### Reference Data:
|
|
33
27
|
|
|
34
|
-
|
|
28
|
+
- The metadata XML for Salesforce AutoResponse Rule "{{AUTORESPONSERULES_NAME}}" is:
|
|
35
29
|
{{AUTORESPONSERULES_XML}}
|
|
36
30
|
|
|
37
|
-
|
|
31
|
+
{{VARIABLE_ADDITIONAL_INSTRUCTIONS}}
|
|
38
32
|
`,
|
|
39
33
|
},
|
|
40
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT_DESCRIBE_AUTORESPONSE_RULES.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_AUTORESPONSE_RULES.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,yBAAyB;SACnC;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,yDAAyD;YACtE,OAAO,EAAE,4CAA4C;SACtD;KACF
|
|
1
|
+
{"version":3,"file":"PROMPT_DESCRIBE_AUTORESPONSE_RULES.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_AUTORESPONSE_RULES.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,yBAAyB;SACnC;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,yDAAyD;YACtE,OAAO,EAAE,4CAA4C;SACtD;KACF,EAAE,IAAI,EAAE;QACP,IAAI,EAAE;;;;;;;;;;;;;;;;;;CAkBT;KACE;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -10,9 +10,8 @@ const template = {
|
|
|
10
10
|
description: "The XML metadata for the Salesforce Escalation Rule.",
|
|
11
11
|
example: "<EscalationRules>...</EscalationRules>"
|
|
12
12
|
}
|
|
13
|
-
],
|
|
14
|
-
|
|
15
|
-
"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. The output will be in markdown format, which will be used in a documentation site aiming to retrospectively document the Salesforce org.
|
|
13
|
+
], text: {
|
|
14
|
+
"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. {{VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC}}
|
|
16
15
|
|
|
17
16
|
### Instructions:
|
|
18
17
|
|
|
@@ -20,19 +19,14 @@ const template = {
|
|
|
20
19
|
- Begin by summarizing the purpose of the escalation rule.
|
|
21
20
|
- List the key functionalities and business logic implemented in the escalation rule.
|
|
22
21
|
|
|
23
|
-
2.
|
|
24
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
25
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
26
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
27
|
-
- Never truncate any information in the response.
|
|
28
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
22
|
+
2. {{VARIABLE_FORMATTING_REQUIREMENTS}}
|
|
29
23
|
|
|
30
24
|
### Reference Data:
|
|
31
25
|
|
|
32
26
|
- The metadata XML for Escalation Rule "{{ESCALATIONRULES_NAME}}" is:
|
|
33
27
|
{{ESCALATIONRULES_XML}}
|
|
34
28
|
|
|
35
|
-
|
|
29
|
+
{{VARIABLE_ADDITIONAL_INSTRUCTIONS}}
|
|
36
30
|
`,
|
|
37
31
|
},
|
|
38
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT_DESCRIBE_ESCALATION_RULES.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ESCALATION_RULES.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,yDAAyD;YACtE,OAAO,EAAE,sBAAsB;SAChC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,sDAAsD;YACnE,OAAO,EAAE,wCAAwC;SAClD;KACF
|
|
1
|
+
{"version":3,"file":"PROMPT_DESCRIBE_ESCALATION_RULES.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_ESCALATION_RULES.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,yDAAyD;YACtE,OAAO,EAAE,sBAAsB;SAChC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,sDAAsD;YACnE,OAAO,EAAE,wCAAwC;SAClD;KACF,EAAE,IAAI,EAAE;QACP,IAAI,EAAE;;;;;;;;;;;;;;;;CAgBT;KACE;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -5,9 +5,8 @@ const template = {
|
|
|
5
5
|
description: "The XML definition of the Salesforce Flow to describe.",
|
|
6
6
|
example: "<Flow>...</Flow>"
|
|
7
7
|
}
|
|
8
|
-
],
|
|
9
|
-
|
|
10
|
-
"en": `You are a business analyst working on a Salesforce project. Your goal is to describe the Salesforce Flow in plain English, providing a detailed explanation suitable for a business user. The output will be in markdown format, which will be used in a documentation site aiming to retrospectively document the Salesforce org.
|
|
8
|
+
], text: {
|
|
9
|
+
"en": `You are a business analyst working on a Salesforce project. Your goal is to describe the Salesforce Flow in plain English, providing a detailed explanation suitable for a business user. {{VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC}}
|
|
11
10
|
|
|
12
11
|
### Instructions:
|
|
13
12
|
|
|
@@ -20,19 +19,14 @@ const template = {
|
|
|
20
19
|
- Use plain English and avoid technical jargon when possible.
|
|
21
20
|
- If there are sub-flows or important conditions, mention them clearly.
|
|
22
21
|
|
|
23
|
-
3.
|
|
24
|
-
- Use markdown formatting suitable for embedding in a level 2 header (##).
|
|
25
|
-
- Add a new line before starting a bullet list so mkdocs-material displays it correctly, including for sub-bullets.
|
|
26
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
27
|
-
- Never truncate any information in the response.
|
|
28
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
22
|
+
3. {{VARIABLE_FORMATTING_REQUIREMENTS}}
|
|
29
23
|
|
|
30
24
|
### Reference Data:
|
|
31
25
|
|
|
32
26
|
- The flow XML is:
|
|
33
27
|
{{FLOW_XML}}
|
|
34
28
|
|
|
35
|
-
|
|
29
|
+
{{VARIABLE_ADDITIONAL_INSTRUCTIONS}}
|
|
36
30
|
`,
|
|
37
31
|
},
|
|
38
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT_DESCRIBE_FLOW.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wDAAwD;YACrE,OAAO,EAAE,kBAAkB;SAC5B;KACF
|
|
1
|
+
{"version":3,"file":"PROMPT_DESCRIBE_FLOW.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wDAAwD;YACrE,OAAO,EAAE,kBAAkB;SAC5B;KACF,EAAE,IAAI,EAAE;QACP,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;CAqBT;KACE;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -12,7 +12,7 @@ const template = {
|
|
|
12
12
|
}
|
|
13
13
|
],
|
|
14
14
|
text: {
|
|
15
|
-
"en": `You are a business analyst working on a Salesforce project. Your goal is to describe the differences between the new and previous versions of a Salesforce Flow in plain English, providing a detailed explanation suitable for a business user.
|
|
15
|
+
"en": `You are a business analyst working on a Salesforce project. Your goal is to describe the differences between the new and previous versions of a Salesforce Flow in plain English, providing a detailed explanation suitable for a business user. {{VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC}}
|
|
16
16
|
|
|
17
17
|
### Instructions:
|
|
18
18
|
|
|
@@ -27,12 +27,7 @@ const template = {
|
|
|
27
27
|
- Ignore connector changes: do not mention them in your response.
|
|
28
28
|
- Use plain English and avoid technical jargon when possible.
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
- Use markdown formatting suitable for embedding in a level 2 header (##).
|
|
32
|
-
- Add a new line before starting a bullet list so mkdocs-material displays it correctly, including for sub-bullets and sub-sub-bullets.
|
|
33
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
34
|
-
- Never truncate any information in the response.
|
|
35
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
30
|
+
{{VARIABLE_FORMATTING_REQUIREMENTS}}
|
|
36
31
|
|
|
37
32
|
### Reference Data:
|
|
38
33
|
|
|
@@ -42,7 +37,7 @@ const template = {
|
|
|
42
37
|
- The previous version flow XML is:
|
|
43
38
|
{{FLOW_XML_PREVIOUS}}
|
|
44
39
|
|
|
45
|
-
|
|
40
|
+
{{VARIABLE_ADDITIONAL_INSTRUCTIONS}}
|
|
46
41
|
`,
|
|
47
42
|
},
|
|
48
43
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT_DESCRIBE_FLOW_DIFF.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW_DIFF.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,+DAA+D;YAC5E,OAAO,EAAE,kBAAkB;SAC5B;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,oEAAoE;YACjF,OAAO,EAAE,kBAAkB;SAC5B;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"PROMPT_DESCRIBE_FLOW_DIFF.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_FLOW_DIFF.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,+DAA+D;YAC5E,OAAO,EAAE,kBAAkB;SAC5B;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,oEAAoE;YACjF,OAAO,EAAE,kBAAkB;SAC5B;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BT;KACE;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -22,7 +22,7 @@ const template = {
|
|
|
22
22
|
}
|
|
23
23
|
],
|
|
24
24
|
text: {
|
|
25
|
-
"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.
|
|
25
|
+
"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. {{VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC}}
|
|
26
26
|
|
|
27
27
|
### Instructions:
|
|
28
28
|
|
|
@@ -37,11 +37,7 @@ const template = {
|
|
|
37
37
|
- Mention any wire services, apex methods, or external services the component uses.
|
|
38
38
|
- Identify any custom properties or special configurations.
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
42
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
43
|
-
- Never truncate any information in the response.
|
|
44
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
40
|
+
{{VARIABLE_FORMATTING_REQUIREMENTS}}
|
|
45
41
|
|
|
46
42
|
### Reference Data:
|
|
47
43
|
|
|
@@ -60,7 +56,7 @@ const template = {
|
|
|
60
56
|
{{LWC_JS_META}}
|
|
61
57
|
\`\`\`
|
|
62
58
|
|
|
63
|
-
|
|
59
|
+
{{VARIABLE_ADDITIONAL_INSTRUCTIONS}}
|
|
64
60
|
`,
|
|
65
61
|
},
|
|
66
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT_DESCRIBE_LWC.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_LWC.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,sDAAsD;YACnE,OAAO,EAAE,mBAAmB;SAC7B;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qDAAqD;YAClE,OAAO,EAAE,6CAA6C;SACvD;QACD;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,wDAAwD;YACrE,OAAO,EAAE,0BAA0B;SACpC;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,8DAA8D;YAC3E,OAAO,EAAE,0DAA0D;SACpE;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"PROMPT_DESCRIBE_LWC.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_LWC.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,sDAAsD;YACnE,OAAO,EAAE,mBAAmB;SAC7B;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qDAAqD;YAClE,OAAO,EAAE,6CAA6C;SACvD;QACD;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,wDAAwD;YACrE,OAAO,EAAE,0BAA0B;SACpC;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,8DAA8D;YAC3E,OAAO,EAAE,0DAA0D;SACpE;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCT;KACE;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -22,7 +22,7 @@ const template = {
|
|
|
22
22
|
}
|
|
23
23
|
],
|
|
24
24
|
text: {
|
|
25
|
-
"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.
|
|
25
|
+
"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. {{VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC}}
|
|
26
26
|
|
|
27
27
|
### Instructions:
|
|
28
28
|
|
|
@@ -42,12 +42,7 @@ const template = {
|
|
|
42
42
|
- Use the acronyms provided to interpret metadata names (e.g., TR: Trigger, VR: Validation Rule, WF: Workflow).
|
|
43
43
|
- If the XML metadata contains sensitive information (e.g., tokens, passwords), replace them with a placeholder (e.g., \`[REDACTED]\`).
|
|
44
44
|
|
|
45
|
-
4.
|
|
46
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
47
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
48
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
49
|
-
- Never truncate any information in the response.
|
|
50
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
45
|
+
4. {{VARIABLE_FORMATTING_REQUIREMENTS}}
|
|
51
46
|
|
|
52
47
|
### Reference Data:
|
|
53
48
|
|
|
@@ -58,7 +53,7 @@ const template = {
|
|
|
58
53
|
- The metadata XML for "{{OBJECT_NAME}}" is:
|
|
59
54
|
{{OBJECT_XML}}
|
|
60
55
|
|
|
61
|
-
|
|
56
|
+
{{VARIABLE_ADDITIONAL_INSTRUCTIONS}}
|
|
62
57
|
`,
|
|
63
58
|
},
|
|
64
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT_DESCRIBE_OBJECT.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_OBJECT.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACvC,SAAS,EAAE;QACP;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,oDAAoD;YACjE,OAAO,EAAE,SAAS;SACrB;QACD;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,uDAAuD;YACpE,OAAO,EAAE,kCAAkC;SAC9C;QACD;YACI,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,8CAA8C;YAC3D,OAAO,EAAE,oCAAoC;SAChD;QACD;YACI,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,2EAA2E;YACxF,OAAO,EAAE,gEAAgE;SAC5E;KACJ;IACD,IAAI,EAAE;QACF,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"PROMPT_DESCRIBE_OBJECT.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_OBJECT.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAA6B;IACvC,SAAS,EAAE;QACP;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,oDAAoD;YACjE,OAAO,EAAE,SAAS;SACrB;QACD;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,uDAAuD;YACpE,OAAO,EAAE,kCAAkC;SAC9C;QACD;YACI,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,8CAA8C;YAC3D,OAAO,EAAE,oCAAoC;SAChD;QACD;YACI,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,2EAA2E;YACxF,OAAO,EAAE,gEAAgE;SAC5E;KACJ;IACD,IAAI,EAAE;QACF,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCb;KACI;CACJ,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -18,7 +18,7 @@ const template = {
|
|
|
18
18
|
}
|
|
19
19
|
],
|
|
20
20
|
text: {
|
|
21
|
-
"en": `You are a skilled business analyst working on a Salesforce project. Your goal is to summarize the content and behavior of the Salesforce Installed package "{{PACKAGE_NAME}}" in plain English, providing a detailed explanation suitable for a business user.
|
|
21
|
+
"en": `You are a skilled business analyst working on a Salesforce project. Your goal is to summarize the content and behavior of the Salesforce Installed package "{{PACKAGE_NAME}}" in plain English, providing a detailed explanation suitable for a business user. {{VARIABLE_OUTPUT_FORMAT_MARKDOWN_DOC}}
|
|
22
22
|
|
|
23
23
|
### Instructions:
|
|
24
24
|
|
|
@@ -37,12 +37,7 @@ const template = {
|
|
|
37
37
|
- Review the list of metadata items (Apex classes, objects, flows, etc.) provided by this package, as listed in reference data.
|
|
38
38
|
- Highlight the most important or business-relevant components.
|
|
39
39
|
|
|
40
|
-
3.
|
|
41
|
-
- Use markdown formatting suitable for embedding in a level 2 header (\`##\`).
|
|
42
|
-
- Add new lines before starting bullet lists so mkdocs-material renders them correctly, including nested lists.
|
|
43
|
-
- Add new lines after a header title so mkdocs-material can display the content correctly.
|
|
44
|
-
- Never truncate any information in the response.
|
|
45
|
-
- Provide a concise summary before detailed sections for quick understanding.
|
|
40
|
+
3. {{VARIABLE_FORMATTING_REQUIREMENTS}}
|
|
46
41
|
|
|
47
42
|
### Reference Data:
|
|
48
43
|
|
|
@@ -58,7 +53,7 @@ const template = {
|
|
|
58
53
|
|
|
59
54
|
- Other relevant sources for articles or blog posts about the package may include the vendor's website, community forums, or Salesforce-related blogs, like Salesforce Ben or medium.com. Do not mention these source if you don't have a direct link to a page explicitly related to package "{{PACKAGE_NAME}}".
|
|
60
55
|
|
|
61
|
-
|
|
56
|
+
{{VARIABLE_ADDITIONAL_INSTRUCTIONS}}
|
|
62
57
|
`,
|
|
63
58
|
},
|
|
64
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PROMPT_DESCRIBE_PACKAGE.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PACKAGE.ts"],"names":[],"mappings":"AAGA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,sCAAsC;YACnD,OAAO,EAAE,QAAQ;SAClB;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,oCAAoC;YACjD,OAAO,EAAE,yOAAyO;SACnP;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,8HAA8H;YAC3I,OAAO,EAAE,sEAAsE;YAC/E,aAAa,EAAE,MAAM;SACtB;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"PROMPT_DESCRIBE_PACKAGE.js","sourceRoot":"","sources":["../../../../src/common/aiProvider/promptTemplates/PROMPT_DESCRIBE_PACKAGE.ts"],"names":[],"mappings":"AAGA,MAAM,QAAQ,GAA6B;IACzC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,sCAAsC;YACnD,OAAO,EAAE,QAAQ;SAClB;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,oCAAoC;YACjD,OAAO,EAAE,yOAAyO;SACnP;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,8HAA8H;YAC3I,OAAO,EAAE,sEAAsE;YAC/E,aAAa,EAAE,MAAM;SACtB;KACF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCT;KACE;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|