@global-packages/mcp-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +97 -0
  2. package/dist/commands/add.d.ts +2 -0
  3. package/dist/commands/add.d.ts.map +1 -0
  4. package/dist/commands/add.js +89 -0
  5. package/dist/commands/add.js.map +1 -0
  6. package/dist/commands/backup.d.ts +6 -0
  7. package/dist/commands/backup.d.ts.map +1 -0
  8. package/dist/commands/backup.js +35 -0
  9. package/dist/commands/backup.js.map +1 -0
  10. package/dist/commands/completion.d.ts +2 -0
  11. package/dist/commands/completion.d.ts.map +1 -0
  12. package/dist/commands/completion.js +84 -0
  13. package/dist/commands/completion.js.map +1 -0
  14. package/dist/commands/doctor.d.ts +2 -0
  15. package/dist/commands/doctor.d.ts.map +1 -0
  16. package/dist/commands/doctor.js +148 -0
  17. package/dist/commands/doctor.js.map +1 -0
  18. package/dist/commands/env-check.d.ts +6 -0
  19. package/dist/commands/env-check.d.ts.map +1 -0
  20. package/dist/commands/env-check.js +53 -0
  21. package/dist/commands/env-check.js.map +1 -0
  22. package/dist/commands/export.d.ts +5 -0
  23. package/dist/commands/export.d.ts.map +1 -0
  24. package/dist/commands/export.js +55 -0
  25. package/dist/commands/export.js.map +1 -0
  26. package/dist/commands/import.d.ts +2 -0
  27. package/dist/commands/import.d.ts.map +1 -0
  28. package/dist/commands/import.js +90 -0
  29. package/dist/commands/import.js.map +1 -0
  30. package/dist/commands/info.d.ts +6 -0
  31. package/dist/commands/info.d.ts.map +1 -0
  32. package/dist/commands/info.js +92 -0
  33. package/dist/commands/info.js.map +1 -0
  34. package/dist/commands/init.d.ts +5 -0
  35. package/dist/commands/init.d.ts.map +1 -0
  36. package/dist/commands/init.js +118 -0
  37. package/dist/commands/init.js.map +1 -0
  38. package/dist/commands/install.d.ts +2 -0
  39. package/dist/commands/install.d.ts.map +1 -0
  40. package/dist/commands/install.js +69 -0
  41. package/dist/commands/install.js.map +1 -0
  42. package/dist/commands/list.d.ts +6 -0
  43. package/dist/commands/list.d.ts.map +1 -0
  44. package/dist/commands/list.js +55 -0
  45. package/dist/commands/list.js.map +1 -0
  46. package/dist/commands/open.d.ts +2 -0
  47. package/dist/commands/open.d.ts.map +1 -0
  48. package/dist/commands/open.js +32 -0
  49. package/dist/commands/open.js.map +1 -0
  50. package/dist/commands/remove.d.ts +2 -0
  51. package/dist/commands/remove.d.ts.map +1 -0
  52. package/dist/commands/remove.js +57 -0
  53. package/dist/commands/remove.js.map +1 -0
  54. package/dist/commands/reset.d.ts +2 -0
  55. package/dist/commands/reset.d.ts.map +1 -0
  56. package/dist/commands/reset.js +61 -0
  57. package/dist/commands/reset.js.map +1 -0
  58. package/dist/commands/search.d.ts +6 -0
  59. package/dist/commands/search.d.ts.map +1 -0
  60. package/dist/commands/search.js +33 -0
  61. package/dist/commands/search.js.map +1 -0
  62. package/dist/commands/status.d.ts +6 -0
  63. package/dist/commands/status.d.ts.map +1 -0
  64. package/dist/commands/status.js +92 -0
  65. package/dist/commands/status.js.map +1 -0
  66. package/dist/commands/toggle.d.ts +3 -0
  67. package/dist/commands/toggle.d.ts.map +1 -0
  68. package/dist/commands/toggle.js +59 -0
  69. package/dist/commands/toggle.js.map +1 -0
  70. package/dist/commands/update.d.ts +2 -0
  71. package/dist/commands/update.d.ts.map +1 -0
  72. package/dist/commands/update.js +80 -0
  73. package/dist/commands/update.js.map +1 -0
  74. package/dist/commands/validate.d.ts +6 -0
  75. package/dist/commands/validate.d.ts.map +1 -0
  76. package/dist/commands/validate.js +77 -0
  77. package/dist/commands/validate.js.map +1 -0
  78. package/dist/constants.d.ts +7 -0
  79. package/dist/constants.d.ts.map +1 -0
  80. package/dist/constants.js +356 -0
  81. package/dist/constants.js.map +1 -0
  82. package/dist/core/credentials.d.ts +7 -0
  83. package/dist/core/credentials.d.ts.map +1 -0
  84. package/dist/core/credentials.js +144 -0
  85. package/dist/core/credentials.js.map +1 -0
  86. package/dist/core/detector.d.ts +8 -0
  87. package/dist/core/detector.d.ts.map +1 -0
  88. package/dist/core/detector.js +82 -0
  89. package/dist/core/detector.js.map +1 -0
  90. package/dist/core/registry.d.ts +7 -0
  91. package/dist/core/registry.d.ts.map +1 -0
  92. package/dist/core/registry.js +40 -0
  93. package/dist/core/registry.js.map +1 -0
  94. package/dist/core/validator.d.ts +6 -0
  95. package/dist/core/validator.d.ts.map +1 -0
  96. package/dist/core/validator.js +50 -0
  97. package/dist/core/validator.js.map +1 -0
  98. package/dist/core/writer.d.ts +7 -0
  99. package/dist/core/writer.d.ts.map +1 -0
  100. package/dist/core/writer.js +50 -0
  101. package/dist/core/writer.js.map +1 -0
  102. package/dist/index.d.ts +3 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +141 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/postinstall.d.ts +9 -0
  107. package/dist/postinstall.d.ts.map +1 -0
  108. package/dist/postinstall.js +100 -0
  109. package/dist/postinstall.js.map +1 -0
  110. package/dist/prompts/dev-prompts.d.ts +3 -0
  111. package/dist/prompts/dev-prompts.d.ts.map +1 -0
  112. package/dist/prompts/dev-prompts.js +40 -0
  113. package/dist/prompts/dev-prompts.js.map +1 -0
  114. package/dist/prompts/non-dev-prompts.d.ts +3 -0
  115. package/dist/prompts/non-dev-prompts.d.ts.map +1 -0
  116. package/dist/prompts/non-dev-prompts.js +43 -0
  117. package/dist/prompts/non-dev-prompts.js.map +1 -0
  118. package/dist/prompts/shared-prompts.d.ts +5 -0
  119. package/dist/prompts/shared-prompts.d.ts.map +1 -0
  120. package/dist/prompts/shared-prompts.js +59 -0
  121. package/dist/prompts/shared-prompts.js.map +1 -0
  122. package/dist/types.d.ts +79 -0
  123. package/dist/types.d.ts.map +1 -0
  124. package/dist/types.js +3 -0
  125. package/dist/types.js.map +1 -0
  126. package/dist/utils/fs.d.ts +5 -0
  127. package/dist/utils/fs.d.ts.map +1 -0
  128. package/dist/utils/fs.js +30 -0
  129. package/dist/utils/fs.js.map +1 -0
  130. package/dist/utils/logger.d.ts +13 -0
  131. package/dist/utils/logger.d.ts.map +1 -0
  132. package/dist/utils/logger.js +35 -0
  133. package/dist/utils/logger.js.map +1 -0
  134. package/dist/utils/network.d.ts +2 -0
  135. package/dist/utils/network.d.ts.map +1 -0
  136. package/dist/utils/network.js +17 -0
  137. package/dist/utils/network.js.map +1 -0
  138. package/dist/utils/spinner.d.ts +7 -0
  139. package/dist/utils/spinner.d.ts.map +1 -0
  140. package/dist/utils/spinner.js +24 -0
  141. package/dist/utils/spinner.js.map +1 -0
  142. package/package.json +74 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAUA,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C5D"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runRemove = runRemove;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const constants_1 = require("../constants");
