@skillsmith/mcp-server 0.4.2 → 0.4.3
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 +11 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/__tests__/LocalIndexer.test.js +158 -0
- package/dist/src/__tests__/LocalIndexer.test.js.map +1 -1
- package/dist/src/__tests__/compare.test.d.ts +8 -0
- package/dist/src/__tests__/compare.test.d.ts.map +1 -0
- package/dist/src/__tests__/compare.test.js +162 -0
- package/dist/src/__tests__/compare.test.js.map +1 -0
- package/dist/src/__tests__/context.async.test.d.ts +8 -0
- package/dist/src/__tests__/context.async.test.d.ts.map +1 -0
- package/dist/src/__tests__/context.async.test.js +223 -0
- package/dist/src/__tests__/context.async.test.js.map +1 -0
- package/dist/src/__tests__/middleware/errorFormatter.builders.test.d.ts +10 -0
- package/dist/src/__tests__/middleware/errorFormatter.builders.test.d.ts.map +1 -0
- package/dist/src/__tests__/middleware/errorFormatter.builders.test.js +93 -0
- package/dist/src/__tests__/middleware/errorFormatter.builders.test.js.map +1 -0
- package/dist/src/__tests__/middleware/license-renewal.test.d.ts +10 -0
- package/dist/src/__tests__/middleware/license-renewal.test.d.ts.map +1 -0
- package/dist/src/__tests__/middleware/license-renewal.test.js +152 -0
- package/dist/src/__tests__/middleware/license-renewal.test.js.map +1 -0
- package/dist/src/__tests__/middleware/quota-helpers.test.d.ts +9 -0
- package/dist/src/__tests__/middleware/quota-helpers.test.d.ts.map +1 -0
- package/dist/src/__tests__/middleware/quota-helpers.test.js +105 -0
- package/dist/src/__tests__/middleware/quota-helpers.test.js.map +1 -0
- package/dist/src/__tests__/middleware/quota.test.d.ts +12 -0
- package/dist/src/__tests__/middleware/quota.test.d.ts.map +1 -0
- package/dist/src/__tests__/middleware/quota.test.js +189 -0
- package/dist/src/__tests__/middleware/quota.test.js.map +1 -0
- package/dist/src/__tests__/recommend-online-path.test.d.ts +10 -0
- package/dist/src/__tests__/recommend-online-path.test.d.ts.map +1 -0
- package/dist/src/__tests__/recommend-online-path.test.js +225 -0
- package/dist/src/__tests__/recommend-online-path.test.js.map +1 -0
- package/dist/src/__tests__/recommend.test.d.ts +2 -0
- package/dist/src/__tests__/recommend.test.d.ts.map +1 -1
- package/dist/src/__tests__/recommend.test.js +14 -2
- package/dist/src/__tests__/recommend.test.js.map +1 -1
- package/dist/src/__tests__/search-online-path.test.d.ts +10 -0
- package/dist/src/__tests__/search-online-path.test.d.ts.map +1 -0
- package/dist/src/__tests__/search-online-path.test.js +140 -0
- package/dist/src/__tests__/search-online-path.test.js.map +1 -0
- package/dist/src/__tests__/search.test.js +153 -5
- package/dist/src/__tests__/search.test.js.map +1 -1
- package/dist/src/context/project-detector.d.ts.map +1 -1
- package/dist/src/context/project-detector.js +1 -0
- package/dist/src/context/project-detector.js.map +1 -1
- package/dist/src/context.async.d.ts +48 -0
- package/dist/src/context.async.d.ts.map +1 -0
- package/dist/src/context.async.js +215 -0
- package/dist/src/context.async.js.map +1 -0
- package/dist/src/context.d.ts +5 -145
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.helpers.d.ts +25 -0
- package/dist/src/context.helpers.d.ts.map +1 -0
- package/dist/src/context.helpers.js +49 -0
- package/dist/src/context.helpers.js.map +1 -0
- package/dist/src/context.js +11 -228
- package/dist/src/context.js.map +1 -1
- package/dist/src/context.types.d.ts +110 -0
- package/dist/src/context.types.d.ts.map +1 -0
- package/dist/src/context.types.js +10 -0
- package/dist/src/context.types.js.map +1 -0
- package/dist/src/health/readinessCheck.d.ts +1 -1
- package/dist/src/health/readinessCheck.d.ts.map +1 -1
- package/dist/src/index.js +21 -152
- package/dist/src/index.js.map +1 -1
- package/dist/src/indexer/FrontmatterParser.d.ts +6 -0
- package/dist/src/indexer/FrontmatterParser.d.ts.map +1 -1
- package/dist/src/indexer/FrontmatterParser.js +15 -0
- package/dist/src/indexer/FrontmatterParser.js.map +1 -1
- package/dist/src/indexer/LocalIndexer.d.ts +4 -0
- package/dist/src/indexer/LocalIndexer.d.ts.map +1 -1
- package/dist/src/indexer/LocalIndexer.js +3 -0
- package/dist/src/indexer/LocalIndexer.js.map +1 -1
- package/dist/src/middleware/degradation.d.ts.map +1 -1
- package/dist/src/middleware/degradation.js +8 -0
- package/dist/src/middleware/degradation.js.map +1 -1
- package/dist/src/middleware/errorFormatter.builders.d.ts +49 -0
- package/dist/src/middleware/errorFormatter.builders.d.ts.map +1 -0
- package/dist/src/middleware/errorFormatter.builders.js +237 -0
- package/dist/src/middleware/errorFormatter.builders.js.map +1 -0
- package/dist/src/middleware/errorFormatter.d.ts +5 -100
- package/dist/src/middleware/errorFormatter.d.ts.map +1 -1
- package/dist/src/middleware/errorFormatter.js +16 -238
- package/dist/src/middleware/errorFormatter.js.map +1 -1
- package/dist/src/middleware/errorFormatter.types.d.ts +81 -0
- package/dist/src/middleware/errorFormatter.types.d.ts.map +1 -0
- package/dist/src/middleware/errorFormatter.types.js +34 -0
- package/dist/src/middleware/errorFormatter.types.js.map +1 -0
- package/dist/src/middleware/toolFeatureMapping.d.ts +1 -1
- package/dist/src/middleware/toolFeatureMapping.d.ts.map +1 -1
- package/dist/src/middleware/toolFeatureMapping.js +8 -0
- package/dist/src/middleware/toolFeatureMapping.js.map +1 -1
- package/dist/src/tool-dispatch.d.ts +27 -0
- package/dist/src/tool-dispatch.d.ts.map +1 -0
- package/dist/src/tool-dispatch.js +127 -0
- package/dist/src/tool-dispatch.js.map +1 -0
- package/dist/src/tools/LocalSkillSearch.d.ts.map +1 -1
- package/dist/src/tools/LocalSkillSearch.js +4 -0
- package/dist/src/tools/LocalSkillSearch.js.map +1 -1
- package/dist/src/tools/get-skill.d.ts.map +1 -1
- package/dist/src/tools/get-skill.js +14 -0
- package/dist/src/tools/get-skill.js.map +1 -1
- package/dist/src/tools/index.d.ts +6 -0
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +6 -0
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/install.d.ts +3 -35
- package/dist/src/tools/install.d.ts.map +1 -1
- package/dist/src/tools/install.js +22 -74
- package/dist/src/tools/install.js.map +1 -1
- package/dist/src/tools/install.optimize.d.ts +46 -0
- package/dist/src/tools/install.optimize.d.ts.map +1 -0
- package/dist/src/tools/install.optimize.js +67 -0
- package/dist/src/tools/install.optimize.js.map +1 -0
- package/dist/src/tools/install.tool.d.ts +44 -0
- package/dist/src/tools/install.tool.d.ts.map +1 -0
- package/dist/src/tools/install.tool.js +44 -0
- package/dist/src/tools/install.tool.js.map +1 -0
- package/dist/src/tools/install.types.d.ts +7 -1
- package/dist/src/tools/install.types.d.ts.map +1 -1
- package/dist/src/tools/recommend.d.ts +2 -4
- package/dist/src/tools/recommend.d.ts.map +1 -1
- package/dist/src/tools/recommend.format.d.ts +28 -0
- package/dist/src/tools/recommend.format.d.ts.map +1 -0
- package/dist/src/tools/recommend.format.js +111 -0
- package/dist/src/tools/recommend.format.js.map +1 -0
- package/dist/src/tools/recommend.js +6 -97
- package/dist/src/tools/recommend.js.map +1 -1
- package/dist/src/tools/recommend.types.d.ts +1 -1
- package/dist/src/tools/search.d.ts +24 -21
- package/dist/src/tools/search.d.ts.map +1 -1
- package/dist/src/tools/search.formatter.d.ts +30 -0
- package/dist/src/tools/search.formatter.d.ts.map +1 -0
- package/dist/src/tools/search.formatter.js +64 -0
- package/dist/src/tools/search.formatter.js.map +1 -0
- package/dist/src/tools/search.js +55 -54
- package/dist/src/tools/search.js.map +1 -1
- package/dist/src/tools/skill-audit.d.ts +98 -0
- package/dist/src/tools/skill-audit.d.ts.map +1 -0
- package/dist/src/tools/skill-audit.js +105 -0
- package/dist/src/tools/skill-audit.js.map +1 -0
- package/dist/src/tools/skill-audit.test.d.ts +6 -0
- package/dist/src/tools/skill-audit.test.d.ts.map +1 -0
- package/dist/src/tools/skill-audit.test.js +121 -0
- package/dist/src/tools/skill-audit.test.js.map +1 -0
- package/dist/src/tools/skill-diff.d.ts +107 -0
- package/dist/src/tools/skill-diff.d.ts.map +1 -0
- package/dist/src/tools/skill-diff.js +268 -0
- package/dist/src/tools/skill-diff.js.map +1 -0
- package/dist/src/tools/skill-diff.test.d.ts +6 -0
- package/dist/src/tools/skill-diff.test.d.ts.map +1 -0
- package/dist/src/tools/skill-diff.test.js +260 -0
- package/dist/src/tools/skill-diff.test.js.map +1 -0
- package/dist/src/tools/skill-updates.d.ts +1 -1
- package/dist/src/tools/skill-updates.d.ts.map +1 -1
- package/dist/src/tools/suggest.d.ts +4 -4
- package/dist/src/tools/uninstall.d.ts +1 -1
- package/dist/src/tools/validate.helpers.d.ts.map +1 -1
- package/dist/src/tools/validate.helpers.js +31 -0
- package/dist/src/tools/validate.helpers.js.map +1 -1
- package/dist/src/utils/validation.d.ts +13 -0
- package/dist/src/utils/validation.d.ts.map +1 -1
- package/dist/src/utils/validation.js +27 -0
- package/dist/src/utils/validation.js.map +1 -1
- package/dist/tests/health.test.js +4 -4
- package/dist/tests/health.test.js.map +1 -1
- package/dist/tests/integration/recommend.integration.test.js +2 -0
- package/dist/tests/integration/recommend.integration.test.js.map +1 -1
- package/dist/tests/integration/setup.d.ts +3 -1
- package/dist/tests/integration/setup.d.ts.map +1 -1
- package/dist/tests/integration/setup.js +4 -1
- package/dist/tests/integration/setup.js.map +1 -1
- package/dist/tests/recommend.test.js +2 -0
- package/dist/tests/recommend.test.js.map +1 -1
- package/dist/tests/unit/validate-helpers.test.js +54 -0
- package/dist/tests/unit/validate-helpers.test.js.map +1 -1
- package/package.json +2 -2
- package/server.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorFormatter.js","sourceRoot":"","sources":["../../../src/middleware/errorFormatter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"errorFormatter.js","sourceRoot":"","sources":["../../../src/middleware/errorFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Error Formatter Type Definitions
|
|
3
|
+
* @module @skillsmith/mcp-server/middleware/errorFormatter.types
|
|
4
|
+
* @see SMI-1061: MCP Error Formatter for License Errors
|
|
5
|
+
* @see SMI-2741: Split from errorFormatter.ts to meet 500-line standard
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* MCP-formatted error response content
|
|
9
|
+
*/
|
|
10
|
+
export interface MCPErrorContent {
|
|
11
|
+
type: 'text';
|
|
12
|
+
text: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* MCP-formatted error response
|
|
16
|
+
*/
|
|
17
|
+
export interface MCPErrorResponse {
|
|
18
|
+
content: MCPErrorContent[];
|
|
19
|
+
isError: true;
|
|
20
|
+
_meta?: {
|
|
21
|
+
upgradeUrl?: string;
|
|
22
|
+
errorCode?: string;
|
|
23
|
+
recoverable?: boolean;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* License error details structure (mirrors the enterprise package)
|
|
28
|
+
*/
|
|
29
|
+
export interface LicenseErrorDetails {
|
|
30
|
+
code: string;
|
|
31
|
+
message: string;
|
|
32
|
+
feature?: string;
|
|
33
|
+
currentTier?: string;
|
|
34
|
+
requiredTier?: string;
|
|
35
|
+
upgradeUrl?: string;
|
|
36
|
+
context?: Record<string, unknown>;
|
|
37
|
+
timestamp?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Interface for license errors (duck-typed for optional enterprise package)
|
|
41
|
+
*/
|
|
42
|
+
export interface LicenseErrorLike {
|
|
43
|
+
code?: string;
|
|
44
|
+
message: string;
|
|
45
|
+
feature?: string;
|
|
46
|
+
currentTier?: string;
|
|
47
|
+
requiredTier?: string;
|
|
48
|
+
upgradeUrl?: string;
|
|
49
|
+
context?: Record<string, unknown>;
|
|
50
|
+
timestamp?: Date;
|
|
51
|
+
toJSON?: () => Record<string, unknown>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Configuration for upgrade URLs
|
|
55
|
+
*/
|
|
56
|
+
export interface UpgradeUrlConfig {
|
|
57
|
+
baseUrl?: string;
|
|
58
|
+
includeFeature?: boolean;
|
|
59
|
+
includeTiers?: boolean;
|
|
60
|
+
includeSource?: boolean;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Default configuration for upgrade URL generation
|
|
64
|
+
*/
|
|
65
|
+
export declare const DEFAULT_UPGRADE_URL_CONFIG: UpgradeUrlConfig;
|
|
66
|
+
/**
|
|
67
|
+
* Details from a 401 API authentication error
|
|
68
|
+
*/
|
|
69
|
+
export interface ApiAuthErrorDetails {
|
|
70
|
+
reason?: string;
|
|
71
|
+
signupUrl?: string;
|
|
72
|
+
docsUrl?: string;
|
|
73
|
+
hint?: string;
|
|
74
|
+
trialUsed?: number;
|
|
75
|
+
trialLimit?: number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Map internal license error codes to user-friendly messages
|
|
79
|
+
*/
|
|
80
|
+
export declare const ERROR_MESSAGES: Record<string, string>;
|
|
81
|
+
//# sourceMappingURL=errorFormatter.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorFormatter.types.d.ts","sourceRoot":"","sources":["../../../src/middleware/errorFormatter.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,OAAO,CAAA;KACtB,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACvC;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,gBAKxC,CAAA;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAMD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWjD,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Error Formatter Type Definitions
|
|
3
|
+
* @module @skillsmith/mcp-server/middleware/errorFormatter.types
|
|
4
|
+
* @see SMI-1061: MCP Error Formatter for License Errors
|
|
5
|
+
* @see SMI-2741: Split from errorFormatter.ts to meet 500-line standard
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Default configuration for upgrade URL generation
|
|
9
|
+
*/
|
|
10
|
+
export const DEFAULT_UPGRADE_URL_CONFIG = {
|
|
11
|
+
baseUrl: 'https://skillsmith.app/upgrade',
|
|
12
|
+
includeFeature: true,
|
|
13
|
+
includeTiers: true,
|
|
14
|
+
includeSource: true,
|
|
15
|
+
};
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// Error Code Constants
|
|
18
|
+
// ============================================================================
|
|
19
|
+
/**
|
|
20
|
+
* Map internal license error codes to user-friendly messages
|
|
21
|
+
*/
|
|
22
|
+
export const ERROR_MESSAGES = {
|
|
23
|
+
E001: 'Your license has expired. Please renew to continue using premium features.',
|
|
24
|
+
E002: 'Your license key is invalid. Please verify the key format or contact support.',
|
|
25
|
+
E003: 'No license key found. Set SKILLSMITH_LICENSE_KEY environment variable.',
|
|
26
|
+
E004: 'This feature is not available in your current license tier.',
|
|
27
|
+
E005: 'You have exceeded your license quota. Please upgrade or reduce usage.',
|
|
28
|
+
LICENSE_EXPIRED: 'Your license has expired. Please renew to continue using premium features.',
|
|
29
|
+
LICENSE_INVALID: 'Your license key is invalid. Please verify the key format or contact support.',
|
|
30
|
+
LICENSE_NOT_FOUND: 'No license key found. Set SKILLSMITH_LICENSE_KEY environment variable.',
|
|
31
|
+
FEATURE_NOT_AVAILABLE: 'This feature is not available in your current license tier.',
|
|
32
|
+
QUOTA_EXCEEDED: 'You have exceeded your license quota. Please upgrade or reduce usage.',
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=errorFormatter.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorFormatter.types.js","sourceRoot":"","sources":["../../../src/middleware/errorFormatter.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsEH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqB;IAC1D,OAAO,EAAE,gCAAgC;IACzC,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;CACpB,CAAA;AAkBD,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,IAAI,EAAE,4EAA4E;IAClF,IAAI,EAAE,+EAA+E;IACrF,IAAI,EAAE,wEAAwE;IAC9E,IAAI,EAAE,6DAA6D;IACnE,IAAI,EAAE,uEAAuE;IAC7E,eAAe,EAAE,4EAA4E;IAC7F,eAAe,EAAE,+EAA+E;IAChG,iBAAiB,EAAE,wEAAwE;IAC3F,qBAAqB,EAAE,6DAA6D;IACpF,cAAc,EAAE,uEAAuE;CACxF,CAAA"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*
|
|
18
18
|
* @see packages/enterprise/src/license/FeatureFlags.ts for canonical definition
|
|
19
19
|
*/
|
|
20
|
-
export type FeatureFlag = 'basic_analytics' | 'email_support' | 'private_skills' | 'team_workspaces' | 'usage_analytics' | 'priority_support' | 'sso_saml' | 'rbac' | 'audit_logging' | 'siem_export' | 'compliance_reports' | 'private_registry' | 'custom_integrations' | 'advanced_analytics';
|
|
20
|
+
export type FeatureFlag = 'basic_analytics' | 'email_support' | 'version_tracking' | 'private_skills' | 'team_workspaces' | 'usage_analytics' | 'priority_support' | 'skill_security_audit' | 'sso_saml' | 'rbac' | 'audit_logging' | 'siem_export' | 'compliance_reports' | 'private_registry' | 'custom_integrations' | 'advanced_analytics';
|
|
21
21
|
/**
|
|
22
22
|
* Mapping of tool names to their required feature flags
|
|
23
23
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolFeatureMapping.d.ts","sourceRoot":"","sources":["../../../src/middleware/toolFeatureMapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAEnB,iBAAiB,GACjB,eAAe,
|
|
1
|
+
{"version":3,"file":"toolFeatureMapping.d.ts","sourceRoot":"","sources":["../../../src/middleware/toolFeatureMapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAEnB,iBAAiB,GACjB,eAAe,GACf,kBAAkB,GAElB,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,sBAAsB,GAEtB,UAAU,GACV,MAAM,GACN,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,kBAAkB,GAElB,qBAAqB,GACrB,oBAAoB,CAAA;AAExB;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAyC5D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAqB7D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,GAAG,MAAM,GAAG,YAAY,CAqBnF,CAAA"}
|
|
@@ -24,7 +24,11 @@ export const TOOL_FEATURES = {
|
|
|
24
24
|
skill_validate: null,
|
|
25
25
|
skill_compare: null,
|
|
26
26
|
skill_suggest: null,
|
|
27
|
+
// Individual tools
|
|
28
|
+
skill_updates: 'version_tracking',
|
|
29
|
+
skill_diff: 'version_tracking',
|
|
27
30
|
// Team tools - require team features
|
|
31
|
+
skill_audit: 'skill_security_audit',
|
|
28
32
|
publish_private: 'private_skills',
|
|
29
33
|
team_workspace: 'team_workspaces',
|
|
30
34
|
share_skill: 'team_workspaces',
|
|
@@ -54,11 +58,13 @@ export const FEATURE_DISPLAY_NAMES = {
|
|
|
54
58
|
// Individual tier features
|
|
55
59
|
basic_analytics: 'Basic Analytics',
|
|
56
60
|
email_support: 'Email Support',
|
|
61
|
+
version_tracking: 'Version Tracking',
|
|
57
62
|
// Team tier features
|
|
58
63
|
private_skills: 'Private Skills',
|
|
59
64
|
team_workspaces: 'Team Workspaces',
|
|
60
65
|
usage_analytics: 'Usage Analytics',
|
|
61
66
|
priority_support: 'Priority Support',
|
|
67
|
+
skill_security_audit: 'Security Audit',
|
|
62
68
|
// Enterprise tier features
|
|
63
69
|
sso_saml: 'SSO/SAML Integration',
|
|
64
70
|
rbac: 'Role-Based Access Control',
|
|
@@ -77,11 +83,13 @@ export const FEATURE_TIERS = {
|
|
|
77
83
|
// Individual tier features
|
|
78
84
|
basic_analytics: 'individual',
|
|
79
85
|
email_support: 'individual',
|
|
86
|
+
version_tracking: 'individual',
|
|
80
87
|
// Team tier features
|
|
81
88
|
private_skills: 'team',
|
|
82
89
|
team_workspaces: 'team',
|
|
83
90
|
usage_analytics: 'team',
|
|
84
91
|
priority_support: 'team',
|
|
92
|
+
skill_security_audit: 'team',
|
|
85
93
|
// Enterprise tier features
|
|
86
94
|
sso_saml: 'enterprise',
|
|
87
95
|
rbac: 'enterprise',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolFeatureMapping.js","sourceRoot":"","sources":["../../../src/middleware/toolFeatureMapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"toolFeatureMapping.js","sourceRoot":"","sources":["../../../src/middleware/toolFeatureMapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAiCH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAuC;IAC/D,sDAAsD;IACtD,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IAEnB,mBAAmB;IACnB,aAAa,EAAE,kBAAkB;IACjC,UAAU,EAAE,kBAAkB;IAE9B,qCAAqC;IACrC,WAAW,EAAE,sBAAsB;IACnC,eAAe,EAAE,gBAAgB;IACjC,cAAc,EAAE,iBAAiB;IACjC,WAAW,EAAE,iBAAiB;IAE9B,iDAAiD;IACjD,aAAa,EAAE,UAAU;IACzB,YAAY,EAAE,UAAU;IACxB,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,MAAM;IACnB,gBAAgB,EAAE,MAAM;IACxB,kBAAkB,EAAE,MAAM;IAC1B,WAAW,EAAE,aAAa;IAC1B,iBAAiB,EAAE,oBAAoB;IACvC,wBAAwB,EAAE,kBAAkB;IAC5C,uBAAuB,EAAE,kBAAkB;IAE3C,kBAAkB;IAClB,mBAAmB,EAAE,oBAAoB;IACzC,YAAY,EAAE,oBAAoB;IAElC,oBAAoB;IACpB,iBAAiB,EAAE,qBAAqB;IACxC,cAAc,EAAE,qBAAqB;CACtC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IAChE,2BAA2B;IAC3B,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,kBAAkB;IACpC,qBAAqB;IACrB,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,gBAAgB;IACtC,2BAA2B;IAC3B,QAAQ,EAAE,sBAAsB;IAChC,IAAI,EAAE,2BAA2B;IACjC,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB;IACtB,mBAAmB,EAAE,qBAAqB;IAC1C,kBAAkB,EAAE,oBAAoB;CACzC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAA8D;IACtF,2BAA2B;IAC3B,eAAe,EAAE,YAAY;IAC7B,aAAa,EAAE,YAAY;IAC3B,gBAAgB,EAAE,YAAY;IAC9B,qBAAqB;IACrB,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,MAAM;IACvB,gBAAgB,EAAE,MAAM;IACxB,oBAAoB,EAAE,MAAM;IAC5B,2BAA2B;IAC3B,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,YAAY;IAClB,aAAa,EAAE,YAAY;IAC3B,WAAW,EAAE,YAAY;IACzB,kBAAkB,EAAE,YAAY;IAChC,gBAAgB,EAAE,YAAY;IAC9B,sBAAsB;IACtB,mBAAmB,EAAE,YAAY;IACjC,kBAAkB,EAAE,YAAY;CACjC,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Tool dispatch function for the Skillsmith MCP server
|
|
3
|
+
* @module @skillsmith/mcp-server/tool-dispatch
|
|
4
|
+
*
|
|
5
|
+
* Extracted from index.ts (SMI-skill-version-tracking Wave 2) to keep
|
|
6
|
+
* index.ts under the 500-line file-size gate.
|
|
7
|
+
*
|
|
8
|
+
* Handles the switch-case dispatch for all registered MCP tools,
|
|
9
|
+
* including license and quota enforcement for gated tools.
|
|
10
|
+
*/
|
|
11
|
+
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
12
|
+
import type { ToolContext } from './context.js';
|
|
13
|
+
import type { LicenseMiddleware } from './middleware/license.js';
|
|
14
|
+
import type { QuotaMiddleware } from './middleware/quota.js';
|
|
15
|
+
/**
|
|
16
|
+
* Dispatch a tool call to its handler, applying license and quota checks
|
|
17
|
+
* for gated tools.
|
|
18
|
+
*
|
|
19
|
+
* @param name MCP tool name
|
|
20
|
+
* @param args Raw tool arguments from the request
|
|
21
|
+
* @param toolContext Initialized database + repository context
|
|
22
|
+
* @param licenseMiddleware License validation middleware instance
|
|
23
|
+
* @param quotaMiddleware Quota enforcement middleware instance
|
|
24
|
+
* @returns MCP tool response
|
|
25
|
+
*/
|
|
26
|
+
export declare function dispatchToolCall(name: string, args: Record<string, unknown> | undefined, toolContext: ToolContext, licenseMiddleware: LicenseMiddleware, quotaMiddleware: QuotaMiddleware): Promise<CallToolResult>;
|
|
27
|
+
//# sourceMappingURL=tool-dispatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-dispatch.d.ts","sourceRoot":"","sources":["../../src/tool-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAe/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAwB5D;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,cAAc,CAAC,CAmFzB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Tool dispatch function for the Skillsmith MCP server
|
|
3
|
+
* @module @skillsmith/mcp-server/tool-dispatch
|
|
4
|
+
*
|
|
5
|
+
* Extracted from index.ts (SMI-skill-version-tracking Wave 2) to keep
|
|
6
|
+
* index.ts under the 500-line file-size gate.
|
|
7
|
+
*
|
|
8
|
+
* Handles the switch-case dispatch for all registered MCP tools,
|
|
9
|
+
* including license and quota enforcement for gated tools.
|
|
10
|
+
*/
|
|
11
|
+
import { executeSearch } from './tools/search.js';
|
|
12
|
+
import { executeGetSkill } from './tools/get-skill.js';
|
|
13
|
+
import { installSkill, installInputSchema } from './tools/install.js';
|
|
14
|
+
import { uninstallSkill, uninstallInputSchema } from './tools/uninstall.js';
|
|
15
|
+
import { recommendInputSchema, executeRecommend } from './tools/recommend.js';
|
|
16
|
+
import { validateInputSchema, executeValidate } from './tools/validate.js';
|
|
17
|
+
import { compareInputSchema, executeCompare } from './tools/compare.js';
|
|
18
|
+
import { suggestInputSchema, executeSuggest } from './tools/suggest.js';
|
|
19
|
+
import { indexLocalInputSchema, executeIndexLocal } from './tools/index-local.js';
|
|
20
|
+
import { publishInputSchema, executePublish } from './tools/publish.js';
|
|
21
|
+
import { skillUpdatesInputSchema, executeSkillUpdates } from './tools/skill-updates.js';
|
|
22
|
+
import { skillDiffInputSchema, executeSkillDiff } from './tools/skill-diff.js';
|
|
23
|
+
import { skillAuditInputSchema, executeSkillAudit } from './tools/skill-audit.js';
|
|
24
|
+
import { createLicenseErrorResponse } from './middleware/license.js';
|
|
25
|
+
/**
|
|
26
|
+
* Build a standard tool success response wrapping a JSON-serialisable result.
|
|
27
|
+
*/
|
|
28
|
+
function ok(result) {
|
|
29
|
+
return {
|
|
30
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Cast a middleware error response (MCPErrorResponse) to CallToolResult.
|
|
35
|
+
* MCPErrorResponse is structurally compatible but lacks the index signature
|
|
36
|
+
* that Zod's $loose schema infers on CallToolResult.
|
|
37
|
+
*/
|
|
38
|
+
function errResponse(response) {
|
|
39
|
+
return response;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Dispatch a tool call to its handler, applying license and quota checks
|
|
43
|
+
* for gated tools.
|
|
44
|
+
*
|
|
45
|
+
* @param name MCP tool name
|
|
46
|
+
* @param args Raw tool arguments from the request
|
|
47
|
+
* @param toolContext Initialized database + repository context
|
|
48
|
+
* @param licenseMiddleware License validation middleware instance
|
|
49
|
+
* @param quotaMiddleware Quota enforcement middleware instance
|
|
50
|
+
* @returns MCP tool response
|
|
51
|
+
*/
|
|
52
|
+
export async function dispatchToolCall(name, args, toolContext, licenseMiddleware, quotaMiddleware) {
|
|
53
|
+
switch (name) {
|
|
54
|
+
case 'search': {
|
|
55
|
+
const input = (args ?? {});
|
|
56
|
+
return ok(await executeSearch(input, toolContext));
|
|
57
|
+
}
|
|
58
|
+
case 'get_skill': {
|
|
59
|
+
const input = (args ?? {});
|
|
60
|
+
return ok(await executeGetSkill(input, toolContext));
|
|
61
|
+
}
|
|
62
|
+
case 'install_skill':
|
|
63
|
+
return ok(await installSkill(installInputSchema.parse(args), toolContext));
|
|
64
|
+
case 'uninstall_skill':
|
|
65
|
+
return ok(await uninstallSkill(uninstallInputSchema.parse(args), toolContext));
|
|
66
|
+
case 'skill_recommend':
|
|
67
|
+
return ok(await executeRecommend(recommendInputSchema.parse(args), toolContext));
|
|
68
|
+
case 'skill_validate':
|
|
69
|
+
return ok(await executeValidate(validateInputSchema.parse(args), toolContext));
|
|
70
|
+
case 'skill_compare':
|
|
71
|
+
return ok(await executeCompare(compareInputSchema.parse(args), toolContext));
|
|
72
|
+
case 'skill_suggest': {
|
|
73
|
+
const input = suggestInputSchema.parse(args);
|
|
74
|
+
let licenseInfo = null;
|
|
75
|
+
try {
|
|
76
|
+
licenseInfo = await licenseMiddleware.getLicenseInfo();
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// Enterprise package absent or network error — degrade to community tier.
|
|
80
|
+
}
|
|
81
|
+
const quotaResult = await quotaMiddleware.checkAndTrack('skill_suggest', licenseInfo);
|
|
82
|
+
if (!quotaResult.allowed)
|
|
83
|
+
return errResponse(quotaMiddleware.buildExceededResponse(quotaResult));
|
|
84
|
+
return ok(await executeSuggest(input, toolContext));
|
|
85
|
+
}
|
|
86
|
+
case 'index_local':
|
|
87
|
+
return ok(await executeIndexLocal(indexLocalInputSchema.parse(args), toolContext));
|
|
88
|
+
case 'skill_publish':
|
|
89
|
+
return ok(await executePublish(publishInputSchema.parse(args), toolContext));
|
|
90
|
+
case 'skill_updates': {
|
|
91
|
+
const input = skillUpdatesInputSchema.parse(args);
|
|
92
|
+
const license = await licenseMiddleware.checkTool('skill_updates');
|
|
93
|
+
if (!license.valid)
|
|
94
|
+
return errResponse(createLicenseErrorResponse(license));
|
|
95
|
+
const licenseInfo = await licenseMiddleware.getLicenseInfo();
|
|
96
|
+
const quotaResult = await quotaMiddleware.checkAndTrack('skill_updates', licenseInfo);
|
|
97
|
+
if (!quotaResult.allowed)
|
|
98
|
+
return errResponse(quotaMiddleware.buildExceededResponse(quotaResult));
|
|
99
|
+
return ok(await executeSkillUpdates(input, toolContext));
|
|
100
|
+
}
|
|
101
|
+
case 'skill_diff': {
|
|
102
|
+
const input = skillDiffInputSchema.parse(args);
|
|
103
|
+
const licenseResult = await licenseMiddleware.checkTool('skill_diff');
|
|
104
|
+
if (!licenseResult.valid)
|
|
105
|
+
return errResponse(createLicenseErrorResponse(licenseResult));
|
|
106
|
+
const licenseInfo = await licenseMiddleware.getLicenseInfo();
|
|
107
|
+
const quotaResult = await quotaMiddleware.checkAndTrack('skill_diff', licenseInfo);
|
|
108
|
+
if (!quotaResult.allowed)
|
|
109
|
+
return errResponse(quotaMiddleware.buildExceededResponse(quotaResult));
|
|
110
|
+
return ok(await executeSkillDiff(input, toolContext));
|
|
111
|
+
}
|
|
112
|
+
case 'skill_audit': {
|
|
113
|
+
const input = skillAuditInputSchema.parse(args);
|
|
114
|
+
const licenseResult = await licenseMiddleware.checkTool('skill_audit');
|
|
115
|
+
if (!licenseResult.valid)
|
|
116
|
+
return errResponse(createLicenseErrorResponse(licenseResult));
|
|
117
|
+
const licenseInfo = await licenseMiddleware.getLicenseInfo();
|
|
118
|
+
const quotaResult = await quotaMiddleware.checkAndTrack('skill_audit', licenseInfo);
|
|
119
|
+
if (!quotaResult.allowed)
|
|
120
|
+
return errResponse(quotaMiddleware.buildExceededResponse(quotaResult));
|
|
121
|
+
return ok(await executeSkillAudit(input, toolContext));
|
|
122
|
+
}
|
|
123
|
+
default:
|
|
124
|
+
throw new Error('Unknown tool: ' + name);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=tool-dispatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-dispatch.js","sourceRoot":"","sources":["../../src/tool-dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalSkillSearch.d.ts","sourceRoot":"","sources":["../../../src/tools/LocalSkillSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAK1E;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"LocalSkillSearch.d.ts","sourceRoot":"","sources":["../../../src/tools/LocalSkillSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAK1E;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,iBAAiB,CAgB7E;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA8B9B"}
|
|
@@ -36,6 +36,10 @@ export function localSkillToSearchResult(skill) {
|
|
|
36
36
|
trustTier: 'local',
|
|
37
37
|
score: skill.qualityScore,
|
|
38
38
|
source: 'local',
|
|
39
|
+
// SMI-2759: Surface repository link for source transparency
|
|
40
|
+
repository: skill.repository || undefined,
|
|
41
|
+
// SMI-2760: Compatibility tags from frontmatter
|
|
42
|
+
compatibility: skill.compatibility && skill.compatibility.length > 0 ? skill.compatibility : undefined,
|
|
39
43
|
};
|
|
40
44
|
}
|
|
41
45
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalSkillSearch.js","sourceRoot":"","sources":["../../../src/tools/LocalSkillSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAA;AAE1E,0CAA0C;AAC1C,IAAI,YAAY,GAAwB,IAAI,CAAA;AAE5C;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;IACnC,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAiB;IACxD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7C,SAAS,EAAE,OAAoB;QAC/B,KAAK,EAAE,KAAK,CAAC,YAAY;QACzB,MAAM,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"LocalSkillSearch.js","sourceRoot":"","sources":["../../../src/tools/LocalSkillSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAA;AAE1E,0CAA0C;AAC1C,IAAI,YAAY,GAAwB,IAAI,CAAA;AAE5C;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;IACnC,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAiB;IACxD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7C,SAAS,EAAE,OAAoB;QAC/B,KAAK,EAAE,KAAK,CAAC,YAAY;QACzB,MAAM,EAAE,OAAO;QACf,4DAA4D;QAC5D,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;QACzC,gDAAgD;QAChD,aAAa,EACX,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;KAC1F,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,OAAsB;IAEtB,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;IAEjC,2CAA2C;IAC3C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IAEzC,mCAAmC;IACnC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,8BAA8B;IAC9B,IAAI,cAAc,GAAiB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;IAE3F,yBAAyB;IACzB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAA,CAAC,4BAA4B;QAC3E,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,eAAe,CAAC,CAAA;IAC1F,CAAC;IAED,wBAAwB;IACxB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACzD,OAAO,aAAa,KAAK,OAAO,CAAC,QAAQ,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,sCAAsC;IACtC,OAAO,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-skill.d.ts","sourceRoot":"","sources":["../../../src/tools/get-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAEL,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"get-skill.d.ts","sourceRoot":"","sources":["../../../src/tools/get-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAEL,KAAK,gBAAgB,EAOtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CAa9B,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAA;CACX;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAqI3B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAwFrE"}
|
|
@@ -111,9 +111,12 @@ export async function executeGetSkill(input, context) {
|
|
|
111
111
|
if (context.distinctId) {
|
|
112
112
|
trackSkillView(context.distinctId, skill.id, 'mcp');
|
|
113
113
|
}
|
|
114
|
+
// SMI-2761: Populate also_installed from local co-install repository
|
|
115
|
+
const alsoInstalled = context.coInstallRepository.getTopCoInstalls(skill.id);
|
|
114
116
|
return {
|
|
115
117
|
skill,
|
|
116
118
|
installCommand: skill.installCommand || 'claude skill add ' + skill.id,
|
|
119
|
+
also_installed: alsoInstalled.length > 0 ? alsoInstalled : undefined,
|
|
117
120
|
timing: {
|
|
118
121
|
totalMs: Math.round(endTime - startTime),
|
|
119
122
|
},
|
|
@@ -162,9 +165,12 @@ export async function executeGetSkill(input, context) {
|
|
|
162
165
|
if (context.distinctId) {
|
|
163
166
|
trackSkillView(context.distinctId, skill.id, 'mcp');
|
|
164
167
|
}
|
|
168
|
+
// SMI-2761: Populate also_installed from co-install repository
|
|
169
|
+
const alsoInstalled = context.coInstallRepository.getTopCoInstalls(skill.id);
|
|
165
170
|
return {
|
|
166
171
|
skill,
|
|
167
172
|
installCommand: skill.installCommand || 'claude skill add ' + skill.id,
|
|
173
|
+
also_installed: alsoInstalled.length > 0 ? alsoInstalled : undefined,
|
|
168
174
|
timing: {
|
|
169
175
|
totalMs: Math.round(endTime - startTime),
|
|
170
176
|
},
|
|
@@ -257,6 +263,14 @@ export function formatSkillDetails(response) {
|
|
|
257
263
|
lines.push(' Status: Not scanned');
|
|
258
264
|
}
|
|
259
265
|
lines.push('');
|
|
266
|
+
// SMI-2761: Co-install recommendations
|
|
267
|
+
if (response.also_installed && response.also_installed.length > 0) {
|
|
268
|
+
lines.push('--- Users Also Installed ---');
|
|
269
|
+
for (const co of response.also_installed) {
|
|
270
|
+
lines.push(' ' + co.skillId + (co.description ? ' — ' + co.description : ''));
|
|
271
|
+
}
|
|
272
|
+
lines.push('');
|
|
273
|
+
}
|
|
260
274
|
// Installation
|
|
261
275
|
lines.push('--- Installation ---');
|
|
262
276
|
lines.push(' ' + response.installCommand);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-skill.js","sourceRoot":"","sources":["../../../src/tools/get-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"get-skill.js","sourceRoot":"","sources":["../../../src/tools/get-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAKL,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAEpG;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;CAC9C,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,6CAA6C;IAC1D,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iDAAiD;aAC/D;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;CACF,CAAA;AAWD,sDAAsD;AAEtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAoB,EACpB,OAAoB;IAEpB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IAEnC,iBAAiB;IACjB,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,eAAe,CAAC,UAAU,CAAC,yBAAyB,EAAE,sBAAsB,EAAE;YACtF,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;IAE/B,qBAAqB;IACrB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,eAAe,CACvB,UAAU,CAAC,gBAAgB,EAC3B,4BAA4B,GAAG,KAAK,CAAC,EAAE,GAAG,GAAG,EAC7C;YACE,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;YACzB,UAAU,EACR,8FAA8F;SACjG,CACF,CAAA;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAA;YAEjC,wCAAwC;YACxC,MAAM,KAAK,GAAU;gBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;gBACvC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,SAAS;gBACpC,UAAU,EAAE,QAAQ,CAAC,QAAQ,IAAI,SAAS;gBAC1C,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAChD,SAAS,EAAE,kBAAkB,CAAC,QAAQ,CAAC,UAAkD,CAAC;gBAC1F,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;gBACtD,cAAc,EAAE,SAAS;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;gBACzB,cAAc,EAAE,mBAAmB,GAAG,QAAQ,CAAC,EAAE;gBACjD,4DAA4D;gBAC5D,SAAS,EAAE,QAAQ,CAAC,UAAU,IAAI,0BAA0B;gBAC5D,SAAS,EAAE,QAAQ,CAAC,UAAU,IAAI,0BAA0B;aAC7D,CAAA;YAED,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YAEjC,uDAAuD;YACvD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACrD,CAAC;YAED,qEAAqE;YACrE,MAAM,aAAa,GAAyB,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CACtF,KAAK,CAAC,EAAE,CACT,CAAA;YAED,OAAO;gBACL,KAAK;gBACL,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,mBAAmB,GAAG,KAAK,CAAC,EAAE;gBACtE,cAAc,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;gBACpE,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;iBACzC;aACF,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kEAAkE;YAClE,oEAAoE;YACpE,OAAO,CAAC,IAAI,CACV,yDAAyD,EACxD,KAAe,CAAC,OAAO,CACzB,CAAA;QACH,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEzD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,eAAe,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,GAAG,KAAK,CAAC,EAAE,GAAG,aAAa,EAAE;YAC1F,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;YACzB,UAAU,EAAE,uDAAuD;SACpE,CAAC,CAAA;IACJ,CAAC;IAED,6CAA6C;IAC7C,MAAM,KAAK,GAAU;QACnB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;QACnC,UAAU,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;QACxC,OAAO,EAAE,SAAS,EAAE,uCAAuC;QAC3D,QAAQ,EAAE,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,SAAiD,CAAC;QACxF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;QACpD,cAAc,EAAE,SAAS,EAAE,yCAAyC;QACpE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;QACxB,cAAc,EAAE,mBAAmB,GAAG,OAAO,CAAC,EAAE;QAChD,4BAA4B;QAC5B,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO,CAAC,cAAc;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,qBAAqB;YAC5C,SAAS,EAAE,OAAO,CAAC,iBAAiB;SACrC;QACD,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAA;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IAEjC,uDAAuD;IACvD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IACrD,CAAC;IAED,+DAA+D;IAC/D,MAAM,aAAa,GAAyB,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAElG,OAAO;QACL,KAAK;QACL,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,mBAAmB,GAAG,KAAK,CAAC,EAAE;QACtE,cAAc,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QACpE,MAAM,EAAE;YACN,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;SACzC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAA0B;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAA;IAE5C,aAAa;IACb,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAA;IAC7B,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IACrC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAA;IAClD,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;IACzC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,8BAA8B;IAC9B,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,kBAAkB;IAClB,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;IACpD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9E,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;QACjF,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAA;QAClF,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC/E,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAA;IACtF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,aAAa;IACb,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO;IACP,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,gCAAgC;IAChC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACrC,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC9B,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAA;YACvE,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAA;QAClE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC9B,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC,CAAA;YAC9E,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAA;YAChE,KAAK,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACrC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,uCAAuC;IACvC,IAAI,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAC1C,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IAClC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IAE5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,IAAe;IACtC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,cAAc,CAAA;QACvB,KAAK,WAAW;YACd,OAAO,eAAe,CAAA;QACxB,KAAK,OAAO;YACV,OAAO,WAAW,CAAA,CAAC,gDAAgD;QACrE,KAAK,cAAc;YACjB,OAAO,kBAAkB,CAAA;QAC3B,KAAK,SAAS;YACZ,OAAO,aAAa,CAAA;IACxB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAA;IACzB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClD,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAA;AAC1C,CAAC"}
|
|
@@ -21,4 +21,10 @@ export { indexLocalToolSchema, indexLocalInputSchema, executeIndexLocal, formatI
|
|
|
21
21
|
export type { IndexLocalInput, IndexedSkillSummary, IndexLocalResponse } from './index-local.js';
|
|
22
22
|
export { publishToolSchema, publishInputSchema, executePublish, formatPublishResults, } from './publish.js';
|
|
23
23
|
export type { PublishInput, PublishResponse, ReferenceWarning, PreflightResult } from './publish.js';
|
|
24
|
+
export { skillUpdatesToolSchema, skillUpdatesInputSchema, executeSkillUpdates, } from './skill-updates.js';
|
|
25
|
+
export type { SkillUpdatesInput, SkillUpdateInfo, CheckUpdatesResponse } from './skill-updates.js';
|
|
26
|
+
export { skillDiffToolSchema, skillDiffInputSchema, executeSkillDiff, formatSkillDiffResults, } from './skill-diff.js';
|
|
27
|
+
export type { SkillDiffInput, SkillDiffResponse } from './skill-diff.js';
|
|
28
|
+
export { skillAuditToolSchema, skillAuditInputSchema, executeSkillAudit } from './skill-audit.js';
|
|
29
|
+
export type { SkillAuditInput, AdvisoryEntry, AdvisorySummary, SkillAuditResponse, } from './skill-audit.js';
|
|
24
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAClF,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC5E,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAG/D,OAAO,EACL,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGrE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACpE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAG5F,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,GACxB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGrF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,uBAAuB,GACxB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAGhG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAGhG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAClF,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC5E,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAG/D,OAAO,EACL,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGrE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACpE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAG5F,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,GACxB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGrF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,uBAAuB,GACxB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAGhG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAGhG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAGpG,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAGlG,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACjG,YAAY,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,GACnB,MAAM,kBAAkB,CAAA"}
|
package/dist/src/tools/index.js
CHANGED
|
@@ -21,4 +21,10 @@ export { analyzeToolSchema, analyzeInputSchema, executeAnalyze, formatAnalysisRe
|
|
|
21
21
|
export { indexLocalToolSchema, indexLocalInputSchema, executeIndexLocal, formatIndexLocalResults, } from './index-local.js';
|
|
22
22
|
// Publish tool (SMI-2440)
|
|
23
23
|
export { publishToolSchema, publishInputSchema, executePublish, formatPublishResults, } from './publish.js';
|
|
24
|
+
// Skill Updates tool (SMI-skill-version-tracking Wave 1)
|
|
25
|
+
export { skillUpdatesToolSchema, skillUpdatesInputSchema, executeSkillUpdates, } from './skill-updates.js';
|
|
26
|
+
// Skill Diff tool (SMI-skill-version-tracking Wave 2)
|
|
27
|
+
export { skillDiffToolSchema, skillDiffInputSchema, executeSkillDiff, formatSkillDiffResults, } from './skill-diff.js';
|
|
28
|
+
// Skill Audit tool (SMI-skill-version-tracking Wave 3)
|
|
29
|
+
export { skillAuditToolSchema, skillAuditInputSchema, executeSkillAudit } from './skill-audit.js';
|
|
24
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGlF,yBAAyB;AACzB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAG5E,2BAA2B;AAC3B,OAAO,EACL,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,gBAAgB,CAAA;AAGvB,2BAA2B;AAC3B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGpE,2BAA2B;AAC3B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AAGvB,0BAA0B;AAC1B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,GACxB,MAAM,eAAe,CAAA;AAGtB,yBAAyB;AACzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,uBAAuB,GACxB,MAAM,cAAc,CAAA;AAGrB,kCAAkC;AAClC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,cAAc,CAAA;AAQrB,qCAAqC;AACrC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AAGzB,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGlF,yBAAyB;AACzB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAG5E,2BAA2B;AAC3B,OAAO,EACL,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,gBAAgB,CAAA;AAGvB,2BAA2B;AAC3B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGpE,2BAA2B;AAC3B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AAGvB,0BAA0B;AAC1B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,GACxB,MAAM,eAAe,CAAA;AAGtB,yBAAyB;AACzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,uBAAuB,GACxB,MAAM,cAAc,CAAA;AAGrB,kCAAkC;AAClC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,cAAc,CAAA;AAQrB,qCAAqC;AACrC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AAGzB,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAGrB,yDAAyD;AACzD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;AAG3B,sDAAsD;AACtD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,iBAAiB,CAAA;AAGxB,uDAAuD;AACvD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @fileoverview MCP Install Skill Tool for downloading and installing skills
|
|
3
3
|
* @module @skillsmith/mcp-server/tools/install
|
|
4
4
|
* @see {@link https://github.com/wrsmith108/skillsmith|Skillsmith Repository}
|
|
5
|
+
* @see SMI-2741: Split to meet 500-line standard
|
|
5
6
|
*
|
|
6
7
|
* Provides skill installation functionality with:
|
|
7
8
|
* - GitHub repository fetching (supports owner/repo and full URLs)
|
|
@@ -14,6 +15,8 @@
|
|
|
14
15
|
*/
|
|
15
16
|
import type { ToolContext } from '../context.js';
|
|
16
17
|
import { type InstallInput, type InstallResult } from './install.types.js';
|
|
18
|
+
export { installTool } from './install.tool.js';
|
|
19
|
+
export { default } from './install.tool.js';
|
|
17
20
|
export { installInputSchema, type InstallInput, type InstallResult } from './install.types.js';
|
|
18
21
|
/**
|
|
19
22
|
* Install a skill from GitHub to the local Claude Code skills directory.
|
|
@@ -35,39 +38,4 @@ export { installInputSchema, type InstallInput, type InstallResult } from './ins
|
|
|
35
38
|
* @returns Promise resolving to installation result with success status
|
|
36
39
|
*/
|
|
37
40
|
export declare function installSkill(input: InstallInput, _context?: ToolContext): Promise<InstallResult>;
|
|
38
|
-
/**
|
|
39
|
-
* MCP tool definition
|
|
40
|
-
*/
|
|
41
|
-
export declare const installTool: {
|
|
42
|
-
name: string;
|
|
43
|
-
description: string;
|
|
44
|
-
inputSchema: {
|
|
45
|
-
type: "object";
|
|
46
|
-
properties: {
|
|
47
|
-
skillId: {
|
|
48
|
-
type: string;
|
|
49
|
-
description: string;
|
|
50
|
-
};
|
|
51
|
-
force: {
|
|
52
|
-
type: string;
|
|
53
|
-
description: string;
|
|
54
|
-
};
|
|
55
|
-
skipScan: {
|
|
56
|
-
type: string;
|
|
57
|
-
description: string;
|
|
58
|
-
};
|
|
59
|
-
skipOptimize: {
|
|
60
|
-
type: string;
|
|
61
|
-
description: string;
|
|
62
|
-
};
|
|
63
|
-
conflictAction: {
|
|
64
|
-
type: string;
|
|
65
|
-
enum: string[];
|
|
66
|
-
description: string;
|
|
67
|
-
};
|
|
68
|
-
};
|
|
69
|
-
required: string[];
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
export default installTool;
|
|
73
41
|
//# sourceMappingURL=install.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/tools/install.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/tools/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAIhD,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAA;AAuB3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAG3C,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAE9F;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,aAAa,CAAC,CAiaxB"}
|