mcp-adr-analysis-server 2.0.3 → 2.0.6

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 (90) hide show
  1. package/dist/src/index.d.ts +28 -0
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +703 -325
  4. package/dist/src/index.js.map +1 -1
  5. package/dist/src/prompts/adr-suggestion-prompts.d.ts +1 -0
  6. package/dist/src/prompts/adr-suggestion-prompts.d.ts.map +1 -1
  7. package/dist/src/prompts/adr-suggestion-prompts.js +14 -6
  8. package/dist/src/prompts/adr-suggestion-prompts.js.map +1 -1
  9. package/dist/src/resources/index.d.ts.map +1 -1
  10. package/dist/src/resources/index.js +31 -15
  11. package/dist/src/resources/index.js.map +1 -1
  12. package/dist/src/tools/adr-suggestion-tool.d.ts +4 -1
  13. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
  14. package/dist/src/tools/adr-suggestion-tool.js +72 -114
  15. package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
  16. package/dist/src/tools/content-masking-tool.d.ts +7 -0
  17. package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
  18. package/dist/src/tools/content-masking-tool.js +134 -17
  19. package/dist/src/tools/content-masking-tool.js.map +1 -1
  20. package/dist/src/tools/deployment-guidance-tool.d.ts +21 -0
  21. package/dist/src/tools/deployment-guidance-tool.d.ts.map +1 -0
  22. package/dist/src/tools/deployment-guidance-tool.js +289 -0
  23. package/dist/src/tools/deployment-guidance-tool.js.map +1 -0
  24. package/dist/src/tools/environment-analysis-tool.d.ts +4 -0
  25. package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
  26. package/dist/src/tools/environment-analysis-tool.js +209 -25
  27. package/dist/src/tools/environment-analysis-tool.js.map +1 -1
  28. package/dist/src/tools/research-question-tool.d.ts +4 -0
  29. package/dist/src/tools/research-question-tool.d.ts.map +1 -1
  30. package/dist/src/tools/research-question-tool.js +42 -4
  31. package/dist/src/tools/research-question-tool.js.map +1 -1
  32. package/dist/src/tools/rule-generation-tool.d.ts +4 -0
  33. package/dist/src/tools/rule-generation-tool.d.ts.map +1 -1
  34. package/dist/src/tools/rule-generation-tool.js +136 -16
  35. package/dist/src/tools/rule-generation-tool.js.map +1 -1
  36. package/dist/src/tools/todo-management-tool.d.ts +166 -0
  37. package/dist/src/tools/todo-management-tool.d.ts.map +1 -0
  38. package/dist/src/tools/todo-management-tool.js +472 -0
  39. package/dist/src/tools/todo-management-tool.js.map +1 -0
  40. package/dist/src/types/conversation-context.d.ts +93 -0
  41. package/dist/src/types/conversation-context.d.ts.map +1 -0
  42. package/dist/src/types/conversation-context.js +101 -0
  43. package/dist/src/types/conversation-context.js.map +1 -0
  44. package/dist/src/utils/actual-file-operations.d.ts +40 -0
  45. package/dist/src/utils/actual-file-operations.d.ts.map +1 -0
  46. package/dist/src/utils/actual-file-operations.js +309 -0
  47. package/dist/src/utils/actual-file-operations.js.map +1 -0
  48. package/dist/src/utils/adr-discovery.d.ts +36 -0
  49. package/dist/src/utils/adr-discovery.d.ts.map +1 -0
  50. package/dist/src/utils/adr-discovery.js +237 -0
  51. package/dist/src/utils/adr-discovery.js.map +1 -0
  52. package/dist/src/utils/adr-suggestions.d.ts +2 -1
  53. package/dist/src/utils/adr-suggestions.d.ts.map +1 -1
  54. package/dist/src/utils/adr-suggestions.js +8 -2
  55. package/dist/src/utils/adr-suggestions.js.map +1 -1
  56. package/dist/src/utils/apply-cot-enhancement.d.ts +46 -0
  57. package/dist/src/utils/apply-cot-enhancement.d.ts.map +1 -0
  58. package/dist/src/utils/apply-cot-enhancement.js +165 -0
  59. package/dist/src/utils/apply-cot-enhancement.js.map +1 -0
  60. package/dist/src/utils/chain-of-thought-template.d.ts +48 -0
  61. package/dist/src/utils/chain-of-thought-template.d.ts.map +1 -0
  62. package/dist/src/utils/chain-of-thought-template.js +191 -0
  63. package/dist/src/utils/chain-of-thought-template.js.map +1 -0
  64. package/dist/src/utils/deployment-analysis.d.ts +1 -0
  65. package/dist/src/utils/deployment-analysis.d.ts.map +1 -1
  66. package/dist/src/utils/deployment-analysis.js +82 -39
  67. package/dist/src/utils/deployment-analysis.js.map +1 -1
  68. package/dist/src/utils/environment-analysis.d.ts +6 -1
  69. package/dist/src/utils/environment-analysis.d.ts.map +1 -1
  70. package/dist/src/utils/environment-analysis.js +176 -87
  71. package/dist/src/utils/environment-analysis.js.map +1 -1
  72. package/dist/src/utils/file-system.d.ts +1 -0
  73. package/dist/src/utils/file-system.d.ts.map +1 -1
  74. package/dist/src/utils/file-system.js +24 -47
  75. package/dist/src/utils/file-system.js.map +1 -1
  76. package/dist/src/utils/prompt-execution.d.ts.map +1 -1
  77. package/dist/src/utils/prompt-execution.js +67 -3
  78. package/dist/src/utils/prompt-execution.js.map +1 -1
  79. package/dist/src/utils/research-integration.d.ts +4 -0
  80. package/dist/src/utils/research-integration.d.ts.map +1 -1
  81. package/dist/src/utils/research-integration.js +275 -84
  82. package/dist/src/utils/research-integration.js.map +1 -1
  83. package/dist/src/utils/research-questions.d.ts.map +1 -1
  84. package/dist/src/utils/research-questions.js +134 -38
  85. package/dist/src/utils/research-questions.js.map +1 -1
  86. package/dist/src/utils/rule-generation.d.ts +2 -1
  87. package/dist/src/utils/rule-generation.d.ts.map +1 -1
  88. package/dist/src/utils/rule-generation.js +65 -36
  89. package/dist/src/utils/rule-generation.js.map +1 -1
  90. package/package.json +5 -5
