sfdx-hardis 5.15.4 → 5.16.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.
Files changed (92) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/defaults/ci/.github/workflows/check-deploy.yml +1 -0
  3. package/defaults/ci/.gitlab-ci.yml +1 -0
  4. package/defaults/ci/Jenkinsfile +1 -0
  5. package/defaults/ci/azure-pipelines-checks.yml +1 -0
  6. package/defaults/ci/bitbucket-pipelines.yml +1 -0
  7. package/lib/commands/hardis/doc/extract/permsetgroups.js +2 -1
  8. package/lib/commands/hardis/doc/extract/permsetgroups.js.map +1 -1
  9. package/lib/commands/hardis/doc/project2markdown.d.ts +11 -0
  10. package/lib/commands/hardis/doc/project2markdown.js +175 -16
  11. package/lib/commands/hardis/doc/project2markdown.js.map +1 -1
  12. package/lib/commands/hardis/lint/access.js +7 -6
  13. package/lib/commands/hardis/lint/access.js.map +1 -1
  14. package/lib/commands/hardis/package/mergexml.js +2 -1
  15. package/lib/commands/hardis/package/mergexml.js.map +1 -1
  16. package/lib/commands/hardis/project/audit/callincallout.js +2 -1
  17. package/lib/commands/hardis/project/audit/callincallout.js.map +1 -1
  18. package/lib/commands/hardis/project/audit/remotesites.js +2 -1
  19. package/lib/commands/hardis/project/audit/remotesites.js.map +1 -1
  20. package/lib/commands/hardis/project/clean/emptyitems.js +2 -1
  21. package/lib/commands/hardis/project/clean/emptyitems.js.map +1 -1
  22. package/lib/commands/hardis/project/clean/flowpositions.js +2 -1
  23. package/lib/commands/hardis/project/clean/flowpositions.js.map +1 -1
  24. package/lib/commands/hardis/project/clean/hiddenitems.js +2 -1
  25. package/lib/commands/hardis/project/clean/hiddenitems.js.map +1 -1
  26. package/lib/commands/hardis/project/clean/listviews.js +2 -1
  27. package/lib/commands/hardis/project/clean/listviews.js.map +1 -1
  28. package/lib/commands/hardis/project/clean/manageditems.js +3 -2
  29. package/lib/commands/hardis/project/clean/manageditems.js.map +1 -1
  30. package/lib/commands/hardis/project/clean/minimizeprofiles.js +2 -1
  31. package/lib/commands/hardis/project/clean/minimizeprofiles.js.map +1 -1
  32. package/lib/commands/hardis/project/clean/orgmissingitems.js +2 -0
  33. package/lib/commands/hardis/project/clean/orgmissingitems.js.map +1 -1
  34. package/lib/commands/hardis/project/clean/references.js +7 -4
  35. package/lib/commands/hardis/project/clean/references.js.map +1 -1
  36. package/lib/commands/hardis/project/clean/sensitive-metadatas.js +2 -1
  37. package/lib/commands/hardis/project/clean/sensitive-metadatas.js.map +1 -1
  38. package/lib/commands/hardis/project/clean/standarditems.js +3 -2
  39. package/lib/commands/hardis/project/clean/standarditems.js.map +1 -1
  40. package/lib/commands/hardis/project/clean/systemdebug.js +2 -1
  41. package/lib/commands/hardis/project/clean/systemdebug.js.map +1 -1
  42. package/lib/commands/hardis/project/clean/xml.js +2 -1
  43. package/lib/commands/hardis/project/clean/xml.js.map +1 -1
  44. package/lib/commands/hardis/project/deploy/notify.js +59 -6
  45. package/lib/commands/hardis/project/deploy/notify.js.map +1 -1
  46. package/lib/commands/hardis/project/fix/profiletabs.js +2 -1
  47. package/lib/commands/hardis/project/fix/profiletabs.js.map +1 -1
  48. package/lib/commands/hardis/project/fix/v53flexipages.js +2 -1
  49. package/lib/commands/hardis/project/fix/v53flexipages.js.map +1 -1
  50. package/lib/commands/hardis/project/generate/flow-git-diff.js +1 -1
  51. package/lib/commands/hardis/project/metadata/findduplicates.js +2 -1
  52. package/lib/commands/hardis/project/metadata/findduplicates.js.map +1 -1
  53. package/lib/common/aiProvider/agentforceProvider.d.ts +10 -0
  54. package/lib/common/aiProvider/agentforceProvider.js +66 -0
  55. package/lib/common/aiProvider/agentforceProvider.js.map +1 -0
  56. package/lib/common/aiProvider/index.d.ts +1 -1
  57. package/lib/common/aiProvider/index.js +17 -1
  58. package/lib/common/aiProvider/index.js.map +1 -1
  59. package/lib/common/aiProvider/promptTemplates.d.ts +13 -5
  60. package/lib/common/aiProvider/promptTemplates.js +86 -44
  61. package/lib/common/aiProvider/promptTemplates.js.map +1 -1
  62. package/lib/common/aiProvider/utils.d.ts +11 -0
  63. package/lib/common/aiProvider/utils.js +50 -0
  64. package/lib/common/aiProvider/utils.js.map +1 -1
  65. package/lib/common/gitProvider/utilsMarkdown.d.ts +1 -0
  66. package/lib/common/gitProvider/utilsMarkdown.js +6 -0
  67. package/lib/common/gitProvider/utilsMarkdown.js.map +1 -1
  68. package/lib/common/metadata-utils/index.js +3 -2
  69. package/lib/common/metadata-utils/index.js.map +1 -1
  70. package/lib/common/utils/branchStrategyMermaidBuilder.d.ts +4 -0
  71. package/lib/common/utils/branchStrategyMermaidBuilder.js +84 -70
  72. package/lib/common/utils/branchStrategyMermaidBuilder.js.map +1 -1
  73. package/lib/common/utils/deployTipJson.js +1 -1
  74. package/lib/common/utils/deployTipJson.js.map +1 -1
  75. package/lib/common/utils/deployTips.js +1 -1
  76. package/lib/common/utils/deployTips.js.map +1 -1
  77. package/lib/common/utils/deployUtils.js +3 -2
  78. package/lib/common/utils/deployUtils.js.map +1 -1
  79. package/lib/common/utils/docUtils.d.ts +3 -0
  80. package/lib/common/utils/docUtils.js +76 -0
  81. package/lib/common/utils/docUtils.js.map +1 -1
  82. package/lib/common/utils/mermaidUtils.js +71 -75
  83. package/lib/common/utils/mermaidUtils.js.map +1 -1
  84. package/lib/common/utils/orgConfigUtils.js +2 -1
  85. package/lib/common/utils/orgConfigUtils.js.map +1 -1
  86. package/lib/common/utils/projectUtils.js +1 -1
  87. package/lib/common/utils/projectUtils.js.map +1 -1
  88. package/lib/common/utils/workaroundUtils.js +2 -1
  89. package/lib/common/utils/workaroundUtils.js.map +1 -1
  90. package/oclif.lock +103 -72
  91. package/oclif.manifest.json +51 -51
  92. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"deployUtils.js","sourceRoot":"","sources":["../../../src/common/utils/deployUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployUtils.js","sourceRoot":"","sources":["../../../src/common/utils/deployUtils.ts"],"names":[],"mappings":"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"}