9
+ const credentials_1 = require("../core/credentials");
10
+ const detector_1 = require("../core/detector");
11
+ const registry_1 = require("../core/registry");
12
+ const writer_1 = require("../core/writer");
13
+ const shared_prompts_1 = require("../prompts/shared-prompts");
14
+ const logger_1 = require("../utils/logger");
15
+ async function runRemove(mcpId) {
16
+ try {
17
+ const mcp = (0, registry_1.getMcpById)(mcpId);
18
+ const detected = await (0, detector_1.detectVsCodePath)();
19
+ const config = await (0, writer_1.readMcpJson)(detected.mcpJsonPath);
20
+ if (!config.servers[mcpId]) {
21
+ logger_1.log.error(`MCP ${mcpId} is not configured`);
22
+ process.exit(1);
23
+ }
24
+ const confirmed = await (0, shared_prompts_1.askConfirm)(`Remove ${mcp?.name || mcpId} from mcp.json?`);
25
+ if (!confirmed) {
26
+ logger_1.log.info("Aborted");
27
+ process.exit(0);
28
+ }
29
+ await (0, writer_1.removeServerFromMcpJson)(detected.mcpJsonPath, mcpId);
30
+ const deleteStored = await (0, shared_prompts_1.askConfirm)("Also delete stored credentials from keychain/.env?");
31
+ if (deleteStored && mcp) {
32
+ const meta = (await fs_extra_1.default.pathExists(constants_1.MCP_KIT_META_PATH)) ? await fs_extra_1.default.readJSON(constants_1.MCP_KIT_META_PATH) : null;
33
+ const storage = (meta?.credentialStorage || "keychain");
34
+ for (const envVar of mcp.envVars) {
35
+ await (0, credentials_1.deleteCredential)(envVar.key, storage);
36
+ }
37
+ }
38
+ if (await fs_extra_1.default.pathExists(constants_1.MCP_KIT_META_PATH)) {
39
+ const meta = await fs_extra_1.default.readJSON(constants_1.MCP_KIT_META_PATH);
40
+ meta.lastUpdated = new Date().toISOString();
41
+ meta.installedMcps = (meta.installedMcps || []).filter((id) => id !== mcpId);
42
+ await fs_extra_1.default.writeJSON(constants_1.MCP_KIT_META_PATH, meta, { spaces: 2 });
43
+ }
44
+ logger_1.log.success(`Removed ${mcp?.name || mcpId}`);
45
+ process.exit(0);
46
+ }
47
+ catch (err) {
48
+ const message = err instanceof Error ? err.message : "Unknown error";
49
+ logger_1.log.error(`Remove failed: ${message}`);
50
+ logger_1.log.muted("Suggestion: verify mcp.json permissions and try again.");
51
+ if (process.env.DEBUG && err instanceof Error) {
52
+ console.error(err.stack);
53
+ }
54
+ process.exit(1);
55
+ }
56
+ }
57
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runReset(): Promise<void>;
2
+ //# sourceMappingURL=reset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":"AAWA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAmD9C"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runReset = runReset;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const boxen_1 = __importDefault(require("boxen"));
10
+ const constants_1 = require("../constants");
11
+ const credentials_1 = require("../core/credentials");
12
+ const detector_1 = require("../core/detector");
13
+ const registry_1 = require("../core/registry");
14
+ const shared_prompts_1 = require("../prompts/shared-prompts");
15
+ const logger_1 = require("../utils/logger");
16
+ async function runReset() {
17
+ try {
18
+ console.log((0, boxen_1.default)(chalk_1.default.red("⚠️ RESET: This will delete mcp.json and all stored credentials"), {
19
+ padding: 1,
20
+ borderColor: "red"
21
+ }));
22
+ const sure = await (0, shared_prompts_1.askConfirm)("Are you absolutely sure? This cannot be undone.");
23
+ if (!sure) {
24
+ logger_1.log.info("Aborted. Nothing was changed.");
25
+ process.exit(0);
26
+ }
27
+ const deleteCreds = await (0, shared_prompts_1.askConfirm)("Also remove credentials from keychain/.env?");
28
+ const detected = await (0, detector_1.detectVsCodePath)();
29
+ if (await fs_extra_1.default.pathExists(detected.mcpJsonPath)) {
30
+ await fs_extra_1.default.remove(detected.mcpJsonPath);
31
+ }
32
+ if (deleteCreds && (await fs_extra_1.default.pathExists(constants_1.MCP_KIT_META_PATH))) {
33
+ const meta = await fs_extra_1.default.readJSON(constants_1.MCP_KIT_META_PATH);
34
+ const storage = (meta.credentialStorage || "keychain");
35
+ for (const id of meta.installedMcps || []) {
36
+ const mcp = (0, registry_1.getMcpById)(id);
37
+ if (!mcp) {
38
+ continue;
39
+ }
40
+ for (const envVar of mcp.envVars) {
41
+ await (0, credentials_1.deleteCredential)(envVar.key, storage);
42
+ }
43
+ }
44
+ }
45
+ if (await fs_extra_1.default.pathExists(constants_1.MCP_KIT_META_PATH)) {
46
+ await fs_extra_1.default.remove(constants_1.MCP_KIT_META_PATH);
47
+ }
48
+ logger_1.log.success("Reset complete. Run `mcp-kit init --dev` to start fresh.");
49
+ process.exit(0);
50
+ }
51
+ catch (err) {
52
+ const message = err instanceof Error ? err.message : "Unknown error";
53
+ logger_1.log.error(`Reset failed: ${message}`);
54
+ logger_1.log.muted("Suggestion: check file permissions and retry.");
55
+ if (process.env.DEBUG && err instanceof Error) {
56
+ console.error(err.stack);
57
+ }
58
+ process.exit(1);
59
+ }
60
+ }
61
+ //# sourceMappingURL=reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":";;;;;AAWA,4BAmDC;AA9DD,kDAA0B;AAC1B,wDAA0B;AAC1B,kDAA0B;AAC1B,4CAAiD;AACjD,qDAAuD;AACvD,+CAAoD;AACpD,+CAA8C;AAC9C,8DAAuD;AAEvD,4CAAsC;AAE/B,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CACT,IAAA,eAAK,EAAC,eAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC,EAAE;YACjF,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,KAAK;SACnB,CAAC,CACH,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAU,EAAC,iDAAiD,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,YAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAU,EAAC,6CAA6C,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAM,IAAA,2BAAgB,GAAE,CAAC;QAE1C,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,MAAM,kBAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,WAAW,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,6BAAiB,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAAiB,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,UAAU,CAAsB,CAAC;YAC5E,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;gBAC1C,MAAM,GAAG,GAAG,IAAA,qBAAU,EAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,SAAS;gBACX,CAAC;gBACD,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBACjC,MAAM,IAAA,8BAAgB,EAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,6BAAiB,CAAC,EAAE,CAAC;YAC3C,MAAM,kBAAE,CAAC,MAAM,CAAC,6BAAiB,CAAC,CAAC;QACrC,CAAC;QAED,YAAG,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACrE,YAAG,CAAC,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QACtC,YAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ interface SearchOptions {
2
+ json?: boolean;
3
+ }
4
+ export declare function runSearch(query: string, options?: SearchOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCzF"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runSearch = runSearch;
4
+ const constants_1 = require("../constants");
5
+ const logger_1 = require("../utils/logger");
6
+ async function runSearch(query, options = {}) {
7
+ try {
8
+ const term = query.trim().toLowerCase();
9
+ if (!term) {
10
+ logger_1.log.error("Please provide a search query.");
11
+ process.exit(1);
12
+ }
13
+ const results = constants_1.MCP_REGISTRY.filter((mcp) => [mcp.id, mcp.name, mcp.description, mcp.category, mcp.npmPackage].join(" ").toLowerCase().includes(term));
14
+ if (options.json) {
15
+ console.log(JSON.stringify(results, null, 2));
16
+ return;
17
+ }
18
+ if (results.length === 0) {
19
+ logger_1.log.warn(`No MCPs matched "${query}"`);
20
+ process.exit(0);
21
+ }
22
+ (0, logger_1.printTable)(["ID", "Name", "Category", "Package", "Description"], results.map((mcp) => [mcp.id, mcp.name, mcp.category, mcp.npmPackage, mcp.description]));
23
+ process.exit(0);
24
+ }
25
+ catch (err) {
26
+ logger_1.log.error(`search failed: ${err instanceof Error ? err.message : "Unknown error"}`);
27
+ if (process.env.DEBUG && err instanceof Error) {
28
+ console.error(err.stack);
29
+ }
30
+ process.exit(1);
31
+ }
32
+ }
33
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":";;AAOA,8BAmCC;AA1CD,4CAA4C;AAC5C,4CAAkD;AAM3C,KAAK,UAAU,SAAS,CAAC,KAAa,EAAE,UAAyB,EAAE;IACxE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,YAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,wBAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzG,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,YAAG,CAAC,IAAI,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAA,mBAAU,EACR,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,EACpD,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CACxF,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAG,CAAC,KAAK,CAAC,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACpF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ interface StatusOptions {
2
+ json?: boolean;
3
+ }
4
+ export declare function runStatus(options?: StatusOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAQA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAOD,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF1E"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runStatus = runStatus;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const constants_1 = require("../constants");
9
+ const detector_1 = require("../core/detector");
10
+ const registry_1 = require("../core/registry");
11
+ const writer_1 = require("../core/writer");
12
+ const logger_1 = require("../utils/logger");
13
+ function extractCurrentVersion(args) {
14
+ const match = /@([\w.-]+)$/.exec(args.join(" "));
15
+ return match?.[1] || "latest";
16
+ }
17
+ async function runStatus(options = {}) {
18
+ try {
19
+ const detected = await (0, detector_1.detectVsCodePath)();
20
+ const config = await (0, writer_1.readMcpJson)(detected.mcpJsonPath);
21
+ const meta = (await fs_extra_1.default.pathExists(constants_1.MCP_KIT_META_PATH))
22
+ ? await fs_extra_1.default.readJSON(constants_1.MCP_KIT_META_PATH)
23
+ : { credentialStorage: "keychain", lastUpdated: "never" };
24
+ const entries = Object.entries(config.servers);
25
+ const latestVersions = await Promise.all(entries.map(async ([id]) => {
26
+ const mcp = (0, registry_1.getMcpById)(id);
27
+ if (!mcp) {
28
+ return "unknown";
29
+ }
30
+ return (0, registry_1.getLatestVersion)(mcp.npmPackage);
31
+ }));
32
+ const rows = entries.map(([id, server], index) => {
33
+ const mcp = (0, registry_1.getMcpById)(id);
34
+ const current = extractCurrentVersion(server.args);
35
+ const latest = latestVersions[index];
36
+ const upToDate = current === "latest" || current === latest;
37
+ return [
38
+ mcp?.name || id,
39
+ mcp?.category || "unknown",
40
+ mcp?.npmPackage || "unknown",
41
+ current,
42
+ latest,
43
+ upToDate ? "Yes" : "No",
44
+ meta.credentialStorage || "keychain",
45
+ ];
46
+ });
47
+ if (options.json) {
48
+ const output = entries.map(([id, server], index) => {
49
+ const mcp = (0, registry_1.getMcpById)(id);
50
+ return {
51
+ id,
52
+ name: mcp?.name ?? id,
53
+ category: mcp?.category ?? "unknown",
54
+ package: mcp?.npmPackage ?? "unknown",
55
+ command: server.command,
56
+ args: server.args,
57
+ version: extractCurrentVersion(server.args),
58
+ latest: latestVersions[index],
59
+ disabled: Boolean(server.disabled),
60
+ credentialStorage: meta.credentialStorage || "keychain",
61
+ };
62
+ });
63
+ console.log(JSON.stringify(output, null, 2));
64
+ return;
65
+ }
66
+ (0, logger_1.printTable)([
67
+ "ID",
68
+ "Name",
69
+ "MCP Name",
70
+ "Category",
71
+ "Package",
72
+ "Version",
73
+ "Latest",
74
+ "Up-to-date",
75
+ "Credential Storage",
76
+ ], rows);
77
+ logger_1.log.info(`Config path: ${detected.mcpJsonPath}`);
78
+ logger_1.log.info(`Last updated: ${meta.lastUpdated || "unknown"}`);
79
+ logger_1.log.info("Run `mcp-kit doctor` to diagnose any issues");
80
+ process.exit(0);
81
+ }
82
+ catch (err) {
83
+ const message = err instanceof Error ? err.message : "Unknown error";
84
+ logger_1.log.error(`Status failed: ${message}`);
85
+ logger_1.log.muted("Suggestion: ensure mcp.json is valid and readable.");
86
+ if (process.env.DEBUG && err instanceof Error) {
87
+ console.error(err.stack);
88
+ }
89
+ process.exit(1);
90
+ }
91
+ }
92
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function runEnable(mcpId: string): Promise<void>;
2
+ export declare function runDisable(mcpId: string): Promise<void>;
3
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/commands/toggle.ts"],"names":[],"mappings":"AAKA,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runEnable = runEnable;
4
+ exports.runDisable = runDisable;
5
+ const detector_1 = require("../core/detector");
6
+ const registry_1 = require("../core/registry");
7
+ const writer_1 = require("../core/writer");
8
+ const logger_1 = require("../utils/logger");
9
+ async function runEnable(mcpId) {
10
+ await setDisabled(mcpId, false);
11
+ }
12
+ async function runDisable(mcpId) {
13
+ await setDisabled(mcpId, true);
14
+ }
15
+ async function setDisabled(mcpId, disabled) {
16
+ const action = disabled ? "disable" : "enable";
17
+ try {
18
+ const vscodePaths = await (0, detector_1.detectVsCodePath)();
19
+ const config = await (0, writer_1.readMcpJson)(vscodePaths.mcpJsonPath);
20
+ if (!config.servers[mcpId]) {
21
+ logger_1.log.error(`'${mcpId}' is not configured. Run 'mcp-kit list' to see configured MCPs.`);
22
+ process.exit(1);
23
+ }
24
+ const entry = config.servers[mcpId];
25
+ if (disabled && entry.disabled === true) {
26
+ logger_1.log.warn(`${mcpId} is already disabled.`);
27
+ return;
28
+ }
29
+ if (!disabled && !entry.disabled) {
30
+ logger_1.log.warn(`${mcpId} is already enabled.`);
31
+ return;
32
+ }
33
+ if (disabled) {
34
+ entry.disabled = true;
35
+ }
36
+ else {
37
+ delete entry.disabled;
38
+ }
39
+ config.servers[mcpId] = entry;
40
+ await (0, writer_1.writeMcpJson)(vscodePaths.mcpJsonPath, config);
41
+ const def = (0, registry_1.getMcpById)(mcpId);
42
+ const name = def?.name ?? mcpId;
43
+ if (disabled) {
44
+ logger_1.log.success(`${name} disabled. VS Code will ignore it until re-enabled.`);
45
+ }
46
+ else {
47
+ logger_1.log.success(`${name} enabled. Reload VS Code to apply (Cmd/Ctrl+Shift+P -> Reload Window).`);
48
+ }
49
+ }
50
+ catch (err) {
51
+ const message = err instanceof Error ? err.message : String(err);
52
+ logger_1.log.error(`Failed to ${action} ${mcpId}: ${message}`);
53
+ if (process.env.DEBUG) {
54
+ console.error(err);
55
+ }
56
+ process.exit(1);
57
+ }
58
+ }
59
+ //# sourceMappingURL=toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../src/commands/toggle.ts"],"names":[],"mappings":";;AAKA,8BAEC;AAED,gCAEC;AAXD,+CAAoD;AACpD,+CAA8C;AAC9C,2CAA2D;AAC3D,4CAAsC;AAE/B,KAAK,UAAU,SAAS,CAAC,KAAa;IAC3C,MAAM,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,KAAa;IAC5C,MAAM,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,QAAiB;IACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAgB,GAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAW,EAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,YAAG,CAAC,KAAK,CAAC,IAAI,KAAK,iEAAiE,CAAC,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACxC,YAAG,CAAC,IAAI,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,YAAG,CAAC,IAAI,CAAC,GAAG,KAAK,sBAAsB,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC9B,MAAM,IAAA,qBAAY,EAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAEpD,MAAM,GAAG,GAAG,IAAA,qBAAU,EAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC;QAChC,IAAI,QAAQ,EAAE,CAAC;YACb,YAAG,CAAC,OAAO,CAAC,GAAG,IAAI,qDAAqD,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,YAAG,CAAC,OAAO,CAAC,GAAG,IAAI,wEAAwE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,YAAG,CAAC,KAAK,CAAC,aAAa,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function runUpdate(): Promise<void>;
2
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAaA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAwE/C"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runUpdate = runUpdate;
4
+ const detector_1 = require("../core/detector");
5
+ const registry_1 = require("../core/registry");
6
+ const writer_1 = require("../core/writer");
7
+ const shared_prompts_1 = require("../prompts/shared-prompts");
8
+ const logger_1 = require("../utils/logger");
9
+ const spinner_1 = require("../utils/spinner");
10
+ function parseVersionFromArgs(args, npmPackage) {
11
+ const joined = args.join(" ");
12
+ const match = joined.match(new RegExp(`${npmPackage.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}@([^\s]+)`));
13
+ return match?.[1] || "latest";
14
+ }
15
+ async function runUpdate() {
16
+ try {
17
+ const detected = await (0, detector_1.detectVsCodePath)();
18
+ const config = await (0, writer_1.readMcpJson)(detected.mcpJsonPath);
19
+ const outdated = [];
20
+ const rows = [];
21
+ for (const [id, server] of Object.entries(config.servers)) {
22
+ const mcp = (0, registry_1.getMcpById)(id);
23
+ if (!mcp) {
24
+ rows.push([id, "unknown", "unknown", "⚠ Not in registry"]);
25
+ continue;
26
+ }
27
+ const current = parseVersionFromArgs(server.args, mcp.npmPackage);
28
+ const latest = await (0, registry_1.getLatestVersion)(mcp.npmPackage);
29
+ const needsUpdate = current !== "latest" && latest !== "unknown" && current !== latest;
30
+ rows.push([mcp.name, current, latest, needsUpdate ? "⬆ Update available" : "✅ Up to date"]);
31
+ if (needsUpdate) {
32
+ outdated.push(id);
33
+ }
34
+ }
35
+ (0, logger_1.printTable)(["MCP", "Current", "Latest", "Action"], rows);
36
+ if (outdated.length === 0) {
37
+ logger_1.log.success("All configured MCPs are up to date.");
38
+ process.exit(0);
39
+ }
40
+ const confirm = await (0, shared_prompts_1.askConfirm)("Update all outdated MCPs?");
41
+ if (!confirm) {
42
+ logger_1.log.info("No updates were applied.");
43
+ process.exit(0);
44
+ }
45
+ let updated = 0;
46
+ for (const id of outdated) {
47
+ const mcp = (0, registry_1.getMcpById)(id);
48
+ if (!mcp) {
49
+ continue;
50
+ }
51
+ const spinner = (0, spinner_1.startSpinner)(`Updating ${mcp.name}`);
52
+ try {
53
+ config.servers[id].args = mcp.args.map((arg) => {
54
+ if (arg.includes(mcp.npmPackage)) {
55
+ return `${mcp.npmPackage}@latest`;
56
+ }
57
+ return arg;
58
+ });
59
+ (0, spinner_1.succeedSpinner)(spinner, `Updated ${mcp.name}`);
60
+ updated += 1;
61
+ }
62
+ catch (err) {
63
+ (0, spinner_1.failSpinner)(spinner, `Failed ${mcp.name}: ${err instanceof Error ? err.message : "Unknown error"}`);
64
+ }
65
+ }
66
+ await (0, writer_1.writeMcpJson)(detected.mcpJsonPath, config);
67
+ logger_1.log.success(`Updated ${updated} MCPs. Reload VS Code to apply.`);
68
+ process.exit(0);
69
+ }
70
+ catch (err) {
71
+ const message = err instanceof Error ? err.message : "Unknown error";
72
+ logger_1.log.error(`Update failed: ${message}`);
73
+ logger_1.log.muted("Suggestion: run `mcp-kit status` to inspect versions manually.");
74
+ if (process.env.DEBUG && err instanceof Error) {
75
+ console.error(err.stack);
76
+ }
77
+ process.exit(1);
78
+ }
79
+ }
80
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface ValidateOptions {
2
+ json?: boolean;
3
+ }
4
+ export declare function runValidate(options?: ValidateOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAMA,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuE9E"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runValidate = runValidate;
7
+ const detector_1 = require("../core/detector");
8
+ const validator_1 = require("../core/validator");
9
+ const fs_1 = require("../utils/fs");
10
+ const logger_1 = require("../utils/logger");
11
+ const chalk_1 = __importDefault(require("chalk"));
12
+ async function runValidate(options = {}) {
13
+ try {
14
+ const vscodePaths = await (0, detector_1.detectVsCodePath)();
15
+ const raw = await (0, fs_1.readJsonSafe)(vscodePaths.mcpJsonPath, null);
16
+ if (raw === null) {
17
+ if (options.json) {
18
+ console.log(JSON.stringify({ valid: false, path: vscodePaths.mcpJsonPath, error: "File is empty or missing" }));
19
+ }
20
+ else {
21
+ logger_1.log.error("Cannot read mcp.json: file is empty or missing.");
22
+ logger_1.log.info("Run `mcp-kit init --dev` to create a valid config.");
23
+ }
24
+ process.exit(1);
25
+ }
26
+ let validated;
27
+ let errors = [];
28
+ try {
29
+ validated = (0, validator_1.validateMcpJson)(raw);
30
+ }
31
+ catch (err) {
32
+ const message = err instanceof Error ? err.message : String(err);
33
+ errors = message.split("\n");
34
+ }
35
+ if (options.json) {
36
+ console.log(JSON.stringify({
37
+ valid: errors.length === 0,
38
+ errors,
39
+ path: vscodePaths.mcpJsonPath,
40
+ serverCount: validated ? Object.keys(validated.servers).length : 0
41
+ }, null, 2));
42
+ if (errors.length > 0)
43
+ process.exit(1);
44
+ return;
45
+ }
46
+ logger_1.log.header("🔎 mcp.json validation");
47
+ logger_1.log.muted(`Path: ${vscodePaths.mcpJsonPath}`);
48
+ logger_1.log.blank();
49
+ if (errors.length > 0) {
50
+ logger_1.log.error("mcp.json is INVALID:");
51
+ for (const e of errors)
52
+ logger_1.log.error(` ${e}`);
53
+ logger_1.log.blank();
54
+ logger_1.log.info("Run `mcp-kit init --dev` to regenerate a valid config.");
55
+ process.exit(1);
56
+ }
57
+ const serverIds = Object.keys(validated.servers);
58
+ logger_1.log.success(`mcp.json is valid — ${serverIds.length} server(s) configured.`);
59
+ if (serverIds.length > 0) {
60
+ const rows = serverIds.map((id) => {
61
+ const entry = validated.servers[id];
62
+ const envCount = Object.keys(entry.env ?? {}).length;
63
+ return [id, entry.command, entry.args.length.toString(), envCount.toString(), chalk_1.default.green("✔ valid")];
64
+ });
65
+ logger_1.log.blank();
66
+ (0, logger_1.printTable)(["Server", "Command", "Args", "Env Vars", "Status"], rows);
67
+ }
68
+ }
69
+ catch (err) {
70
+ const message = err instanceof Error ? err.message : String(err);
71
+ logger_1.log.error(`validate failed: ${message}`);
72
+ if (process.env.DEBUG)
73
+ console.error(err);
74
+ process.exit(1);
75
+ }
76
+ }
77
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { McpDefinition } from "./types";
2
+ export declare const MCP_REGISTRY: McpDefinition[];
3
+ export declare const DEV_MCP_IDS: string[];
4
+ export declare const NON_DEV_MCP_IDS: string[];
5
+ export declare const MCP_KIT_META_PATH: string;
6
+ export declare const VSCODE_SEARCH_DEPTH = 5;
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,eAAO,MAAM,YAAY,EAAE,aAAa,EA2UvC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,EAW/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,EAA+D,CAAC;AAEpG,eAAO,MAAM,iBAAiB,QAAmD,CAAC;AAElF,eAAO,MAAM,mBAAmB,IAAI,CAAC"}