@sfdxy/mule-lint 1.18.0 → 1.19.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/README.md +154 -150
- package/dist/bin/mule-lint-mcp.js.map +1 -1
- package/dist/bin/mule-lint.js +4 -3
- package/dist/bin/mule-lint.js.map +1 -1
- package/dist/package.json +26 -15
- package/dist/src/core/ComplexityCalculator.d.ts.map +1 -1
- package/dist/src/core/ComplexityCalculator.js.map +1 -1
- package/dist/src/core/FileScanner.d.ts.map +1 -1
- package/dist/src/core/FileScanner.js.map +1 -1
- package/dist/src/core/MetricsAggregator.d.ts.map +1 -1
- package/dist/src/core/MetricsAggregator.js.map +1 -1
- package/dist/src/core/MetricsCollector.d.ts.map +1 -1
- package/dist/src/core/MetricsCollector.js +1 -2
- package/dist/src/core/MetricsCollector.js.map +1 -1
- package/dist/src/core/QualityGateEvaluator.d.ts.map +1 -1
- package/dist/src/core/QualityGateEvaluator.js.map +1 -1
- package/dist/src/core/XPathHelper.d.ts +9 -1
- package/dist/src/core/XPathHelper.d.ts.map +1 -1
- package/dist/src/core/XPathHelper.js +4 -9
- package/dist/src/core/XPathHelper.js.map +1 -1
- package/dist/src/core/XmlParser.d.ts.map +1 -1
- package/dist/src/core/XmlParser.js.map +1 -1
- package/dist/src/core/YamlParser.d.ts.map +1 -1
- package/dist/src/core/YamlParser.js.map +1 -1
- package/dist/src/core/errors.js.map +1 -1
- package/dist/src/engine/LintEngine.d.ts.map +1 -1
- package/dist/src/engine/LintEngine.js +2 -4
- package/dist/src/engine/LintEngine.js.map +1 -1
- package/dist/src/formatter/MuleXmlFormatter.d.ts.map +1 -1
- package/dist/src/formatter/MuleXmlFormatter.js +7 -1
- package/dist/src/formatter/MuleXmlFormatter.js.map +1 -1
- package/dist/src/formatter/index.d.ts +2 -2
- package/dist/src/formatter/index.d.ts.map +1 -1
- package/dist/src/formatter/index.js.map +1 -1
- package/dist/src/formatters/CsvFormatter.js.map +1 -1
- package/dist/src/formatters/HtmlFormatter.js +0 -1
- package/dist/src/formatters/HtmlFormatter.js.map +1 -1
- package/dist/src/formatters/JsonFormatter.d.ts.map +1 -1
- package/dist/src/formatters/JsonFormatter.js.map +1 -1
- package/dist/src/formatters/SarifFormatter.js.map +1 -1
- package/dist/src/formatters/TableFormatter.js.map +1 -1
- package/dist/src/formatters/html/components/Icons.js +1 -1
- package/dist/src/formatters/html/components/Icons.js.map +1 -1
- package/dist/src/formatters/html/components/MetricCard.d.ts.map +1 -1
- package/dist/src/formatters/html/components/MetricCard.js.map +1 -1
- package/dist/src/formatters/html/components/Modal.d.ts.map +1 -1
- package/dist/src/formatters/html/components/Modal.js.map +1 -1
- package/dist/src/formatters/html/components/RatingBadge.d.ts.map +1 -1
- package/dist/src/formatters/html/components/RatingBadge.js +6 -6
- package/dist/src/formatters/html/components/RatingBadge.js.map +1 -1
- package/dist/src/formatters/html/index.d.ts +2 -2
- package/dist/src/formatters/html/index.d.ts.map +1 -1
- package/dist/src/formatters/html/index.js.map +1 -1
- package/dist/src/formatters/html/scripts/charts.d.ts.map +1 -1
- package/dist/src/formatters/html/scripts/charts.js +45 -12
- package/dist/src/formatters/html/scripts/charts.js.map +1 -1
- package/dist/src/formatters/html/scripts/index.d.ts.map +1 -1
- package/dist/src/formatters/html/scripts/index.js.map +1 -1
- package/dist/src/formatters/html/scripts/renderer.d.ts.map +1 -1
- package/dist/src/formatters/html/scripts/renderer.js +175 -35
- package/dist/src/formatters/html/scripts/renderer.js.map +1 -1
- package/dist/src/formatters/html/sections/Header.d.ts.map +1 -1
- package/dist/src/formatters/html/sections/Header.js.map +1 -1
- package/dist/src/formatters/html/sections/LintSummary.d.ts.map +1 -1
- package/dist/src/formatters/html/sections/LintSummary.js.map +1 -1
- package/dist/src/formatters/html/sections/QualityRatings.js.map +1 -1
- package/dist/src/formatters/html/sections/Sidebar.d.ts.map +1 -1
- package/dist/src/formatters/html/sections/Sidebar.js.map +1 -1
- package/dist/src/formatters/html/styles/badges.d.ts.map +1 -1
- package/dist/src/formatters/html/styles/badges.js.map +1 -1
- package/dist/src/formatters/html/styles/index.d.ts.map +1 -1
- package/dist/src/formatters/html/styles/index.js.map +1 -1
- package/dist/src/formatters/html/theme.js.map +1 -1
- package/dist/src/formatters/html/views/Dashboard.js +5 -5
- package/dist/src/formatters/html/views/Dashboard.js.map +1 -1
- package/dist/src/formatters/html/views/IssuesView.d.ts.map +1 -1
- package/dist/src/formatters/html/views/IssuesView.js.map +1 -1
- package/dist/src/formatters/index.js.map +1 -1
- package/dist/src/mcp/index.d.ts.map +1 -1
- package/dist/src/mcp/index.js +12 -511
- package/dist/src/mcp/index.js.map +1 -1
- package/dist/src/mcp/prompts/index.d.ts +6 -0
- package/dist/src/mcp/prompts/index.d.ts.map +1 -0
- package/dist/src/mcp/prompts/index.js +87 -0
- package/dist/src/mcp/prompts/index.js.map +1 -0
- package/dist/src/mcp/resources/index.d.ts +6 -0
- package/dist/src/mcp/resources/index.d.ts.map +1 -0
- package/dist/src/mcp/resources/index.js +189 -0
- package/dist/src/mcp/resources/index.js.map +1 -0
- package/dist/src/mcp/tools/formatMuleXml.d.ts +6 -0
- package/dist/src/mcp/tools/formatMuleXml.d.ts.map +1 -0
- package/dist/src/mcp/tools/formatMuleXml.js +133 -0
- package/dist/src/mcp/tools/formatMuleXml.js.map +1 -0
- package/dist/src/mcp/tools/getRuleDetails.d.ts +6 -0
- package/dist/src/mcp/tools/getRuleDetails.d.ts.map +1 -0
- package/dist/src/mcp/tools/getRuleDetails.js +44 -0
- package/dist/src/mcp/tools/getRuleDetails.js.map +1 -0
- package/dist/src/mcp/tools/runLintAnalysis.d.ts +7 -0
- package/dist/src/mcp/tools/runLintAnalysis.d.ts.map +1 -0
- package/dist/src/mcp/tools/runLintAnalysis.js +76 -0
- package/dist/src/mcp/tools/runLintAnalysis.js.map +1 -0
- package/dist/src/mcp/tools/validateSnippet.d.ts +6 -0
- package/dist/src/mcp/tools/validateSnippet.d.ts.map +1 -0
- package/dist/src/mcp/tools/validateSnippet.js +59 -0
- package/dist/src/mcp/tools/validateSnippet.js.map +1 -0
- package/dist/src/quality/calculator.d.ts.map +1 -1
- package/dist/src/quality/calculator.js +1 -1
- package/dist/src/quality/calculator.js.map +1 -1
- package/dist/src/quality/index.d.ts.map +1 -1
- package/dist/src/quality/index.js.map +1 -1
- package/dist/src/quality/thresholds.js.map +1 -1
- package/dist/src/quality/types.d.ts.map +1 -1
- package/dist/src/rules/api-led/ApiLedRules.d.ts.map +1 -1
- package/dist/src/rules/api-led/ApiLedRules.js +6 -2
- package/dist/src/rules/api-led/ApiLedRules.js.map +1 -1
- package/dist/src/rules/api-led/SingleSystemSapiRule.d.ts.map +1 -1
- package/dist/src/rules/api-led/SingleSystemSapiRule.js.map +1 -1
- package/dist/src/rules/base/BaseRule.d.ts.map +1 -1
- package/dist/src/rules/base/BaseRule.js.map +1 -1
- package/dist/src/rules/base/ProjectRule.d.ts.map +1 -1
- package/dist/src/rules/base/ProjectRule.js.map +1 -1
- package/dist/src/rules/complexity/FlowComplexityRule.d.ts.map +1 -1
- package/dist/src/rules/complexity/FlowComplexityRule.js.map +1 -1
- package/dist/src/rules/dataweave/DataWeaveRules.d.ts.map +1 -1
- package/dist/src/rules/dataweave/DataWeaveRules.js +1 -3
- package/dist/src/rules/dataweave/DataWeaveRules.js.map +1 -1
- package/dist/src/rules/dataweave/Java17DWErrorHandlingRule.d.ts.map +1 -1
- package/dist/src/rules/dataweave/Java17DWErrorHandlingRule.js.map +1 -1
- package/dist/src/rules/documentation/DisplayNameRule.d.ts.map +1 -1
- package/dist/src/rules/documentation/DisplayNameRule.js.map +1 -1
- package/dist/src/rules/documentation/FlowDescriptionRule.d.ts.map +1 -1
- package/dist/src/rules/documentation/FlowDescriptionRule.js.map +1 -1
- package/dist/src/rules/documentation/MissingDocNameRule.d.ts.map +1 -1
- package/dist/src/rules/documentation/MissingDocNameRule.js.map +1 -1
- package/dist/src/rules/error-handling/CorrelationIdRule.d.ts.map +1 -1
- package/dist/src/rules/error-handling/CorrelationIdRule.js.map +1 -1
- package/dist/src/rules/error-handling/GenericErrorRule.d.ts.map +1 -1
- package/dist/src/rules/error-handling/GenericErrorRule.js.map +1 -1
- package/dist/src/rules/error-handling/GlobalErrorHandlerRule.d.ts.map +1 -1
- package/dist/src/rules/error-handling/GlobalErrorHandlerRule.js.map +1 -1
- package/dist/src/rules/error-handling/HttpStatusRule.d.ts.map +1 -1
- package/dist/src/rules/error-handling/HttpStatusRule.js.map +1 -1
- package/dist/src/rules/error-handling/MissingErrorHandlerRule.d.ts.map +1 -1
- package/dist/src/rules/error-handling/MissingErrorHandlerRule.js.map +1 -1
- package/dist/src/rules/error-handling/TryScopeRule.d.ts.map +1 -1
- package/dist/src/rules/error-handling/TryScopeRule.js.map +1 -1
- package/dist/src/rules/experimental/ExperimentalRules.d.ts.map +1 -1
- package/dist/src/rules/experimental/ExperimentalRules.js +6 -2
- package/dist/src/rules/experimental/ExperimentalRules.js.map +1 -1
- package/dist/src/rules/governance/GovernanceRules.d.ts +2 -2
- package/dist/src/rules/governance/GovernanceRules.d.ts.map +1 -1
- package/dist/src/rules/governance/GovernanceRules.js +2 -2
- package/dist/src/rules/governance/GovernanceRules.js.map +1 -1
- package/dist/src/rules/http/HttpContentTypeRule.d.ts.map +1 -1
- package/dist/src/rules/http/HttpContentTypeRule.js.map +1 -1
- package/dist/src/rules/http/HttpTimeoutRule.d.ts.map +1 -1
- package/dist/src/rules/http/HttpTimeoutRule.js.map +1 -1
- package/dist/src/rules/http/HttpUserAgentRule.d.ts.map +1 -1
- package/dist/src/rules/http/HttpUserAgentRule.js.map +1 -1
- package/dist/src/rules/index.js.map +1 -1
- package/dist/src/rules/logging/ExcessiveLoggersRule.d.ts.map +1 -1
- package/dist/src/rules/logging/ExcessiveLoggersRule.js.map +1 -1
- package/dist/src/rules/logging/LoggerCategoryRule.d.ts.map +1 -1
- package/dist/src/rules/logging/LoggerCategoryRule.js.map +1 -1
- package/dist/src/rules/logging/LoggerInUntilSuccessfulRule.d.ts.map +1 -1
- package/dist/src/rules/logging/LoggerInUntilSuccessfulRule.js.map +1 -1
- package/dist/src/rules/logging/LoggerPayloadRule.d.ts.map +1 -1
- package/dist/src/rules/logging/LoggerPayloadRule.js.map +1 -1
- package/dist/src/rules/logging/NewLoggingRules.d.ts.map +1 -1
- package/dist/src/rules/logging/NewLoggingRules.js.map +1 -1
- package/dist/src/rules/naming/FlowCasingRule.d.ts.map +1 -1
- package/dist/src/rules/naming/FlowCasingRule.js.map +1 -1
- package/dist/src/rules/naming/FlowNamingRule.d.ts.map +1 -1
- package/dist/src/rules/naming/FlowNamingRule.js +3 -1
- package/dist/src/rules/naming/FlowNamingRule.js.map +1 -1
- package/dist/src/rules/naming/VariableNamingRule.d.ts.map +1 -1
- package/dist/src/rules/naming/VariableNamingRule.js.map +1 -1
- package/dist/src/rules/operations/CommentedCodeRule.d.ts.map +1 -1
- package/dist/src/rules/operations/CommentedCodeRule.js.map +1 -1
- package/dist/src/rules/operations/UnusedFlowRule.d.ts.map +1 -1
- package/dist/src/rules/operations/UnusedFlowRule.js.map +1 -1
- package/dist/src/rules/performance/AsyncErrorHandlerRule.d.ts.map +1 -1
- package/dist/src/rules/performance/AsyncErrorHandlerRule.js.map +1 -1
- package/dist/src/rules/performance/ConnectionPoolingRule.d.ts.map +1 -1
- package/dist/src/rules/performance/ConnectionPoolingRule.js.map +1 -1
- package/dist/src/rules/performance/LargeChoiceBlockRule.d.ts.map +1 -1
- package/dist/src/rules/performance/LargeChoiceBlockRule.js.map +1 -1
- package/dist/src/rules/performance/ReconnectionStrategyRule.d.ts.map +1 -1
- package/dist/src/rules/performance/ReconnectionStrategyRule.js.map +1 -1
- package/dist/src/rules/performance/ScatterGatherRoutesRule.d.ts.map +1 -1
- package/dist/src/rules/performance/ScatterGatherRoutesRule.js.map +1 -1
- package/dist/src/rules/security/EncryptionKeyInLogsRule.d.ts.map +1 -1
- package/dist/src/rules/security/EncryptionKeyInLogsRule.js.map +1 -1
- package/dist/src/rules/security/HardcodedCredentialsRule.d.ts.map +1 -1
- package/dist/src/rules/security/HardcodedCredentialsRule.js.map +1 -1
- package/dist/src/rules/security/HardcodedHttpRule.d.ts.map +1 -1
- package/dist/src/rules/security/HardcodedHttpRule.js +1 -9
- package/dist/src/rules/security/HardcodedHttpRule.js.map +1 -1
- package/dist/src/rules/security/InputValidationRule.d.ts.map +1 -1
- package/dist/src/rules/security/InputValidationRule.js +1 -3
- package/dist/src/rules/security/InputValidationRule.js.map +1 -1
- package/dist/src/rules/security/InsecureTlsRule.d.ts.map +1 -1
- package/dist/src/rules/security/InsecureTlsRule.js.map +1 -1
- package/dist/src/rules/security/RateLimitingRule.d.ts.map +1 -1
- package/dist/src/rules/security/RateLimitingRule.js.map +1 -1
- package/dist/src/rules/security/TlsVersionRule.d.ts.map +1 -1
- package/dist/src/rules/security/TlsVersionRule.js.map +1 -1
- package/dist/src/rules/standards/ApiKitValidationRule.d.ts.map +1 -1
- package/dist/src/rules/standards/ApiKitValidationRule.js.map +1 -1
- package/dist/src/rules/standards/AutoDiscoveryRule.d.ts.map +1 -1
- package/dist/src/rules/standards/AutoDiscoveryRule.js.map +1 -1
- package/dist/src/rules/standards/ChoiceAntiPatternRule.d.ts.map +1 -1
- package/dist/src/rules/standards/ChoiceAntiPatternRule.js.map +1 -1
- package/dist/src/rules/standards/CronExternalizedRule.d.ts.map +1 -1
- package/dist/src/rules/standards/CronExternalizedRule.js.map +1 -1
- package/dist/src/rules/standards/DeprecatedComponentRule.d.ts.map +1 -1
- package/dist/src/rules/standards/DeprecatedComponentRule.js.map +1 -1
- package/dist/src/rules/standards/DwlStandardsRule.d.ts.map +1 -1
- package/dist/src/rules/standards/DwlStandardsRule.js.map +1 -1
- package/dist/src/rules/standards/HttpPortPlaceholderRule.d.ts.map +1 -1
- package/dist/src/rules/standards/HttpPortPlaceholderRule.js.map +1 -1
- package/dist/src/rules/structure/StructureRules.d.ts.map +1 -1
- package/dist/src/rules/structure/StructureRules.js.map +1 -1
- package/dist/src/rules/yaml/YamlRules.d.ts.map +1 -1
- package/dist/src/rules/yaml/YamlRules.js +2 -7
- package/dist/src/rules/yaml/YamlRules.js.map +1 -1
- package/dist/src/types/Config.d.ts.map +1 -1
- package/dist/src/types/Config.js.map +1 -1
- package/dist/src/types/QualityGate.d.ts.map +1 -1
- package/dist/src/types/QualityGate.js.map +1 -1
- package/dist/src/types/Report.d.ts.map +1 -1
- package/dist/src/types/Rule.d.ts +1 -1
- package/dist/src/types/Rule.d.ts.map +1 -1
- package/docs/README.md +27 -27
- package/docs/best-practices/documentation-standards.md +20 -11
- package/docs/best-practices/folder-structure.md +16 -10
- package/docs/best-practices/mulesoft-best-practices.md +96 -94
- package/docs/best-practices/rules-catalog.md +316 -287
- package/docs/linter/architecture.md +70 -64
- package/docs/linter/extending.md +137 -128
- package/docs/linter/folder-structure.md +39 -38
- package/docs/linter/naming-conventions.md +80 -78
- package/docs/linter/rule-engine.md +306 -306
- package/docs/mcp-design.md +35 -21
- package/package.json +84 -73
package/dist/src/mcp/index.js
CHANGED
|
@@ -1,48 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.MuleLintMcpServer = void 0;
|
|
37
4
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
38
5
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
39
|
-
const zod_1 = require("zod");
|
|
40
|
-
const errors_1 = require("../core/errors");
|
|
41
6
|
const LintEngine_1 = require("../engine/LintEngine");
|
|
42
7
|
const rules_1 = require("../rules");
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
const
|
|
8
|
+
const runLintAnalysis_1 = require("./tools/runLintAnalysis");
|
|
9
|
+
const getRuleDetails_1 = require("./tools/getRuleDetails");
|
|
10
|
+
const validateSnippet_1 = require("./tools/validateSnippet");
|
|
11
|
+
const formatMuleXml_1 = require("./tools/formatMuleXml");
|
|
12
|
+
const resources_1 = require("./resources");
|
|
13
|
+
const prompts_1 = require("./prompts");
|
|
46
14
|
/**
|
|
47
15
|
* Mule Lint MCP Server
|
|
48
16
|
* Exposes linting capabilities via Model Context Protocol.
|
|
@@ -51,7 +19,6 @@ class MuleLintMcpServer {
|
|
|
51
19
|
server;
|
|
52
20
|
engine;
|
|
53
21
|
constructor() {
|
|
54
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
55
22
|
const packageJson = require('../../package.json');
|
|
56
23
|
this.server = new mcp_js_1.McpServer({
|
|
57
24
|
name: 'mule-lint',
|
|
@@ -60,12 +27,9 @@ class MuleLintMcpServer {
|
|
|
60
27
|
// Initialize engine with partial config - let LintEngine apply DEFAULT_CONFIG for include/exclude
|
|
61
28
|
const defaultConfig = {
|
|
62
29
|
rules: {},
|
|
63
|
-
// Do NOT set include/exclude to empty arrays - that overrides the defaults
|
|
64
|
-
// LintEngine will use DEFAULT_CONFIG: include: ['src/main/mule/**/*.xml']
|
|
65
30
|
defaultFormatter: 'json',
|
|
66
31
|
failOnWarning: false,
|
|
67
32
|
};
|
|
68
|
-
// LintEngine takes EngineOptions, not just config
|
|
69
33
|
this.engine = new LintEngine_1.LintEngine({
|
|
70
34
|
rules: rules_1.ALL_RULES,
|
|
71
35
|
config: defaultConfig,
|
|
@@ -75,479 +39,16 @@ class MuleLintMcpServer {
|
|
|
75
39
|
this.setupPrompts();
|
|
76
40
|
}
|
|
77
41
|
setupTools() {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
.string()
|
|
83
|
-
.describe('Absolute path to the MuleSoft project directory to scan'),
|
|
84
|
-
}, async ({ projectPath }) => {
|
|
85
|
-
try {
|
|
86
|
-
const report = await this.engine.scan(projectPath);
|
|
87
|
-
const summary = {
|
|
88
|
-
totalFiles: report.summary.totalFiles,
|
|
89
|
-
totalIssues: report.summary.bySeverity.error +
|
|
90
|
-
report.summary.bySeverity.warning +
|
|
91
|
-
report.summary.bySeverity.info,
|
|
92
|
-
errors: report.summary.bySeverity.error,
|
|
93
|
-
warnings: report.summary.bySeverity.warning,
|
|
94
|
-
// Include quality metrics if available
|
|
95
|
-
qualityMetrics: report.metrics ? {
|
|
96
|
-
complexity: report.metrics.complexity,
|
|
97
|
-
maintainability: report.metrics.maintainability,
|
|
98
|
-
reliability: report.metrics.reliability,
|
|
99
|
-
security: report.metrics.security,
|
|
100
|
-
} : undefined,
|
|
101
|
-
issues: report.files
|
|
102
|
-
.map((r) => ({
|
|
103
|
-
file: r.relativePath,
|
|
104
|
-
issues: r.issues.map((i) => {
|
|
105
|
-
// Get issueType from rule metadata
|
|
106
|
-
const rule = (0, rules_1.getRuleById)(i.ruleId);
|
|
107
|
-
return {
|
|
108
|
-
ruleId: i.ruleId,
|
|
109
|
-
message: i.message,
|
|
110
|
-
line: i.line,
|
|
111
|
-
column: i.column,
|
|
112
|
-
severity: i.severity,
|
|
113
|
-
issueType: rule?.issueType ?? 'code-smell',
|
|
114
|
-
suggestion: i.suggestion,
|
|
115
|
-
codeSnippet: i.codeSnippet,
|
|
116
|
-
};
|
|
117
|
-
}),
|
|
118
|
-
}))
|
|
119
|
-
.filter((r) => r.issues.length > 0),
|
|
120
|
-
};
|
|
121
|
-
return {
|
|
122
|
-
content: [
|
|
123
|
-
{
|
|
124
|
-
type: 'text',
|
|
125
|
-
text: JSON.stringify(summary, null, 2),
|
|
126
|
-
},
|
|
127
|
-
],
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
catch (error) {
|
|
131
|
-
const errorMessage = (0, errors_1.getErrorMessage)(error);
|
|
132
|
-
return {
|
|
133
|
-
content: [
|
|
134
|
-
{
|
|
135
|
-
type: 'text',
|
|
136
|
-
text: `Analysis failed: ${errorMessage}`,
|
|
137
|
-
},
|
|
138
|
-
],
|
|
139
|
-
isError: true,
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
// Tool: get_rule_details
|
|
144
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- MCP SDK generic type inference exceeds TS depth limits (TS2589)
|
|
145
|
-
this.server.tool('get_rule_details', 'Retrieve detailed documentation for a specific linting rule ID (e.g., MULE-001). Use this to understand WHY a rule failed and HOW to fix it properly according to best practices.', {
|
|
146
|
-
ruleId: zod_1.z
|
|
147
|
-
.string()
|
|
148
|
-
.describe('The ID of the rule to retrieve (e.g., "MULE-001", "DW-004")'),
|
|
149
|
-
}, ({ ruleId }) => {
|
|
150
|
-
const rule = (0, rules_1.getRuleById)(ruleId);
|
|
151
|
-
if (!rule) {
|
|
152
|
-
return {
|
|
153
|
-
content: [
|
|
154
|
-
{
|
|
155
|
-
type: 'text',
|
|
156
|
-
text: `Rule not found: ${ruleId}`,
|
|
157
|
-
},
|
|
158
|
-
],
|
|
159
|
-
isError: true,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
return {
|
|
163
|
-
content: [
|
|
164
|
-
{
|
|
165
|
-
type: 'text',
|
|
166
|
-
text: JSON.stringify({
|
|
167
|
-
id: rule.id,
|
|
168
|
-
name: rule.name,
|
|
169
|
-
description: rule.description,
|
|
170
|
-
category: rule.category,
|
|
171
|
-
severity: rule.severity,
|
|
172
|
-
issueType: rule.issueType ?? 'code-smell',
|
|
173
|
-
}, null, 2),
|
|
174
|
-
},
|
|
175
|
-
],
|
|
176
|
-
};
|
|
177
|
-
});
|
|
178
|
-
// Tool: validate_snippet
|
|
179
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- MCP SDK generic type inference exceeds TS depth limits (TS2589)
|
|
180
|
-
this.server.tool('validate_snippet', 'Validates a small XML or DataWeave code snippet in isolation. Use this to check syntax and basic rules on generated code BEFORE suggesting it to the user.', {
|
|
181
|
-
code: zod_1.z.string().describe('The code snippet to validate'),
|
|
182
|
-
type: zod_1.z.enum(['xml', 'dwl']).describe('The type of code (xml or dwl)'),
|
|
183
|
-
}, ({ code, type }) => {
|
|
184
|
-
try {
|
|
185
|
-
// Create minimal context
|
|
186
|
-
const context = {
|
|
187
|
-
filePath: 'snippet.xml',
|
|
188
|
-
relativePath: 'snippet.xml',
|
|
189
|
-
projectRoot: '/tmp',
|
|
190
|
-
config: { enabled: true, severity: 'info', options: {} },
|
|
191
|
-
};
|
|
192
|
-
// Filter relevant rules
|
|
193
|
-
const applicableRules = rules_1.ALL_RULES.filter((r) => {
|
|
194
|
-
if (type === 'dwl') {
|
|
195
|
-
return r.category === 'dataweave';
|
|
196
|
-
}
|
|
197
|
-
return r.category !== 'dataweave'; // Approximate, XML rules
|
|
198
|
-
});
|
|
199
|
-
const issues = [];
|
|
200
|
-
if (type === 'xml') {
|
|
201
|
-
const result = (0, XmlParser_1.parseXml)(code, 'snippet.xml');
|
|
202
|
-
if (!result.success || !result.document) {
|
|
203
|
-
throw new Error(result.error ?? 'XML Parse Error');
|
|
204
|
-
}
|
|
205
|
-
for (const rule of applicableRules) {
|
|
206
|
-
if (rule.validate) {
|
|
207
|
-
issues.push(...rule.validate(result.document, context));
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
else if (type === 'dwl') {
|
|
212
|
-
return {
|
|
213
|
-
content: [
|
|
214
|
-
{
|
|
215
|
-
type: 'text',
|
|
216
|
-
text: 'DWL snippet validation currently requires file context.',
|
|
217
|
-
},
|
|
218
|
-
],
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
return {
|
|
222
|
-
content: [
|
|
223
|
-
{
|
|
224
|
-
type: 'text',
|
|
225
|
-
text: JSON.stringify(issues, null, 2),
|
|
226
|
-
},
|
|
227
|
-
],
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
catch (error) {
|
|
231
|
-
return {
|
|
232
|
-
content: [
|
|
233
|
-
{
|
|
234
|
-
type: 'text',
|
|
235
|
-
text: `Validation failed: ${(0, errors_1.getErrorMessage)(error)}`,
|
|
236
|
-
},
|
|
237
|
-
],
|
|
238
|
-
isError: true,
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
// Tool: format_mule_xml
|
|
243
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- MCP SDK generic type inference exceeds TS depth limits (TS2589)
|
|
244
|
-
this.server.tool('format_mule_xml', 'Format Mule XML files using Prettier with Anypoint Studio-compatible defaults (4-space indent, 140 width, single-quote safe). Accepts a project path to format all XML files, a single file path, or raw XML content for inline formatting.', {
|
|
245
|
-
projectPath: zod_1.z
|
|
246
|
-
.string()
|
|
247
|
-
.optional()
|
|
248
|
-
.describe('Absolute path to a MuleSoft project directory — formats all XML in src/main/mule/'),
|
|
249
|
-
filePath: zod_1.z
|
|
250
|
-
.string()
|
|
251
|
-
.optional()
|
|
252
|
-
.describe('Absolute path to a single Mule XML file to format'),
|
|
253
|
-
content: zod_1.z
|
|
254
|
-
.string()
|
|
255
|
-
.optional()
|
|
256
|
-
.describe('Raw XML string to format inline (returns formatted text)'),
|
|
257
|
-
check: zod_1.z
|
|
258
|
-
.boolean()
|
|
259
|
-
.optional()
|
|
260
|
-
.describe('Dry-run mode: report which files need formatting without writing changes'),
|
|
261
|
-
tabWidth: zod_1.z
|
|
262
|
-
.number()
|
|
263
|
-
.optional()
|
|
264
|
-
.describe('Spaces per indent level (default: 4)'),
|
|
265
|
-
printWidth: zod_1.z
|
|
266
|
-
.number()
|
|
267
|
-
.optional()
|
|
268
|
-
.describe('Max line width before wrapping (default: 140)'),
|
|
269
|
-
}, async ({ projectPath, filePath: singleFilePath, content, check, tabWidth, printWidth, }) => {
|
|
270
|
-
try {
|
|
271
|
-
const { formatXmlContent, formatFile, formatProject, } = await Promise.resolve().then(() => __importStar(require('../formatter/MuleXmlFormatter')));
|
|
272
|
-
const options = { check, tabWidth, printWidth };
|
|
273
|
-
// Mode 1: Inline content formatting
|
|
274
|
-
if (content) {
|
|
275
|
-
const result = await formatXmlContent(content, options);
|
|
276
|
-
return {
|
|
277
|
-
content: [
|
|
278
|
-
{
|
|
279
|
-
type: 'text',
|
|
280
|
-
text: JSON.stringify({
|
|
281
|
-
formatted: result.formatted,
|
|
282
|
-
changed: result.changed,
|
|
283
|
-
}, null, 2),
|
|
284
|
-
},
|
|
285
|
-
],
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
// Mode 2: Single file
|
|
289
|
-
if (singleFilePath) {
|
|
290
|
-
const result = await formatFile(singleFilePath, options);
|
|
291
|
-
return {
|
|
292
|
-
content: [
|
|
293
|
-
{
|
|
294
|
-
type: 'text',
|
|
295
|
-
text: JSON.stringify(result, null, 2),
|
|
296
|
-
},
|
|
297
|
-
],
|
|
298
|
-
};
|
|
299
|
-
}
|
|
300
|
-
// Mode 3: Project
|
|
301
|
-
if (projectPath) {
|
|
302
|
-
const results = await formatProject(projectPath, options);
|
|
303
|
-
const summary = {
|
|
304
|
-
totalFiles: results.length,
|
|
305
|
-
changed: results.filter((r) => r.changed).length,
|
|
306
|
-
errors: results.filter((r) => r.error).length,
|
|
307
|
-
files: results,
|
|
308
|
-
};
|
|
309
|
-
return {
|
|
310
|
-
content: [
|
|
311
|
-
{
|
|
312
|
-
type: 'text',
|
|
313
|
-
text: JSON.stringify(summary, null, 2),
|
|
314
|
-
},
|
|
315
|
-
],
|
|
316
|
-
};
|
|
317
|
-
}
|
|
318
|
-
return {
|
|
319
|
-
content: [
|
|
320
|
-
{
|
|
321
|
-
type: 'text',
|
|
322
|
-
text: 'Provide one of: projectPath, filePath, or content',
|
|
323
|
-
},
|
|
324
|
-
],
|
|
325
|
-
isError: true,
|
|
326
|
-
};
|
|
327
|
-
}
|
|
328
|
-
catch (error) {
|
|
329
|
-
const errorMessage = (0, errors_1.getErrorMessage)(error);
|
|
330
|
-
return {
|
|
331
|
-
content: [
|
|
332
|
-
{
|
|
333
|
-
type: 'text',
|
|
334
|
-
text: `Formatting failed: ${errorMessage}`,
|
|
335
|
-
},
|
|
336
|
-
],
|
|
337
|
-
isError: true,
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
});
|
|
42
|
+
(0, runLintAnalysis_1.registerRunLintAnalysis)(this.server, this.engine);
|
|
43
|
+
(0, getRuleDetails_1.registerGetRuleDetails)(this.server);
|
|
44
|
+
(0, validateSnippet_1.registerValidateSnippet)(this.server);
|
|
45
|
+
(0, formatMuleXml_1.registerFormatMuleXml)(this.server);
|
|
341
46
|
}
|
|
342
47
|
setupResources() {
|
|
343
|
-
|
|
344
|
-
this.server.registerResource('rules', 'mule-lint://rules', {
|
|
345
|
-
description: 'A comprehensive catalog of all available linting rules. Read this to discover what rules are enforceable, their severity levels, and categories (e.g., Security, Performance, DataWeave).',
|
|
346
|
-
mimeType: 'application/json',
|
|
347
|
-
}, (uri) => {
|
|
348
|
-
const rulesList = rules_1.ALL_RULES.map((r) => ({
|
|
349
|
-
id: r.id,
|
|
350
|
-
name: r.name,
|
|
351
|
-
category: r.category,
|
|
352
|
-
severity: r.severity,
|
|
353
|
-
issueType: r.issueType ?? 'code-smell',
|
|
354
|
-
description: r.description,
|
|
355
|
-
}));
|
|
356
|
-
return {
|
|
357
|
-
contents: [
|
|
358
|
-
{
|
|
359
|
-
uri: uri.href,
|
|
360
|
-
text: JSON.stringify(rulesList, null, 2),
|
|
361
|
-
mimeType: 'application/json',
|
|
362
|
-
},
|
|
363
|
-
],
|
|
364
|
-
};
|
|
365
|
-
});
|
|
366
|
-
// Resource: docs
|
|
367
|
-
this.server.registerResource('docs', new mcp_js_1.ResourceTemplate('mule-lint://docs/{slug}', {
|
|
368
|
-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
369
|
-
list: () => {
|
|
370
|
-
return {
|
|
371
|
-
resources: [
|
|
372
|
-
{
|
|
373
|
-
uri: 'mule-lint://docs/architecture',
|
|
374
|
-
name: 'Architecture',
|
|
375
|
-
mimeType: 'text/markdown',
|
|
376
|
-
},
|
|
377
|
-
{
|
|
378
|
-
uri: 'mule-lint://docs/best-practices',
|
|
379
|
-
name: 'Best Practices',
|
|
380
|
-
mimeType: 'text/markdown',
|
|
381
|
-
},
|
|
382
|
-
{
|
|
383
|
-
uri: 'mule-lint://docs/documentation-standards',
|
|
384
|
-
name: 'Documentation Standards',
|
|
385
|
-
mimeType: 'text/markdown',
|
|
386
|
-
},
|
|
387
|
-
{
|
|
388
|
-
uri: 'mule-lint://docs/extending',
|
|
389
|
-
name: 'Extending',
|
|
390
|
-
mimeType: 'text/markdown',
|
|
391
|
-
},
|
|
392
|
-
{
|
|
393
|
-
uri: 'mule-lint://docs/folder-structure',
|
|
394
|
-
name: 'Folder Structure',
|
|
395
|
-
mimeType: 'text/markdown',
|
|
396
|
-
},
|
|
397
|
-
{
|
|
398
|
-
uri: 'mule-lint://docs/naming',
|
|
399
|
-
name: 'Naming Conventions',
|
|
400
|
-
mimeType: 'text/markdown',
|
|
401
|
-
},
|
|
402
|
-
{
|
|
403
|
-
uri: 'mule-lint://docs/rules-catalog',
|
|
404
|
-
name: 'Rules Catalog',
|
|
405
|
-
mimeType: 'text/markdown',
|
|
406
|
-
},
|
|
407
|
-
],
|
|
408
|
-
};
|
|
409
|
-
},
|
|
410
|
-
}), {
|
|
411
|
-
description: 'Access the official MuleSoft development best practices and internal documentation. Read these documents to ensure your generated code aligns with our architectural standards, naming conventions, and project structure.',
|
|
412
|
-
mimeType: 'text/markdown',
|
|
413
|
-
}, (uri, variables) => {
|
|
414
|
-
const slug = variables.slug;
|
|
415
|
-
const docsMap = {
|
|
416
|
-
architecture: 'docs/linter/architecture.md',
|
|
417
|
-
'best-practices': 'docs/best-practices/mulesoft-best-practices.md',
|
|
418
|
-
'documentation-standards': 'docs/best-practices/documentation-standards.md',
|
|
419
|
-
extending: 'docs/linter/extending.md',
|
|
420
|
-
'folder-structure': 'docs/best-practices/folder-structure.md',
|
|
421
|
-
naming: 'docs/linter/naming-conventions.md',
|
|
422
|
-
'rules-catalog': 'docs/best-practices/rules-catalog.md',
|
|
423
|
-
};
|
|
424
|
-
const relativePath = docsMap[slug];
|
|
425
|
-
if (!relativePath) {
|
|
426
|
-
return {
|
|
427
|
-
contents: [
|
|
428
|
-
{
|
|
429
|
-
uri: uri.href,
|
|
430
|
-
text: `Document not found: ${slug}. Available: ${Object.keys(docsMap).join(', ')}`,
|
|
431
|
-
mimeType: 'text/plain',
|
|
432
|
-
},
|
|
433
|
-
],
|
|
434
|
-
};
|
|
435
|
-
}
|
|
436
|
-
try {
|
|
437
|
-
// Start looking from probable project root (cwd where server is started or package root)
|
|
438
|
-
// Since we are running as a tool, we might be installed in node_modules or run locally.
|
|
439
|
-
// Best effort: look relative to CWD if running locally, or handle package structure.
|
|
440
|
-
// For now, assuming standard repo structure or npm package usage where docs are included.
|
|
441
|
-
// CAUTION: 'docs' folder might not be in 'dist'. We need to ensure docs are shipped or read from repo.
|
|
442
|
-
// Simple heuristic: try to find docs relative to process.cwd() first (local dev),
|
|
443
|
-
// then relative to __dirname (installed package).
|
|
444
|
-
let docPath = path.resolve(process.cwd(), relativePath);
|
|
445
|
-
if (!fs.existsSync(docPath)) {
|
|
446
|
-
// Try resolving from package root if we are in dist/bin
|
|
447
|
-
// __dirname is dist/bin or src/mcp.
|
|
448
|
-
// Go up 2 levels from dist/bin -> package root
|
|
449
|
-
docPath = path.resolve(__dirname, '../../', relativePath);
|
|
450
|
-
}
|
|
451
|
-
if (fs.existsSync(docPath)) {
|
|
452
|
-
const content = fs.readFileSync(docPath, 'utf-8');
|
|
453
|
-
return {
|
|
454
|
-
contents: [
|
|
455
|
-
{
|
|
456
|
-
uri: uri.href,
|
|
457
|
-
text: content,
|
|
458
|
-
mimeType: 'text/markdown',
|
|
459
|
-
},
|
|
460
|
-
],
|
|
461
|
-
};
|
|
462
|
-
}
|
|
463
|
-
else {
|
|
464
|
-
return {
|
|
465
|
-
contents: [
|
|
466
|
-
{
|
|
467
|
-
uri: uri.href,
|
|
468
|
-
text: `Document file not found at: ${docPath}`,
|
|
469
|
-
mimeType: 'text/plain',
|
|
470
|
-
},
|
|
471
|
-
],
|
|
472
|
-
};
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
catch (error) {
|
|
476
|
-
return {
|
|
477
|
-
contents: [
|
|
478
|
-
{
|
|
479
|
-
uri: uri.href,
|
|
480
|
-
text: `Error reading document: ${(0, errors_1.getErrorMessage)(error)}`,
|
|
481
|
-
mimeType: 'text/plain',
|
|
482
|
-
},
|
|
483
|
-
],
|
|
484
|
-
};
|
|
485
|
-
}
|
|
486
|
-
});
|
|
48
|
+
(0, resources_1.registerResources)(this.server);
|
|
487
49
|
}
|
|
488
50
|
setupPrompts() {
|
|
489
|
-
|
|
490
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- MCP SDK generic type inference exceeds TS depth limits (TS2589)
|
|
491
|
-
this.server.registerPrompt('analyze-project', {
|
|
492
|
-
description: 'Analyze the current project for MuleSoft best practice violations and linting issues.',
|
|
493
|
-
argsSchema: {
|
|
494
|
-
path: zod_1.z.string().describe('The absolute path to the project to analyze'),
|
|
495
|
-
},
|
|
496
|
-
}, ({ path }) => {
|
|
497
|
-
return {
|
|
498
|
-
messages: [
|
|
499
|
-
{
|
|
500
|
-
role: 'user',
|
|
501
|
-
content: {
|
|
502
|
-
type: 'text',
|
|
503
|
-
text: `Please analyze the MuleSoft project at ${path}. Run the linting engine and summarize the key issues, focusing on severity:error and severity:warning. Group the findings by category (e.g., Security, Naming, Efficiency).`,
|
|
504
|
-
},
|
|
505
|
-
},
|
|
506
|
-
],
|
|
507
|
-
};
|
|
508
|
-
});
|
|
509
|
-
// Prompt: explain-rule
|
|
510
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- MCP SDK generic type inference exceeds TS depth limits (TS2589)
|
|
511
|
-
this.server.registerPrompt('explain-rule', {
|
|
512
|
-
description: 'Explain a specific linting rule and provide examples of good vs bad code.',
|
|
513
|
-
argsSchema: {
|
|
514
|
-
ruleId: zod_1.z.string().describe('The ID of the rule to explain (e.g., MULE-001)'),
|
|
515
|
-
},
|
|
516
|
-
}, ({ ruleId }) => {
|
|
517
|
-
return {
|
|
518
|
-
messages: [
|
|
519
|
-
{
|
|
520
|
-
role: 'user',
|
|
521
|
-
content: {
|
|
522
|
-
type: 'text',
|
|
523
|
-
text: `Can you explain the MuleSoft linting rule ${ruleId}? I need to understand the rationale behind it, potential side effects of ignoring it, and see code examples of both compliant and non-compliant usage.`,
|
|
524
|
-
},
|
|
525
|
-
},
|
|
526
|
-
],
|
|
527
|
-
};
|
|
528
|
-
});
|
|
529
|
-
// Prompt: fix-issue
|
|
530
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- MCP SDK generic type inference exceeds TS depth limits (TS2589)
|
|
531
|
-
this.server.registerPrompt('fix-issue', {
|
|
532
|
-
description: 'Suggest a fix for a specific linting issue in a file.',
|
|
533
|
-
argsSchema: {
|
|
534
|
-
issue: zod_1.z.string().describe('The error message or rule description'),
|
|
535
|
-
file: zod_1.z.string().describe('The file path where the issue occurred'),
|
|
536
|
-
code: zod_1.z.string().describe('The specific code snippet causing the issue'),
|
|
537
|
-
},
|
|
538
|
-
}, ({ issue, file, code }) => {
|
|
539
|
-
return {
|
|
540
|
-
messages: [
|
|
541
|
-
{
|
|
542
|
-
role: 'user',
|
|
543
|
-
content: {
|
|
544
|
-
type: 'text',
|
|
545
|
-
text: `I have a linting issue in file ${file}: "${issue}".\nThe problematic code is:\n\`\`\`xml\n${code}\n\`\`\`\nPlease analyze why this is an issue and provide a corrected version of the code that satisfies the rule.`,
|
|
546
|
-
},
|
|
547
|
-
},
|
|
548
|
-
],
|
|
549
|
-
};
|
|
550
|
-
});
|
|
51
|
+
(0, prompts_1.registerPrompts)(this.server);
|
|
551
52
|
}
|
|
552
53
|
async start() {
|
|
553
54
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/index.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AACpE,wEAAiF;AAEjF,qDAAkD;AAElD,oCAAqC;AAErC,6DAAkE;AAClE,2DAAgE;AAChE,6DAAkE;AAClE,yDAA8D;AAC9D,2CAAgD;AAChD,uCAA4C;AAE5C;;;GAGG;AACH,MAAa,iBAAiB;IACpB,MAAM,CAAY;IAClB,MAAM,CAAa;IAE3B;QAEE,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;QACzE,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAS,CAAC;YAC1B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B,CAAC,CAAC;QAEH,kGAAkG;QAClG,MAAM,aAAa,GAAwB;YACzC,KAAK,EAAE,EAAE;YACT,gBAAgB,EAAE,MAAM;YACxB,aAAa,EAAE,KAAK;SACrB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAU,CAAC;YAC3B,KAAK,EAAE,iBAAS;YAChB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,UAAU;QAChB,IAAA,yCAAuB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,IAAA,uCAAsB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,IAAA,yCAAuB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,IAAA,qCAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAEO,cAAc;QACpB,IAAA,6BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEO,YAAY;QAClB,IAAA,yBAAe,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACzD,CAAC;CACF;AAhDD,8CAgDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAIvD"}
|