@@ -15,3 +15,6 @@ export declare class SalesforceSetupUrlBuilder {
15
15
  */
16
16
  static getSetupUrl(metadataType: string, apiName: string): string | null;
17
17
  }
18
+ export declare function generateObjectMarkdown(objectName: string, objectXmlDefinition: string, allObjectsNames: string, objectLinksDetails: string, outputFile: string): Promise<string>;
19
+ export declare function completeAttributesDescriptionWithAi(attributesMarkdown: string, objectName: string): Promise<string>;
20
+ export declare function replaceInFile(filePath: string, stringToReplace: string, replaceWith: string): Promise<void>;
@@ -6,6 +6,8 @@ import * as yaml from 'js-yaml';
6
6
  import { countPackageXmlItems, parsePackageXmlFile } from "./xmlUtils.js";
7
7
  import { CONSTANTS } from "../../config/index.js";
8
8
  import { SfError } from "@salesforce/core";
9
+ import { UtilsAi } from "../aiProvider/utils.js";
10
+ import { AiProvider } from "../aiProvider/index.js";
9
11
  export async function generatePackageXmlMarkdown(inputFile, outputFile = null, packageXmlDefinition = null, rootSalesforceUrl = "") {
10
12
  // Find packageXml to parse if not defined
11
13
  if (inputFile == null) {
@@ -202,4 +204,78 @@ export class SalesforceSetupUrlBuilder {
202
204
  return urlPath;
203
205
  }
204
206
  }
207
+ export async function generateObjectMarkdown(objectName, objectXmlDefinition, allObjectsNames, objectLinksDetails, outputFile) {
208
+ const mdLines = [
209
+ `## ${objectName}`,
210
+ '',
211
+ '<!-- Object description -->',
212
+ '',
213
+ '<!-- Attributes tables -->',
214
+ '',
215
+ '<!-- Flows table -->'
216
+ ];
217
+ mdLines.push("");
218
+ // Footer
219
+ mdLines.push(`_Documentation generated with [sfdx-hardis](${CONSTANTS.DOC_URL_ROOT})_`);
220
+ let mdLinesStr = mdLines.join("\n") + "\n";
221
+ mdLinesStr = await completeObjectDocWithAiDescription(mdLinesStr, objectName, objectXmlDefinition, allObjectsNames, objectLinksDetails);
222
+ // Write output file
223
+ await fs.writeFile(outputFile, mdLinesStr);
224
+ uxLog(this, c.green(`Successfully generated ${objectName} documentation into ${outputFile}`));
225
+ return outputFile;
226
+ }
227
+ export async function completeAttributesDescriptionWithAi(attributesMarkdown, objectName) {
228
+ if (!attributesMarkdown) {
229
+ return attributesMarkdown;
230
+ }
231
+ const aiCache = await UtilsAi.findAiCache("PROMPT_COMPLETE_OBJECT_ATTRIBUTES_MD", [attributesMarkdown]);
232
+ if (aiCache.success === true) {
233
+ uxLog(this, c.grey("Used AI cache for attributes completion (set IGNORE_AI_CACHE=true to force call to AI)"));
234
+ return aiCache.cacheText ? `<!-- Cache file: ${aiCache.aiCacheDirFile} -->\n\n${aiCache.cacheText}` : attributesMarkdown;
235
+ }
236
+ if (AiProvider.isAiAvailable()) {
237
+ // Invoke AI Service
238
+ const prompt = AiProvider.buildPrompt("PROMPT_COMPLETE_OBJECT_ATTRIBUTES_MD", { "MARKDOWN": attributesMarkdown, "OBJECT_NAME": objectName });
239
+ const aiResponse = await AiProvider.promptAi(prompt, "PROMPT_COMPLETE_OBJECT_ATTRIBUTES_MD");
240
+ // Replace description in markdown
241
+ if (aiResponse?.success) {
242
+ const responseText = aiResponse.promptResponse || "No AI description available";
243
+ await UtilsAi.writeAiCache("PROMPT_COMPLETE_OBJECT_ATTRIBUTES_MD", [attributesMarkdown], responseText);
244
+ attributesMarkdown = `<!-- Cache file: ${aiCache.aiCacheDirFile} -->\n\n${responseText}`;
245
+ }
246
+ }
247
+ return attributesMarkdown;
248
+ }
249
+ async function completeObjectDocWithAiDescription(objectMarkdownDoc, objectName, objectXml, allObjectsNames, objectLinksDetails) {
250
+ const aiCache = await UtilsAi.findAiCache("PROMPT_DESCRIBE_OBJECT", [objectXml]);
251
+ if (aiCache.success === true) {
252
+ uxLog(this, c.grey("Used AI cache for object description (set IGNORE_AI_CACHE=true to force call to AI)"));
253
+ const replaceText = `<!-- Cache file: ${aiCache.aiCacheDirFile} -->\n\n${aiCache.cacheText || ""}`;
254
+ return objectMarkdownDoc.replace("<!-- Object description -->", replaceText);
255
+ }
256
+ if (AiProvider.isAiAvailable()) {
257
+ // Invoke AI Service
258
+ const prompt = AiProvider.buildPrompt("PROMPT_DESCRIBE_OBJECT", { "OBJECT_NAME": objectName, "OBJECT_XML": objectXml, "ALL_OBJECTS_LIST": allObjectsNames, "ALL_OBJECT_LINKS": objectLinksDetails });
259
+ /* jscpd:ignore-start */
260
+ const aiResponse = await AiProvider.promptAi(prompt, "PROMPT_DESCRIBE_OBJECT");
261
+ // Replace description in markdown
262
+ if (aiResponse?.success) {
263
+ let responseText = aiResponse.promptResponse || "No AI description available";
264
+ if (responseText.startsWith("##")) {
265
+ responseText = responseText.split("\n").slice(1).join("\n");
266
+ }
267
+ await UtilsAi.writeAiCache("PROMPT_DESCRIBE_OBJECT", [objectXml], responseText);
268
+ const replaceText = `<!-- Cache file: ${aiCache.aiCacheDirFile} -->\n\n${responseText}`;
269
+ const objectMarkdownDocUpdated = objectMarkdownDoc.replace("<!-- Object description -->", replaceText);
270
+ return objectMarkdownDocUpdated;
271
+ }
272
+ /* jscpd:ignore-end */
273
+ }
274
+ return objectMarkdownDoc;
275
+ }
276
+ export async function replaceInFile(filePath, stringToReplace, replaceWith) {
277
+ const fileContent = await fs.readFile(filePath, 'utf8');
278
+ const newContent = fileContent.replaceAll(stringToReplace, replaceWith);
279
+ await fs.writeFile(filePath, newContent);
280
+ }
205
281
  //# sourceMappingURL=docUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docUtils.js","sourceRoot":"","sources":["../../../src/common/utils/docUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,SAAwB,EAAE,aAA4B,IAAI,EAAE,uBAA4B,IAAI,EAAE,oBAA4B,EAAE;IAC3K,0CAA0C;IAC1C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,OAAO,CAAC,6FAA6F,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IACD,mCAAmC;IACnC,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpD,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,kBAAkB,KAAK,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,gCAAgC,SAAS,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC;IAE3F,eAAe;IACf,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,aAAa,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,WAAW,EAAE,CAAC;QAC7D,SAAS;QACT,OAAO,CAAC,IAAI,CAAC,GAAG;YACd,iBAAiB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC3C,EAAE;YACF,oBAAoB,CAAC,WAAW;YAChC,EAAE;YACF,cAAc,OAAO,EAAE;YACvB,EAAE;SACH,CAAC,CAAC;IACL,CAAC;SACI,CAAC;QACJ,SAAS;QACT,OAAO,CAAC,IAAI,CAAC,GAAG;YACd,iBAAiB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC3C,EAAE;YACF,cAAc,OAAO,EAAE;YACvB,EAAE;SACH,CAAC,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,qBAAqB,YAAY,KAAK,iBAAiB,iBAAiB,CAAC,CAAC;QACvF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;YACjE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC7E,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,gBAAgB,iBAAiB,GAAG,QAAQ,qBAAqB,WAAW,WAAW,CAAC,CAAC;YACxG,CAAC;iBACI,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,OAAO,WAAW,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEjB,SAAS;IACT,OAAO,CAAC,IAAI,CAAC,+CAA+C,SAAS,CAAC,YAAY,IAAI,CAAC,CAAC;IAExF,oBAAoB;IACpB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAE1D,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC,CAAC;IAE5G,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,aAAqB;IAClD,MAAM,SAAS,GAAQ,IAAI,CAAC,IAAI,CAC9B,EAAE;SACC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC;SACpC,OAAO,CAAC,uCAAuC,EAAE,iDAAiD,CAAC;SACnG,OAAO,CAAC,sCAAsC,EAAE,gDAAgD,CAAC;SACjG,OAAO,CAAC,iDAAiD,EAAE,mDAAmD,CAAC;SAC/G,OAAO,CAAC,gDAAgD,EAAE,kDAAkD,CAAC;SAC7G,OAAO,CAAC,sDAAsD,EAAE,wDAAwD,CAAC,CAC7H,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACnB,SAAS,CAAC,GAAG,GAAG,EAAE,CAAA;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,aAAqB,EAAE,SAAc;IACzE,MAAM,YAAY,GAAG,IAAI;SACtB,IAAI,CAAC,SAAS,CAAC;SACf,OAAO,CAAC,uCAAuC,EAAE,iDAAiD,CAAC;SACnG,OAAO,CAAC,sCAAsC,EAAE,gDAAgD,CAAC;SACjG,OAAO,CAAC,mDAAmD,EAAE,iDAAiD,CAAC;SAC/G,OAAO,CAAC,kDAAkD,EAAE,gDAAgD,CAAC;SAC7G,OAAO,CAAC,wDAAwD,EAAE,sDAAsD,CAAC,CAAC;IAC7H,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,WAAW,GAAa,EAAE,CAAC;AAEjC,MAAM,OAAO,yBAAyB;IACpC;;OAEG;IACK,MAAM,CAAU,YAAY,GAA2B;QAC7D,yBAAyB,EAAE,2CAA2C;QACtE,SAAS,EAAE,uCAAuC;QAClD,iBAAiB,EAAE,yCAAyC;QAC5D,iBAAiB,EAAE,uCAAuC;QAC1D,cAAc,EAAE,qCAAqC;QACrD,mBAAmB,EAAE,yCAAyC;QAC9D,WAAW,EAAE,mCAAmC;QAChD,UAAU,EAAE,wCAAwC;QACpD,aAAa,EAAE,oCAAoC;QACnD,iBAAiB,EAAE,oEAAoE;QACvF,eAAe,EAAE,iEAAiE;QAClF,cAAc,EAAE,qCAAqC;QACrD,cAAc,EAAE,qCAAqC;QACrD,mBAAmB,EAAE,uCAAuC;QAC5D,aAAa,EAAE,mFAAmF;QAClG,gBAAgB,EAAE,sCAAsC;QACxD,aAAa,EAAE,oCAAoC;QACnD,gBAAgB,EAAE,2CAA2C;QAC7D,wBAAwB,EAAE,2CAA2C;QACrE,cAAc,EAAE,0DAA0D;QAC1E,kBAAkB,EAAE,yCAAyC;QAC7D,eAAe,EAAE,0DAA0D;QAC3E,YAAY,EAAE,6BAA6B;QAC3C,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE,kCAAkC;QAC/C,iBAAiB,EAAE,wCAAwC;QAC3D,mBAAmB,EAAE,sCAAsC;QAC3D,uBAAuB,EAAE,qCAAqC;QAC9D,eAAe,EAAE,sCAAsC;QACvD,qBAAqB,EAAE,4CAA4C;QACnE,iBAAiB,EAAE,uCAAuC;QAC1D,mBAAmB,EAAE,sCAAsC;QAC3D,oBAAoB,EAAE,2CAA2C;QACjE,iBAAiB,EAAE,wCAAwC;QAC3D,UAAU,EAAE,4DAA4D;QACxE,WAAW,EAAE,qCAAqC;QAClD,MAAM,EAAE,6BAA6B;QACrC,gBAAgB,EAAE,iCAAiC;QACnD,OAAO,EAAE,oCAAoC;QAC7C,gBAAgB,EAAE,uCAAuC;QACzD,QAAQ,EAAE,8DAA8D;QACxE,0BAA0B,EAAE,2CAA2C;QACvE,eAAe,EAAE,kCAAkC;QACnD,iBAAiB,EAAE,wCAAwC;QAC3D,qBAAqB,EAAE,2CAA2C;QAClE,eAAe,EAAE,sCAAsC;QACvD,oBAAoB,EAAE,2CAA2C;QACjE,eAAe,EAAE,sCAAsC;QACvD,SAAS,EAAE,gCAAgC;QAC3C,OAAO,EAAE,8BAA8B;QACvC,YAAY,EAAE,8DAA8D;QAC5E,mBAAmB,EAAE,mCAAmC;QACxD,QAAQ,EAAE,+BAA+B;QACzC,cAAc,EAAE,qCAAqC;QACrD,MAAM,EAAE,6BAA6B;QACrC,gBAAgB,EAAE,uCAAuC;QACzD,cAAc,EAAE,oCAAoC;QACpD,gBAAgB,EAAE,uCAAuC;QACzD,WAAW,EAAE,mCAAmC;QAChD,gBAAgB,EAAE,2CAA2C;QAC7D,aAAa,EAAE,oCAAoC;QACnD,gBAAgB,EAAE,kEAAkE;QACpF,iBAAiB,EAAE,wCAAwC;QAC3D,UAAU,EAAE,gCAAgC;QAC5C,oCAAoC;KACrC,CAAC;IAEF;;;;;;OAMG;IACI,MAAM,CAAC,WAAW,CAAC,YAAoB,EAAE,OAAe;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,YAAY,GAAG,OAAO,GAAG,EAAE,CAAC;QAChC,IAAI,UAAU,GAAG,EAAE,CAAA;QACnB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,uEAAuE;QACvE,MAAM,OAAO,GAAG,YAAY;aACzB,OAAO,CAAC,iBAAiB,EAAE,UAAU,IAAI,EAAE,CAAC;aAC5C,OAAO,CAAC,cAAc,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;QAE/C,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACtE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,OAAO,wBAAwB,YAAY,mBAAmB,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1H,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC"}
1
+ {"version":3,"file":"docUtils.js","sourceRoot":"","sources":["../../../src/common/utils/docUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,SAAwB,EAAE,aAA4B,IAAI,EAAE,uBAA4B,IAAI,EAAE,oBAA4B,EAAE;IAC3K,0CAA0C;IAC1C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,OAAO,CAAC,6FAA6F,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IACD,mCAAmC;IACnC,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpD,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,kBAAkB,KAAK,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,gCAAgC,SAAS,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC;IAE3F,eAAe;IACf,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,aAAa,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,WAAW,EAAE,CAAC;QAC7D,SAAS;QACT,OAAO,CAAC,IAAI,CAAC,GAAG;YACd,iBAAiB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC3C,EAAE;YACF,oBAAoB,CAAC,WAAW;YAChC,EAAE;YACF,cAAc,OAAO,EAAE;YACvB,EAAE;SACH,CAAC,CAAC;IACL,CAAC;SACI,CAAC;QACJ,SAAS;QACT,OAAO,CAAC,IAAI,CAAC,GAAG;YACd,iBAAiB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC3C,EAAE;YACF,cAAc,OAAO,EAAE;YACvB,EAAE;SACH,CAAC,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,qBAAqB,YAAY,KAAK,iBAAiB,iBAAiB,CAAC,CAAC;QACvF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;YACjE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC7E,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,gBAAgB,iBAAiB,GAAG,QAAQ,qBAAqB,WAAW,WAAW,CAAC,CAAC;YACxG,CAAC;iBACI,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,OAAO,WAAW,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEjB,SAAS;IACT,OAAO,CAAC,IAAI,CAAC,+CAA+C,SAAS,CAAC,YAAY,IAAI,CAAC,CAAC;IAExF,oBAAoB;IACpB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAE1D,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC,CAAC;IAE5G,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,aAAqB;IAClD,MAAM,SAAS,GAAQ,IAAI,CAAC,IAAI,CAC9B,EAAE;SACC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC;SACpC,OAAO,CAAC,uCAAuC,EAAE,iDAAiD,CAAC;SACnG,OAAO,CAAC,sCAAsC,EAAE,gDAAgD,CAAC;SACjG,OAAO,CAAC,iDAAiD,EAAE,mDAAmD,CAAC;SAC/G,OAAO,CAAC,gDAAgD,EAAE,kDAAkD,CAAC;SAC7G,OAAO,CAAC,sDAAsD,EAAE,wDAAwD,CAAC,CAC7H,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACnB,SAAS,CAAC,GAAG,GAAG,EAAE,CAAA;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,aAAqB,EAAE,SAAc;IACzE,MAAM,YAAY,GAAG,IAAI;SACtB,IAAI,CAAC,SAAS,CAAC;SACf,OAAO,CAAC,uCAAuC,EAAE,iDAAiD,CAAC;SACnG,OAAO,CAAC,sCAAsC,EAAE,gDAAgD,CAAC;SACjG,OAAO,CAAC,mDAAmD,EAAE,iDAAiD,CAAC;SAC/G,OAAO,CAAC,kDAAkD,EAAE,gDAAgD,CAAC;SAC7G,OAAO,CAAC,wDAAwD,EAAE,sDAAsD,CAAC,CAAC;IAC7H,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,WAAW,GAAa,EAAE,CAAC;AAEjC,MAAM,OAAO,yBAAyB;IACpC;;OAEG;IACK,MAAM,CAAU,YAAY,GAA2B;QAC7D,yBAAyB,EAAE,2CAA2C;QACtE,SAAS,EAAE,uCAAuC;QAClD,iBAAiB,EAAE,yCAAyC;QAC5D,iBAAiB,EAAE,uCAAuC;QAC1D,cAAc,EAAE,qCAAqC;QACrD,mBAAmB,EAAE,yCAAyC;QAC9D,WAAW,EAAE,mCAAmC;QAChD,UAAU,EAAE,wCAAwC;QACpD,aAAa,EAAE,oCAAoC;QACnD,iBAAiB,EAAE,oEAAoE;QACvF,eAAe,EAAE,iEAAiE;QAClF,cAAc,EAAE,qCAAqC;QACrD,cAAc,EAAE,qCAAqC;QACrD,mBAAmB,EAAE,uCAAuC;QAC5D,aAAa,EAAE,mFAAmF;QAClG,gBAAgB,EAAE,sCAAsC;QACxD,aAAa,EAAE,oCAAoC;QACnD,gBAAgB,EAAE,2CAA2C;QAC7D,wBAAwB,EAAE,2CAA2C;QACrE,cAAc,EAAE,0DAA0D;QAC1E,kBAAkB,EAAE,yCAAyC;QAC7D,eAAe,EAAE,0DAA0D;QAC3E,YAAY,EAAE,6BAA6B;QAC3C,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE,kCAAkC;QAC/C,iBAAiB,EAAE,wCAAwC;QAC3D,mBAAmB,EAAE,sCAAsC;QAC3D,uBAAuB,EAAE,qCAAqC;QAC9D,eAAe,EAAE,sCAAsC;QACvD,qBAAqB,EAAE,4CAA4C;QACnE,iBAAiB,EAAE,uCAAuC;QAC1D,mBAAmB,EAAE,sCAAsC;QAC3D,oBAAoB,EAAE,2CAA2C;QACjE,iBAAiB,EAAE,wCAAwC;QAC3D,UAAU,EAAE,4DAA4D;QACxE,WAAW,EAAE,qCAAqC;QAClD,MAAM,EAAE,6BAA6B;QACrC,gBAAgB,EAAE,iCAAiC;QACnD,OAAO,EAAE,oCAAoC;QAC7C,gBAAgB,EAAE,uCAAuC;QACzD,QAAQ,EAAE,8DAA8D;QACxE,0BAA0B,EAAE,2CAA2C;QACvE,eAAe,EAAE,kCAAkC;QACnD,iBAAiB,EAAE,wCAAwC;QAC3D,qBAAqB,EAAE,2CAA2C;QAClE,eAAe,EAAE,sCAAsC;QACvD,oBAAoB,EAAE,2CAA2C;QACjE,eAAe,EAAE,sCAAsC;QACvD,SAAS,EAAE,gCAAgC;QAC3C,OAAO,EAAE,8BAA8B;QACvC,YAAY,EAAE,8DAA8D;QAC5E,mBAAmB,EAAE,mCAAmC;QACxD,QAAQ,EAAE,+BAA+B;QACzC,cAAc,EAAE,qCAAqC;QACrD,MAAM,EAAE,6BAA6B;QACrC,gBAAgB,EAAE,uCAAuC;QACzD,cAAc,EAAE,oCAAoC;QACpD,gBAAgB,EAAE,uCAAuC;QACzD,WAAW,EAAE,mCAAmC;QAChD,gBAAgB,EAAE,2CAA2C;QAC7D,aAAa,EAAE,oCAAoC;QACnD,gBAAgB,EAAE,kEAAkE;QACpF,iBAAiB,EAAE,wCAAwC;QAC3D,UAAU,EAAE,gCAAgC;QAC5C,oCAAoC;KACrC,CAAC;IAEF;;;;;;OAMG;IACI,MAAM,CAAC,WAAW,CAAC,YAAoB,EAAE,OAAe;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,YAAY,GAAG,OAAO,GAAG,EAAE,CAAC;QAChC,IAAI,UAAU,GAAG,EAAE,CAAA;QACnB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,uEAAuE;QACvE,MAAM,OAAO,GAAG,YAAY;aACzB,OAAO,CAAC,iBAAiB,EAAE,UAAU,IAAI,EAAE,CAAC;aAC5C,OAAO,CAAC,cAAc,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;QAE/C,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACtE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,OAAO,wBAAwB,YAAY,mBAAmB,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1H,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;;AAGH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,UAAkB,EAAE,mBAA2B,EAAE,eAAuB,EAAE,kBAA0B,EAAE,UAAkB;IACnK,MAAM,OAAO,GAAG;QACd,MAAM,UAAU,EAAE;QAClB,EAAE;QACF,6BAA6B;QAC7B,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,sBAAsB;KACvB,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,SAAS;IACT,OAAO,CAAC,IAAI,CAAC,+CAA+C,SAAS,CAAC,YAAY,IAAI,CAAC,CAAC;IACxF,IAAI,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,UAAU,GAAG,MAAM,kCAAkC,CAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;IACxI,oBAAoB;IACpB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,UAAU,uBAAuB,UAAU,EAAE,CAAC,CAAC,CAAC;IAC9F,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mCAAmC,CAAC,kBAA0B,EAAE,UAAkB;IACtG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,sCAAsC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACxG,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC,CAAC;QAC9G,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,OAAO,CAAC,cAAc,WAAW,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC3H,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;QAC/B,oBAAoB;QACpB,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,sCAAsC,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7I,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;QAC7F,kCAAkC;QAClC,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,IAAI,6BAA6B,CAAC;YAChF,MAAM,OAAO,CAAC,YAAY,CAAC,sCAAsC,EAAE,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC,CAAC;YACvG,kBAAkB,GAAG,oBAAoB,OAAO,CAAC,cAAc,WAAW,YAAY,EAAE,CAAC;QAC3F,CAAC;IACH,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,kCAAkC,CAAC,iBAAyB,EAAE,UAAkB,EAAE,SAAiB,EAAE,eAAuB,EAAE,kBAA0B;IACrK,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC,CAAC;QAC3G,MAAM,WAAW,GAAG,oBAAoB,OAAO,CAAC,cAAc,WAAW,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QACnG,OAAO,iBAAiB,CAAC,OAAO,CAAC,6BAA6B,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;QAC/B,oBAAoB;QACpB,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,wBAAwB,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACrM,wBAAwB;QACxB,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC/E,kCAAkC;QAClC,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;YACxB,IAAI,YAAY,GAAG,UAAU,CAAC,cAAc,IAAI,6BAA6B,CAAC;YAC9E,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,OAAO,CAAC,YAAY,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;YAChF,MAAM,WAAW,GAAG,oBAAoB,OAAO,CAAC,cAAc,WAAW,YAAY,EAAE,CAAC;YACxF,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,OAAO,CAAC,6BAA6B,EAAE,WAAW,CAAC,CAAC;YACvG,OAAO,wBAAwB,CAAC;QAClC,CAAC;QACD,sBAAsB;IACxB,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,eAAuB,EAAE,WAAmB;IAChG,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACxE,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC"}
@@ -10,8 +10,7 @@ import moment from "moment";
10
10
  import { SfError } from "@salesforce/core";
11
11
  import { PACKAGE_ROOT_DIR } from "../../settings.js";
12
12
  import { AiProvider } from "../aiProvider/index.js";
13
- import { XMLParser } from "fast-xml-parser";
14
- import farmhash from "farmhash";
13
+ import { UtilsAi } from "../aiProvider/utils.js";
15
14
  let IS_MERMAID_AVAILABLE = null;
16
15
  export async function isMermaidAvailable() {
17
16
  if (IS_MERMAID_AVAILABLE !== null) {
@@ -177,10 +176,8 @@ ${formatClasses(changedClasses, changed)}
177
176
  }
178
177
  export async function generateFlowVisualGitDiff(flowFile, commitBefore, commitAfter, options = { mermaidMd: false, svgMd: true, pngMd: false, debug: false }) {
179
178
  const result = { outputDiffMdFile: "", hasFlowDiffs: false };
180
- const flowXmlBefore = await git().show([`${commitBefore}:${flowFile}`]);
181
- const mermaidMdBefore = await buildMermaidMarkdown(flowXmlBefore, flowFile);
182
- const flowXmlAfter = await git().show([`${commitAfter}:${flowFile}`]);
183
- const mermaidMdAfter = await buildMermaidMarkdown(flowXmlAfter, flowFile);
179
+ const { mermaidMdBefore, flowXmlBefore } = await getFlowXmlBefore(commitBefore, flowFile);
180
+ const { mermaidMdAfter, flowXmlAfter } = await getFlowXmlAfter(commitAfter, flowFile);
184
181
  const flowLabel = path.basename(flowFile, ".flow-meta.xml");
185
182
  const reportDir = await getReportDirectory();
186
183
  await fs.ensureDir(path.join(reportDir, "flow-diff"));
@@ -211,7 +208,7 @@ export async function generateFlowVisualGitDiff(flowFile, commitBefore, commitAf
211
208
  const linkLines = [];
212
209
  buildFinalCompareMarkdown(mixedLines, compareMdLines, false, false, linkLines);
213
210
  let diffMarkdown = compareMdLines.join("\n");
214
- if (result.hasFlowDiffs === true) {
211
+ if (result.hasFlowDiffs === true && flowXmlAfter !== "" && flowXmlBefore !== "") {
215
212
  diffMarkdown = await completeWithDiffAiDescription(diffMarkdown, flowXmlAfter, flowXmlBefore);
216
213
  }
217
214
  // Write markdown with diff in a file
@@ -242,6 +239,28 @@ export async function generateFlowVisualGitDiff(flowFile, commitBefore, commitAf
242
239
  }
243
240
  return result;
244
241
  }
242
+ async function getFlowXmlAfter(commitAfter, flowFile) {
243
+ try {
244
+ const flowXmlAfter = await git().show([`${commitAfter}:${flowFile}`]);
245
+ const mermaidMdAfter = await buildMermaidMarkdown(flowXmlAfter, flowFile);
246
+ return { mermaidMdAfter, flowXmlAfter };
247
+ }
248
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
249
+ catch (err) {
250
+ return { mermaidMdAfter: "", flowXmlAfter: "" };
251
+ }
252
+ }
253
+ async function getFlowXmlBefore(commitBefore, flowFile) {
254
+ try {
255
+ const flowXmlBefore = await git().show([`${commitBefore}:${flowFile}`]);
256
+ const mermaidMdBefore = await buildMermaidMarkdown(flowXmlBefore, flowFile);
257
+ return { mermaidMdBefore, flowXmlBefore };
258
+ }
259
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
260
+ catch (err) {
261
+ return { mermaidMdBefore: "", flowXmlBefore: "" };
262
+ }
263
+ }
245
264
  function buildFinalCompareMarkdown(mixedLines, compareMdLines, isMermaid, isTableStarted, linkLines) {
246
265
  if (mixedLines.length === 0) {
247
266
  return;
@@ -341,33 +360,35 @@ function buildFinalCompareMarkdown(mixedLines, compareMdLines, isMermaid, isTabl
341
360
  }
342
361
  /* jscpd:ignore-end */
343
362
  // Skip table lines that have not been updated
363
+ /*
344
364
  else if (!isMermaid && styledLine.startsWith("|") && isTableStarted === false) {
345
- isTableStarted = true;
346
- const tableFilteredLines = [];
347
- let endTablePos = 0;
348
- for (const nextLine of mixedLines) {
349
- if ((!nextLine[1].startsWith("|") || nextLine[1].includes("Condition Id") || nextLine[1].includes("Filter Id")) && nextLine[1] !== "") {
350
- break;
351
- }
352
- if ((nextLine[0] === "removed" || nextLine[0] === "added" || endTablePos === 0) && nextLine[1] !== "") {
353
- tableFilteredLines.push(nextLine);
354
- }
355
- endTablePos++;
356
- }
357
- if (tableFilteredLines.length < 2) {
358
- // Empty table
359
- const mixedLinesStartingFromEndOfTable = mixedLines.slice(endTablePos);
360
- buildFinalCompareMarkdown(mixedLinesStartingFromEndOfTable, compareMdLines, isMermaid, false, linkLines);
361
- }
362
- else {
363
- compareMdLines.push(styledLine);
364
- const mixedLinesStartingFromEndOfTable = mixedLines.slice(endTablePos);
365
- const newMixedLines = [...tableFilteredLines, ...[["unchanged", ""]], ...mixedLinesStartingFromEndOfTable];
366
- // Continue processing next lines
367
- buildFinalCompareMarkdown(newMixedLines, compareMdLines, isMermaid, true, linkLines);
368
- }
369
- return;
370
- }
365
+ isTableStarted = true;
366
+ const tableFilteredLines: any[] = [];
367
+ let endTablePos = 0;
368
+ for (const nextLine of mixedLines) {
369
+ if ((!nextLine[1].startsWith("|") || nextLine[1].includes("Condition Id") || nextLine[1].includes("Filter Id")) && nextLine[1] !== "") {
370
+ break;
371
+ }
372
+ if ((nextLine[0] === "removed" || nextLine[0] === "added" || endTablePos === 0) && nextLine[1] !== "") {
373
+ tableFilteredLines.push(nextLine);
374
+ }
375
+ endTablePos++;
376
+ }
377
+ if (tableFilteredLines.length < 2) {
378
+ // Empty table
379
+ const mixedLinesStartingFromEndOfTable = mixedLines.slice(endTablePos);
380
+ buildFinalCompareMarkdown(mixedLinesStartingFromEndOfTable, compareMdLines, isMermaid, false, linkLines);
381
+ }
382
+ else {
383
+ compareMdLines.push(styledLine);
384
+ const mixedLinesStartingFromEndOfTable = mixedLines.slice(endTablePos);
385
+ const newMixedLines = [...tableFilteredLines, ...[["unchanged", ""]], ...mixedLinesStartingFromEndOfTable];
386
+ // Continue processing next lines
387
+ buildFinalCompareMarkdown(newMixedLines, compareMdLines, isMermaid, true, linkLines);
388
+ }
389
+ return;
390
+ }
391
+ */
371
392
  // Tables lines
372
393
  if (!isMermaid && status === "removed" && styledLine.startsWith("|") && !styledLine.startsWith("|:-")) {
373
394
  styledLine = "|🟥" + styledLine.split("|").filter(e => e !== "").map((col) => `<span style="background-color: #ff7f7f; color: black;"><i>${col}</i></span>`).join("|") + "|";
@@ -397,10 +418,10 @@ function buildFinalCompareMarkdown(mixedLines, compareMdLines, isMermaid, isTabl
397
418
  styledLine = `## 🟩${styledLine.replace("## ", "")}`;
398
419
  }
399
420
  // Normal lines
400
- else if (!isMermaid && status === "removed" && styledLine !== "" && !styledLine.startsWith("|:-") && !styledLine.startsWith("___")) {
421
+ else if (!isMermaid && status === "removed" && styledLine !== "" && !styledLine.includes('```') && !styledLine.startsWith("|:-") && !styledLine.startsWith("___")) {
401
422
  styledLine = `<span style="background-color: #ff7f7f; color: black;"><i>🟥${styledLine}</i></span>`;
402
423
  }
403
- else if (!isMermaid && status === "added" && styledLine !== "" && !styledLine.startsWith("|:-") && !styledLine.startsWith("___")) {
424
+ else if (!isMermaid && status === "added" && styledLine !== "" && !styledLine.includes('```') && !styledLine.startsWith("|:-") && !styledLine.startsWith("___")) {
404
425
  styledLine = `<span style="background-color: #a6e22e; color: black;"><b>🟩${styledLine}</b></span>`;
405
426
  }
406
427
  // Boxes lines
@@ -450,7 +471,7 @@ function buildFinalCompareMarkdown(mixedLines, compareMdLines, isMermaid, isTabl
450
471
  /* jscpd:ignore-start */
451
472
  // Long Link lines
452
473
  else if (isMermaid === true && status === "removed" && currentLine.includes('--->')) {
453
- styledLine = styledLine.replace("--->", "--.->"); //+ ":::removedLink"
474
+ styledLine = styledLine.replace("--->", "-.->"); //+ ":::removedLink"
454
475
  linkLines.push("removed");
455
476
  if (styledLine.split("|").length === 3) {
456
477
  const splits = styledLine.split("|");
@@ -616,24 +637,25 @@ export function removeMermaidLinks(messageBody) {
616
637
  return result;
617
638
  }
618
639
  async function completeWithAiDescription(flowMarkdownDoc, flowXml) {
619
- const aiCache = await findAiCache(flowXml);
620
- if (aiCache) {
640
+ const aiCache = await UtilsAi.findAiCache("PROMPT_DESCRIBE_FLOW", [flowXml]);
641
+ if (aiCache.success === true) {
621
642
  uxLog(this, c.grey("Used AI cache for flow description (set IGNORE_AI_CACHE=true to force call to AI)"));
622
- return flowMarkdownDoc.replace("<!-- Flow description -->", aiCache);
643
+ const replaceText = `## AI-Generated Description\n\n<!-- Cache file: ${aiCache.aiCacheDirFile} -->\n\n${aiCache.cacheText || ""}`;
644
+ return flowMarkdownDoc.replace("<!-- Flow description -->", replaceText);
623
645
  }
624
646
  if (AiProvider.isAiAvailable()) {
625
647
  // Invoke AI Service
626
648
  const prompt = AiProvider.buildPrompt("PROMPT_DESCRIBE_FLOW", { "FLOW_XML": flowXml });
627
- const aiResponse = await AiProvider.promptAi(prompt);
649
+ const aiResponse = await AiProvider.promptAi(prompt, "PROMPT_DESCRIBE_FLOW");
628
650
  // Replace description in markdown
629
651
  if (aiResponse?.success) {
630
652
  let responseText = aiResponse.promptResponse || "No AI description available";
631
653
  if (responseText.startsWith("##")) {
632
654
  responseText = responseText.split("\n").slice(1).join("\n");
633
655
  }
634
- const replaceText = "## AI-Generated Description\n\n" + responseText;
656
+ await UtilsAi.writeAiCache("PROMPT_DESCRIBE_FLOW", [flowXml], responseText);
657
+ const replaceText = `## AI-Generated Description\n\n<!-- Cache file: ${aiCache.aiCacheDirFile} -->\n\n${responseText}`;
635
658
  const flowMarkdownDocUpdated = flowMarkdownDoc.replace("<!-- Flow description -->", replaceText);
636
- await writeAiCache(flowXml, "", replaceText);
637
659
  return flowMarkdownDocUpdated;
638
660
  }
639
661
  }
@@ -641,55 +663,29 @@ async function completeWithAiDescription(flowMarkdownDoc, flowXml) {
641
663
  }
642
664
  /* jscpd:ignore-start */
643
665
  async function completeWithDiffAiDescription(flowMarkdownDoc, flowXmlNew, flowXmlPrevious) {
644
- const aiCache = await findAiCache(flowXmlNew, flowXmlPrevious);
645
- if (aiCache) {
666
+ const aiCache = await UtilsAi.findAiCache("PROMPT_DESCRIBE_FLOW_DIFF", [flowXmlNew, flowXmlPrevious]);
667
+ if (aiCache.success) {
646
668
  uxLog(this, c.grey("Used AI cache for diff description (set IGNORE_AI_CACHE=true to force call to AI)"));
647
- return flowMarkdownDoc.replace("<!-- Flow description -->", aiCache);
669
+ const replaceText = `## AI-Generated Differences Summary\n\n<!-- Cache file: ${aiCache.aiCacheDirFile} -->\n\n${aiCache.cacheText || ""}`;
670
+ return flowMarkdownDoc.replace("<!-- Flow description -->", replaceText);
648
671
  }
649
672
  if (AiProvider.isAiAvailable()) {
650
673
  // Invoke AI Service
651
674
  const prompt = AiProvider.buildPrompt("PROMPT_DESCRIBE_FLOW_DIFF", { "FLOW_XML_NEW": flowXmlNew, "FLOW_XML_PREVIOUS": flowXmlPrevious });
652
- const aiResponse = await AiProvider.promptAi(prompt);
675
+ const aiResponse = await AiProvider.promptAi(prompt, "PROMPT_DESCRIBE_FLOW_DIFF");
653
676
  // Replace description in markdown
654
677
  if (aiResponse?.success) {
655
678
  let responseText = aiResponse.promptResponse || "No AI description available";
656
679
  if (responseText.startsWith("##")) {
657
680
  responseText = responseText.split("\n").slice(1).join("\n");
658
681
  }
659
- const replaceText = "## AI-Generated Differences Summary\n\n" + responseText;
682
+ await UtilsAi.writeAiCache("PROMPT_DESCRIBE_FLOW_DIFF", [flowXmlNew, flowXmlPrevious], responseText);
683
+ const replaceText = `## AI-Generated Differences Summary\n\n<!-- Cache file: ${aiCache.aiCacheDirFile} -->\n\n${aiCache.cacheText || ""}`;
660
684
  const flowMarkdownDocUpdated = flowMarkdownDoc.replace("<!-- Flow description -->", replaceText);
661
- await writeAiCache(flowXmlNew, flowXmlPrevious, replaceText);
662
685
  return flowMarkdownDocUpdated;
663
686
  }
664
687
  }
665
688
  return flowMarkdownDoc;
666
689
  }
667
690
  /* jscpd:ignore-end */
668
- async function findAiCache(flowXml1, flowXml2 = "") {
669
- if (process.env?.IGNORE_AI_CACHE === "true") {
670
- return null;
671
- }
672
- const fingerPrint = getFingerPrint(flowXml1, flowXml2);
673
- const flowsAiCacheDirFile = path.join("docs", "flows", "ai-results", fingerPrint + ".md");
674
- if (fs.existsSync(flowsAiCacheDirFile)) {
675
- return await fs.readFile(flowsAiCacheDirFile, "utf8");
676
- }
677
- return null;
678
- }
679
- async function writeAiCache(flowXml1, flowXml2, aiCacheText) {
680
- const fingerPrint = getFingerPrint(flowXml1, flowXml2);
681
- const flowsAiCacheDir = path.join("docs", "flows", "ai-results");
682
- await fs.ensureDir(flowsAiCacheDir);
683
- const flowsAiCacheDirFile = path.join(flowsAiCacheDir, fingerPrint + ".md");
684
- await fs.writeFile(flowsAiCacheDirFile, aiCacheText);
685
- }
686
- function getFingerPrint(flowXml1, flowXml2) {
687
- const flowObj = new XMLParser().parse(flowXml1)?.Flow || "";
688
- let fingerPrint = String(farmhash.fingerprint32(JSON.stringify(flowObj)));
689
- if (flowXml2 !== "") {
690
- const flowObj2 = new XMLParser().parse(flowXml2)?.Flow || "";
691
- fingerPrint += "-" + String(farmhash.fingerprint32(JSON.stringify(flowObj2)));
692
- }
693
- return fingerPrint;
694
- }
695
691
  //# sourceMappingURL=mermaidUtils.js.map