@@ -15,6 +15,7 @@ export async function suggestAdrs(args) {
15
15
  const { projectPath = process.cwd(), analysisType = 'comprehensive', beforeCode, afterCode, changeDescription, commitMessages, existingAdrs, enhancedMode = true, // Default to enhanced mode
16
16
  learningEnabled = true, // Default to learning enabled
17
17
  knowledgeEnhancement = true, // Default to knowledge enhancement
18
+ conversationContext, // Context from calling LLM
18
19
  } = args;
19
20
  try {
20
21
  const { analyzeImplicitDecisions, analyzeCodeChanges } = await import('../utils/adr-suggestions.js');
@@ -48,7 +49,7 @@ export async function suggestAdrs(args) {
48
49
  if (learningEnabled) {
49
50
  try {
50
51
  const reflexionConfig = createToolReflexionConfig('suggest_adrs');
51
- const baseResult = await analyzeImplicitDecisions(projectPath, existingAdrs);
52
+ const baseResult = await analyzeImplicitDecisions(projectPath, existingAdrs, conversationContext);
52
53
  const reflexionResult = await executeWithReflexion({
53
54
  prompt: baseResult.analysisPrompt + knowledgeContext,
54
55
  instructions: baseResult.instructions,
@@ -65,12 +66,12 @@ export async function suggestAdrs(args) {
65
66
  }
66
67
  catch (error) {
67
68
  console.error('[WARNING] Reflexion enhancement failed:', error);
68
- const result = await analyzeImplicitDecisions(projectPath, existingAdrs);
69
+ const result = await analyzeImplicitDecisions(projectPath, existingAdrs, conversationContext);
69
70
  enhancedPrompt = result.analysisPrompt + knowledgeContext;
70
71
  }
71
72
  }
72
73
  else {
73
- const result = await analyzeImplicitDecisions(projectPath, existingAdrs);
74
+ const result = await analyzeImplicitDecisions(projectPath, existingAdrs, conversationContext);
74
75
  enhancedPrompt = result.analysisPrompt + knowledgeContext;
75
76
  enhancementInfo = `
76
77
  ## Enhancement Status
@@ -81,7 +82,7 @@ export async function suggestAdrs(args) {
81
82
  }
82
83
  }
83
84
  else {
84
- const result = await analyzeImplicitDecisions(projectPath, existingAdrs);
85
+ const result = await analyzeImplicitDecisions(projectPath, existingAdrs, conversationContext);
85
86
  enhancedPrompt = result.analysisPrompt;
86
87
  enhancementInfo = `
87
88
  ## Enhancement Status
@@ -90,7 +91,7 @@ export async function suggestAdrs(args) {
90
91
 
91
92
  `;
92
93
  }
93
- const baseResult = await analyzeImplicitDecisions(projectPath, existingAdrs);
94
+ const baseResult = await analyzeImplicitDecisions(projectPath, existingAdrs, conversationContext);
94
95
  return {
95
96
  content: [
96
97
  {
@@ -292,7 +293,7 @@ ${memoryResult.prompt}
292
293
  }
293
294
  }
294
295
  // Step 3: Get the base analysis
295
- const implicitResult = await analyzeImplicitDecisions(projectPath, existingAdrs);
296
+ const implicitResult = await analyzeImplicitDecisions(projectPath, existingAdrs, conversationContext);
296
297
  // Step 4: Apply Reflexion execution if learning is enabled
297
298
  if (learningEnabled) {
298
299
  try {
@@ -575,112 +576,80 @@ ${writeFilePrompt.prompt}
575
576
  }
576
577
  }
577
578
  /**
578
- * Generate prompt for AI to discover existing ADRs in the project
579
+ * Discover existing ADRs in the project using internal file system tools
579
580
  */
580
581
  export async function discoverExistingAdrs(args) {
581
- const { adrDirectory = 'docs/adrs', includeContent = false } = args;
582
- // Create the discovery prompt
583
- const discoveryPrompt = `
584
- # ADR Discovery Request
585
-
586
- Please scan the project directory **${adrDirectory}** to discover existing ADRs.
587
-
588
- ## Discovery Tasks
589
-
590
- 1. **Directory Scanning**
591
- - Use file system tools to list all files in \`${adrDirectory}\`
592
- - Look for files with \`.md\` extension
593
- - Check for common ADR naming patterns (e.g., \`ADR-001-\`, \`001-\`, etc.)
594
-
595
- 2. **Content Analysis** ${includeContent ? '(with content)' : '(metadata only)'}
596
- - Read each ADR file to extract metadata
597
- - Identify title, status, date, and key information
598
- - ${includeContent ? 'Extract full content for analysis' : 'Focus on headers and metadata'}
599
-
600
- 3. **ADR Inventory Generation**
601
- - Create a list of all discovered ADRs
602
- - Extract titles, statuses, and dates
603
- - Generate a summary of the ADR collection
604
-
605
- ## Search Patterns
606
-
607
- Look for files matching these patterns:
608
- - \`${adrDirectory}/**/*.md\`
609
- - Files starting with numbers (e.g., \`001-\`, \`0001-\`)
610
- - Files containing "ADR" in the name
611
- - Files with architectural decision keywords
612
-
613
- ## Alternative Locations
614
-
615
- If no ADRs are found in \`${adrDirectory}\`, also check:
616
- - \`docs/\` directory
617
- - \`documentation/\` directory
618
- - \`decisions/\` directory
619
- - Root directory for isolated ADR files
582
+ const { adrDirectory = 'docs/adrs', includeContent = false, projectPath = process.cwd() } = args;
583
+ try {
584
+ // Use the new ADR discovery utility
585
+ const { discoverAdrsInDirectory } = await import('../utils/adr-discovery.js');
586
+ const discoveryResult = await discoverAdrsInDirectory(adrDirectory, includeContent, projectPath);
587
+ // Format the results for MCP response
588
+ return {
589
+ content: [
590
+ {
591
+ type: 'text',
592
+ text: `# ADR Discovery Results
620
593
 
621
- ## Output Format
594
+ ## Discovery Summary
595
+ - **Directory**: ${discoveryResult.directory}
596
+ - **Total ADRs Found**: ${discoveryResult.totalAdrs}
597
+ - **Include Content**: ${includeContent ? 'Yes' : 'No (metadata only)'}
622
598
 
623
- Provide findings in JSON format with:
624
- - discoveryResults: directory, totalAdrs, adrs array
625
- - summary: byStatus and byCategory breakdowns
626
- - recommendations: next steps based on discovered ADRs
627
- `;
628
- const instructions = `
629
- # ADR Discovery Instructions
599
+ ## Discovered ADRs
600
+
601
+ ${discoveryResult.adrs.length > 0 ?
602
+ discoveryResult.adrs.map(adr => `
603
+ ### ${adr.title}
604
+ - **File**: ${adr.filename}
605
+ - **Status**: ${adr.status}
606
+ - **Date**: ${adr.date || 'Not specified'}
607
+ - **Path**: ${adr.path}
608
+ ${adr.metadata?.number ? `- **Number**: ${adr.metadata.number}` : ''}
609
+ ${adr.metadata?.category ? `- **Category**: ${adr.metadata.category}` : ''}
610
+ ${adr.metadata?.tags?.length ? `- **Tags**: ${adr.metadata.tags.join(', ')}` : ''}
611
+ ${includeContent && adr.content ? `
612
+
613
+ #### Content Preview
614
+ \`\`\`markdown
615
+ ${adr.content.slice(0, 500)}${adr.content.length > 500 ? '...' : ''}
616
+ \`\`\`
617
+ ` : ''}
618
+ `).join('\n')
619
+ : 'No ADRs found in the specified directory.'}
630
620
 
631
- 1. **Scan Directory**: Use file system tools to scan ${adrDirectory}
632
- 2. **Identify ADRs**: Look for markdown files with ADR patterns
633
- 3. **Extract Metadata**: Get title, status, date from each ADR
634
- 4. **Generate Summary**: Create categorized summary of findings
635
- 5. **Provide Recommendations**: Suggest next steps based on discovery
621
+ ## Summary Statistics
636
622
 
637
- ## Expected Output
623
+ ### By Status
624
+ ${Object.entries(discoveryResult.summary.byStatus)
625
+ .map(([status, count]) => `- **${status}**: ${count}`)
626
+ .join('\n') || 'No status information available'}
638
627
 
639
- Return a comprehensive JSON object with discovery results, summary statistics, and actionable recommendations.
640
- `;
641
- // Execute the ADR discovery with AI if enabled, otherwise return prompt
642
- const { executePromptWithFallback, formatMCPResponse } = await import('../utils/prompt-execution.js');
643
- const executionResult = await executePromptWithFallback(discoveryPrompt, instructions, {
644
- temperature: 0.1,
645
- maxTokens: 4000,
646
- systemPrompt: `You are an expert in architectural documentation analysis and file system operations.
647
- Scan the specified directory to discover existing ADRs and provide comprehensive analysis.
648
- Focus on extracting accurate metadata and providing actionable insights about the ADR collection.
649
- Use appropriate file system tools to scan directories and read file contents.`,
650
- responseFormat: 'text'
651
- });
652
- if (executionResult.isAIGenerated) {
653
- // AI execution successful - return actual ADR discovery results
654
- return formatMCPResponse({
655
- ...executionResult,
656
- content: `# ADR Discovery Results
657
-
658
- ## Discovery Information
659
- - **ADR Directory**: ${adrDirectory}
660
- - **Include Content**: ${includeContent ? 'Yes' : 'No (metadata only)'}
628
+ ### By Category
629
+ ${Object.entries(discoveryResult.summary.byCategory)
630
+ .map(([category, count]) => `- **${category}**: ${count}`)
631
+ .join('\n') || 'No category information available'}
661
632
 
662
- ## AI Discovery Results
633
+ ## Recommendations
663
634
 
664
- ${executionResult.content}
635
+ ${discoveryResult.recommendations.map(rec => `- ${rec}`).join('\n')}
665
636
 
666
637
  ## Next Steps
667
638
 
668
- Based on the discovered ADRs:
639
+ Based on the discovered ADRs, you can:
669
640
 
670
- 1. **Review ADR Collection**: Examine the discovered ADRs for completeness
671
- 2. **Identify Gaps**: Look for missing architectural decisions
672
- 3. **Update Outdated ADRs**: Review and update deprecated or outdated decisions
673
- 4. **Generate New ADRs**: Use discovered patterns to suggest new ADRs
674
- 5. **Create ADR Index**: Maintain an up-to-date catalog of all ADRs
641
+ 1. **Analyze for Missing Decisions**: Use the \`suggest_adrs\` tool with the discovered ADR titles
642
+ 2. **Generate Implementation TODOs**: Use the \`generate_adr_todo\` tool
643
+ 3. **Create New ADRs**: Use the \`generate_adr_from_decision\` tool for new decisions
675
644
 
676
- ## Integration Commands
645
+ ### Example Commands
677
646
 
678
647
  To suggest new ADRs based on discovered ones:
679
648
  \`\`\`json
680
649
  {
681
650
  "tool": "suggest_adrs",
682
651
  "args": {
683
- "existingAdrs": ["list of discovered ADR titles"],
652
+ "existingAdrs": ${JSON.stringify(discoveryResult.adrs.map(adr => adr.title))},
684
653
  "analysisType": "comprehensive"
685
654
  }
686
655
  }
@@ -696,32 +665,21 @@ To generate a todo list from discovered ADRs:
696
665
  }
697
666
  }
698
667
  \`\`\`
699
- `,
700
- });
701
- }
702
- else {
703
- // Fallback to prompt-only mode
704
- return {
705
- content: [
706
- {
707
- type: 'text',
708
- text: `# ADR Discovery: AI-Driven Scan
709
-
710
- ## Instructions for AI Agent
711
668
 
712
- Please scan the project directory **${adrDirectory}** to discover existing ADRs.
669
+ ## Raw Discovery Data
713
670
 
714
- ${discoveryPrompt}
671
+ For programmatic use, the raw discovery data is:
715
672
 
716
- ${instructions}
717
-
718
- ## Next Steps
719
-
720
- After discovery, use the results with other ADR tools for comprehensive analysis.
721
- `,
722
- },
723
- ],
673
+ \`\`\`json
674
+ ${JSON.stringify(discoveryResult, null, 2)}
675
+ \`\`\`
676
+ `
677
+ }
678
+ ]
724
679
  };
725
680
  }
681
+ catch (error) {
682
+ throw new McpAdrError(`Failed to discover ADRs: ${error instanceof Error ? error.message : String(error)}`, 'DISCOVERY_ERROR');
683
+ }
726
684
  }
727
685
  //# sourceMappingURL=adr-suggestion-tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adr-suggestion-tool.js","sourceRoot":"","sources":["../../../src/tools/adr-suggestion-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adr-suggestion-tool.js","sourceRoot":"","sources":["../../../src/tools/adr-suggestion-tool.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,22 @@
1
1
  /**
2
2
  * MCP Tool for content masking and sensitive information detection
3
3
  * Implements prompt-driven security analysis
4
+ * Enhanced with Generated Knowledge Prompting (GKP) for security and privacy expertise
4
5
  */
5
6
  /**
6
7
  * Analyze content for sensitive information
8
+ * Enhanced with Generated Knowledge Prompting for security and privacy expertise
7
9
  */
8
10
  export declare function analyzeContentSecurity(args: {
9
11
  content: string;
10
12
  contentType?: 'code' | 'documentation' | 'configuration' | 'logs' | 'general';
11
13
  userDefinedPatterns?: string[];
14
+ knowledgeEnhancement?: boolean;
15
+ enhancedMode?: boolean;
12
16
  }): Promise<any>;
13
17
  /**
14
18
  * Generate masking instructions for detected sensitive content
19
+ * Enhanced with Generated Knowledge Prompting for security and privacy expertise
15
20
  */
16
21
  export declare function generateContentMasking(args: {
17
22
  content: string;
@@ -27,6 +32,8 @@ export declare function generateContentMasking(args: {
27
32
  suggestedMask?: string;
28
33
  }>;
29
34
  maskingStrategy?: 'full' | 'partial' | 'placeholder' | 'environment';
35
+ knowledgeEnhancement?: boolean;
36
+ enhancedMode?: boolean;
30
37
  }): Promise<any>;
31
38
  /**
32
39
  * Configure custom sensitive patterns for a project
@@ -1 +1 @@
1
- {"version":3,"file":"content-masking-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/content-masking-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9E,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,GAAG,OAAO,CAAC,GAAG,CAAC,CA2Ef;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC;CACtE,GAAG,OAAO,CAAC,GAAG,CAAC,CAwGf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,GAAG,OAAO,CAAC,GAAG,CAAC,CAgFf;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC;CACtD,GAAG,OAAO,CAAC,GAAG,CAAC,CAuDf;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,GAAG,CAAC,CA2Df"}
1
+ {"version":3,"file":"content-masking-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/content-masking-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9E,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,GAAG,CAAC,CAuHf;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC;IACrE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,GAAG,CAAC,CA4Gf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,GAAG,OAAO,CAAC,GAAG,CAAC,CA6Jf;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC;CACtD,GAAG,OAAO,CAAC,GAAG,CAAC,CAuDf;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,GAAG,CAAC,CA2Df"}
@@ -1,38 +1,78 @@
1
1
  /**
2
2
  * MCP Tool for content masking and sensitive information detection
3
3
  * Implements prompt-driven security analysis
4
+ * Enhanced with Generated Knowledge Prompting (GKP) for security and privacy expertise
4
5
  */
5
6
  import { McpAdrError } from '../types/index.js';
6
7
  /**
7
8
  * Analyze content for sensitive information
9
+ * Enhanced with Generated Knowledge Prompting for security and privacy expertise
8
10
  */
9
11
  export async function analyzeContentSecurity(args) {
10
- const { content, contentType = 'general', userDefinedPatterns } = args;
12
+ const { content, contentType = 'general', userDefinedPatterns, knowledgeEnhancement = true, // Default to GKP enabled
13
+ enhancedMode = true // Default to enhanced mode
14
+ } = args;
11
15
  try {
12
16
  const { analyzeSensitiveContent } = await import('../utils/content-masking.js');
13
17
  if (!content || content.trim().length === 0) {
14
18
  throw new McpAdrError('Content is required for security analysis', 'INVALID_INPUT');
15
19
  }
20
+ let enhancedPrompt = '';
21
+ let knowledgeContext = '';
22
+ // Generate security and privacy knowledge if enabled
23
+ if (enhancedMode && knowledgeEnhancement) {
24
+ try {
25
+ const { generateArchitecturalKnowledge } = await import('../utils/knowledge-generation.js');
26
+ const knowledgeResult = await generateArchitecturalKnowledge({
27
+ projectPath: process.cwd(),
28
+ technologies: [],
29
+ patterns: [],
30
+ projectType: 'security-content-analysis'
31
+ }, {
32
+ domains: ['security-patterns'],
33
+ depth: 'intermediate',
34
+ cacheEnabled: true
35
+ });
36
+ knowledgeContext = `\n## Security & Privacy Knowledge Enhancement\n\n${knowledgeResult.prompt}\n\n---\n`;
37
+ }
38
+ catch (error) {
39
+ console.error('[WARNING] GKP knowledge generation failed for content security analysis:', error);
40
+ knowledgeContext = '<!-- Security knowledge generation unavailable -->\n';
41
+ }
42
+ }
16
43
  const result = await analyzeSensitiveContent(content, contentType, userDefinedPatterns);
44
+ enhancedPrompt = knowledgeContext + result.analysisPrompt;
17
45
  // Execute the security analysis with AI if enabled, otherwise return prompt
18
46
  const { executePromptWithFallback, formatMCPResponse } = await import('../utils/prompt-execution.js');
19
- const executionResult = await executePromptWithFallback(result.analysisPrompt, result.instructions, {
47
+ const executionResult = await executePromptWithFallback(enhancedPrompt, result.instructions, {
20
48
  temperature: 0.1,
21
49
  maxTokens: 4000,
22
50
  systemPrompt: `You are a cybersecurity expert specializing in sensitive information detection.
23
51
  Analyze the provided content to identify potential security risks, secrets, and sensitive data.
52
+ Leverage the provided cybersecurity and data privacy knowledge to create comprehensive, industry-standard analysis.
24
53
  Provide detailed findings with confidence scores and practical remediation recommendations.
25
- Focus on actionable security insights that can prevent data exposure.`,
54
+ Consider regulatory compliance requirements, data classification standards, and modern security practices.
55
+ Focus on actionable security insights that can prevent data exposure and ensure compliance.`,
26
56
  responseFormat: 'text'
27
57
  });
28
58
  if (executionResult.isAIGenerated) {
29
59
  // AI execution successful - return actual security analysis results
30
60
  return formatMCPResponse({
31
61
  ...executionResult,
32
- content: `# Content Security Analysis Results
62
+ content: `# Content Security Analysis Results (GKP Enhanced)
63
+
64
+ ## Enhancement Features
65
+ - **Generated Knowledge Prompting**: ${knowledgeEnhancement ? '✅ Enabled' : '❌ Disabled'}
66
+ - **Enhanced Mode**: ${enhancedMode ? '✅ Enabled' : '❌ Disabled'}
67
+ - **Knowledge Domains**: Cybersecurity, data privacy, regulatory compliance, secret management
33
68
 
34
69
  ## Analysis Information
35
70
  - **Content Type**: ${contentType}
71
+
72
+ ${knowledgeContext ? `## Applied Security Knowledge
73
+
74
+ ${knowledgeContext}
75
+ ` : ''}
36
76
  - **Content Length**: ${content.length} characters
37
77
  - **User-Defined Patterns**: ${userDefinedPatterns?.length || 0} patterns
38
78
 
@@ -62,7 +102,7 @@ To apply masking to identified sensitive content, use the \`generate_content_mas
62
102
  content: [
63
103
  {
64
104
  type: 'text',
65
- text: `# Sensitive Content Analysis\n\n${result.instructions}\n\n## AI Analysis Prompt\n\n${result.analysisPrompt}`,
105
+ text: `# Sensitive Content Analysis (GKP Enhanced)\n\n## Enhancement Status\n- **Generated Knowledge Prompting**: ${knowledgeEnhancement ? '\u2705 Applied' : '\u274c Disabled'}\n- **Enhanced Mode**: ${enhancedMode ? '\u2705 Applied' : '\u274c Disabled'}\n\n${knowledgeContext ? `## Security Knowledge Context\n\n${knowledgeContext}\n` : ''}\n\n${result.instructions}\n\n## Enhanced AI Analysis Prompt\n\n${enhancedPrompt}`,
66
106
  },
67
107
  ],
68
108
  };
@@ -74,6 +114,7 @@ To apply masking to identified sensitive content, use the \`generate_content_mas
74
114
  }
75
115
  /**
76
116
  * Generate masking instructions for detected sensitive content
117
+ * Enhanced with Generated Knowledge Prompting for security and privacy expertise
77
118
  */
78
119
  export async function generateContentMasking(args) {
79
120
  const { content, detectedItems, maskingStrategy = 'full' } = args;
@@ -174,21 +215,55 @@ The applied masking provides:
174
215
  export async function configureCustomPatterns(args) {
175
216
  const { projectPath, existingPatterns } = args;
176
217
  try {
177
- const { analyzeProjectStructure } = await import('../utils/file-system.js');
178
- // Generate project analysis prompt for AI delegation
179
- const projectAnalysisPrompt = await analyzeProjectStructure(projectPath);
218
+ // Use actual file operations to scan project structure
219
+ const { scanProjectStructure } = await import('../utils/actual-file-operations.js');
220
+ // Actually scan project structure
221
+ const projectStructure = await scanProjectStructure(projectPath, { readContent: true, maxFileSize: 10000 });
180
222
  const customPatternPrompt = `
181
223
  # Custom Pattern Configuration Generation
182
224
 
183
- Please analyze the project structure and generate custom content masking patterns.
225
+ Based on actual project structure analysis, here are the findings:
184
226
 
185
- ## Project Analysis Instructions
227
+ ## Project Structure
228
+ - **Root Path**: ${projectStructure.rootPath}
229
+ - **Total Files**: ${projectStructure.totalFiles}
230
+ - **Directories**: ${projectStructure.directories.join(', ')}
186
231
 
187
- ${projectAnalysisPrompt.prompt}
232
+ ## Package Management Files
233
+ ${projectStructure.packageFiles.length > 0 ?
234
+ projectStructure.packageFiles.map(f => `
235
+ ### ${f.filename}
236
+ \`\`\`
237
+ ${f.content.slice(0, 500)}${f.content.length > 500 ? '\n... (truncated)' : ''}
238
+ \`\`\`
239
+ `).join('\n') : '- No package files found'}
188
240
 
189
- ## Implementation Steps
241
+ ## Environment Configuration Files
242
+ ${projectStructure.environmentFiles.length > 0 ?
243
+ projectStructure.environmentFiles.map(f => `
244
+ ### ${f.filename}
245
+ \`\`\`
246
+ ${f.content.slice(0, 300)}${f.content.length > 300 ? '\n... (truncated)' : ''}
247
+ \`\`\`
248
+ `).join('\n') : '- No environment files found'}
190
249
 
191
- ${projectAnalysisPrompt.instructions}
250
+ ## Configuration Files
251
+ ${projectStructure.configFiles.length > 0 ?
252
+ projectStructure.configFiles.map(f => `
253
+ ### ${f.filename}
254
+ \`\`\`
255
+ ${f.content.slice(0, 300)}${f.content.length > 300 ? '\n... (truncated)' : ''}
256
+ \`\`\`
257
+ `).join('\n') : '- No config files found'}
258
+
259
+ ## Script Files
260
+ ${projectStructure.scriptFiles.length > 0 ?
261
+ projectStructure.scriptFiles.map(f => `
262
+ ### ${f.filename}
263
+ \`\`\`
264
+ ${f.content.slice(0, 400)}${f.content.length > 400 ? '\n... (truncated)' : ''}
265
+ \`\`\`
266
+ `).join('\n') : '- No script files found'}
192
267
 
193
268
  ## Existing Patterns Context
194
269
 
@@ -201,8 +276,8 @@ ${existingPatterns.map((pattern, index) => `
201
276
 
202
277
  ## Pattern Generation Requirements
203
278
 
204
- 1. **Analyze project-specific content types** that need masking
205
- 2. **Identify sensitive data patterns** in code and documentation
279
+ 1. **Analyze project-specific content types** that need masking based on actual file content
280
+ 2. **Identify sensitive data patterns** in code and documentation shown above
206
281
  3. **Generate regex patterns** for consistent content masking
207
282
  4. **Create appropriate replacements** that maintain context
208
283
  5. **Ensure patterns don't conflict** with existing ones
@@ -226,11 +301,53 @@ Please provide custom pattern configuration in JSON format:
226
301
  "conflicts": ["any", "potential", "conflicts"]
227
302
  }
228
303
  \`\`\`
304
+ `;
305
+ const instructions = `
306
+ # Custom Pattern Configuration Instructions
307
+
308
+ This analysis provides **actual project file contents** for comprehensive pattern generation.
309
+
310
+ ## Analysis Scope
311
+ - **Project Path**: ${projectPath}
312
+ - **Package Files**: ${projectStructure.packageFiles.length} found
313
+ - **Environment Files**: ${projectStructure.environmentFiles.length} found
314
+ - **Config Files**: ${projectStructure.configFiles.length} found
315
+ - **Script Files**: ${projectStructure.scriptFiles.length} found
316
+ - **Total Files Analyzed**: ${projectStructure.totalFiles}
317
+ - **Existing Patterns**: ${existingPatterns?.length || 0} patterns
318
+
319
+ ## Next Steps
320
+ 1. **Submit the configuration prompt** to an AI agent for pattern analysis
321
+ 2. **Parse the JSON response** to get custom patterns and recommendations
322
+ 3. **Review generated patterns** for accuracy and completeness
323
+ 4. **Implement patterns** in the content masking system
324
+
325
+ ## Expected AI Response Format
326
+ The AI will return a JSON object with:
327
+ - \`patterns\`: Array of custom pattern configurations
328
+ - \`recommendations\`: Best practices and implementation guidance
329
+ - \`conflicts\`: Potential conflicts with existing patterns
330
+
331
+ ## Usage Example
332
+ \`\`\`typescript
333
+ const result = await configureCustomPatterns({ projectPath, existingPatterns });
334
+ // Submit result.configurationPrompt to AI agent
335
+ // Parse AI response for custom pattern configuration
336
+ \`\`\`
229
337
  `;
230
338
  const result = {
231
339
  configurationPrompt: customPatternPrompt,
232
- instructions: projectAnalysisPrompt.instructions,
233
- context: projectAnalysisPrompt.context
340
+ instructions,
341
+ actualData: {
342
+ projectStructure,
343
+ summary: {
344
+ totalFiles: projectStructure.totalFiles,
345
+ packageFiles: projectStructure.packageFiles.length,
346
+ environmentFiles: projectStructure.environmentFiles.length,
347
+ configFiles: projectStructure.configFiles.length,
348
+ scriptFiles: projectStructure.scriptFiles.length
349
+ }
350
+ }
234
351
  };
235
352
  return {
236
353
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"content-masking-tool.js","sourceRoot":"","sources":["../../../src/tools/content-masking-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAI5C;IACC,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,SAAS,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;IAEvE,IAAI,CAAC;QACH,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAEhF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,WAAW,CAAC,2CAA2C,EAAE,eAAe,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAExF,4EAA4E;QAC5E,MAAM,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;QACtG,MAAM,eAAe,GAAG,MAAM,yBAAyB,CACrD,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,YAAY,EACnB;YACE,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,IAAI;YACf,YAAY,EAAE;;;sEAGgD;YAC9D,cAAc,EAAE,MAAM;SACvB,CACF,CAAC;QAEF,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;YAClC,oEAAoE;YACpE,OAAO,iBAAiB,CAAC;gBACvB,GAAG,eAAe;gBAClB,OAAO,EAAE;;;sBAGK,WAAW;wBACT,OAAO,CAAC,MAAM;+BACP,mBAAmB,EAAE,MAAM,IAAI,CAAC;;;;EAI7D,eAAe,CAAC,OAAO;;;;;;;;;;;;;;;CAexB;aACM,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mCAAmC,MAAM,CAAC,YAAY,gCAAgC,MAAM,CAAC,cAAc,EAAE;qBACpH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC/F,gBAAgB,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAc5C;IACC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,EAAE,2BAA2B,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAEpF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,WAAW,CAAC,iCAAiC,EAAE,eAAe,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,gEAAgE;qBACvE;iBACF;aACF,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;YACpC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,GAAG;YAClC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,wBAAwB;YACrD,QAAQ,EAAE,IAAI,CAAC,QAAkD;YACjE,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,YAAY;SAClD,CAAC,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;QAE3F,0EAA0E;QAC1E,MAAM,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;QACtG,MAAM,eAAe,GAAG,MAAM,yBAAyB,CACrD,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,YAAY,EACnB;YACE,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,IAAI;YACf,YAAY,EAAE;;;kFAG4D;YAC1E,cAAc,EAAE,MAAM;SACvB,CACF,CAAC;QAEF,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;YAClC,kEAAkE;YAClE,OAAO,iBAAiB,CAAC;gBACvB,GAAG,eAAe;gBAClB,OAAO,EAAE;;;wBAGO,OAAO,CAAC,MAAM;wBACd,aAAa,CAAC,MAAM;0BAClB,eAAe;;;;EAIvC,eAAe,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;CAoBxB;aACM,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qCAAqC,MAAM,CAAC,YAAY,+BAA+B,MAAM,CAAC,aAAa,EAAE;qBACpH;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,4CAA4C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACpG,eAAe,CAChB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAG7C;IACC,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAE5E,qDAAqD;QACrD,MAAM,qBAAqB,GAAG,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAEzE,MAAM,mBAAmB,GAAG;;;;;;;EAO9B,qBAAqB,CAAC,MAAM;;;;EAI5B,qBAAqB,CAAC,YAAY;;;;EAIlC,gBAAgB,CAAC,CAAC,CAAC;wBACG,gBAAgB,CAAC,MAAM;EAC7C,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;OACpC,KAAK,GAAG,CAAC,KAAK,OAAO;CAC3B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;CACV,CAAC,CAAC,CAAC,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BnC,CAAC;QAEE,MAAM,MAAM,GAAG;YACb,mBAAmB,EAAE,mBAAmB;YACxC,YAAY,EAAE,qBAAqB,CAAC,YAAY;YAChD,OAAO,EAAE,qBAAqB,CAAC,OAAO;SACvC,CAAC;QAEF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qCAAqC,MAAM,CAAC,YAAY,qCAAqC,MAAM,CAAC,mBAAmB,EAAE;iBAChI;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,wCAAwC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAChG,qBAAqB,CACtB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAG9C;IACC,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAE3F,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,WAAW,CAAC,iCAAiC,EAAE,eAAe,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAE3D,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;;EAGd,eAAe;;;EAGf,OAAO,CAAC,MAAM;;;;EAId,aAAa;;;;wBAIS,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;kBACjD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;;EAGrD,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;wBAC1B,CAAC,CAAC;EACJ,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBACvD,CAAC,CAAC,sBACN;;;;;;CAMC;iBACQ;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC1F,eAAe,CAChB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAG5C;IACC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAExE,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,MAAM,IAAI,WAAW,CAAC,+CAA+C,EAAE,eAAe,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAEnE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;;wBAGQ,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;kBACjD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;;;yBAG9B,eAAe,CAAC,MAAM;uBACxB,aAAa,CAAC,MAAM;qBACtB,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;EAGzF,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;wBAC1B,CAAC,CAAC;EACJ,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;iEAKQ;wBAC7D,CAAC,CAAC,wBACN;;;EAIE,UAAU,CAAC,aAAa,IAAI,GAAG;wBAC7B,CAAC,CAAC,yDAAyD;wBAC3D,CAAC,CAAC,UAAU,CAAC,aAAa,IAAI,GAAG;4BAC/B,CAAC,CAAC,wDAAwD;4BAC1D,CAAC,CAAC,UAAU,CAAC,aAAa,IAAI,GAAG;gCAC/B,CAAC,CAAC,8DAA8D;gCAChE,CAAC,CAAC,0DACV;CACC;iBACQ;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACvF,kBAAkB,CACnB,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"content-masking-tool.js","sourceRoot":"","sources":["../../../src/tools/content-masking-tool.ts"],"names":[],"mappings":"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"}