@axinom/mosaic-agent-skills 0.6.0 → 0.7.0-rc.11

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 (103) hide show
  1. package/dist/cjs/bin.d.ts +15 -0
  2. package/dist/cjs/bin.d.ts.map +1 -0
  3. package/dist/{index.js → cjs/bin.js} +28 -13
  4. package/dist/cjs/bin.js.map +1 -0
  5. package/dist/cjs/index.d.ts +14 -0
  6. package/dist/cjs/index.d.ts.map +1 -0
  7. package/dist/cjs/index.js +19 -0
  8. package/dist/cjs/index.js.map +1 -0
  9. package/dist/cjs/logger.d.ts +12 -0
  10. package/dist/cjs/logger.d.ts.map +1 -0
  11. package/dist/{logger.js → cjs/logger.js} +7 -0
  12. package/dist/cjs/logger.js.map +1 -0
  13. package/dist/cjs/package.json +1 -0
  14. package/dist/cjs/tools/graphql/index.d.ts +6 -0
  15. package/dist/cjs/tools/graphql/index.d.ts.map +1 -0
  16. package/dist/{tools → cjs/tools}/graphql/index.js +14 -11
  17. package/dist/cjs/tools/graphql/index.js.map +1 -0
  18. package/dist/{tools → cjs/tools}/graphql/tools.d.ts +21 -0
  19. package/dist/cjs/tools/graphql/tools.d.ts.map +1 -0
  20. package/dist/{tools → cjs/tools}/graphql/tools.js +33 -11
  21. package/dist/cjs/tools/graphql/tools.js.map +1 -0
  22. package/dist/{tools → cjs/tools}/graphql/utils.d.ts +24 -1
  23. package/dist/cjs/tools/graphql/utils.d.ts.map +1 -0
  24. package/dist/{tools → cjs/tools}/graphql/utils.js +30 -2
  25. package/dist/cjs/tools/graphql/utils.js.map +1 -0
  26. package/dist/cjs/tools/skills/index.d.ts +6 -0
  27. package/dist/cjs/tools/skills/index.d.ts.map +1 -0
  28. package/dist/{tools → cjs/tools}/skills/index.js +8 -5
  29. package/dist/cjs/tools/skills/index.js.map +1 -0
  30. package/dist/{tools → cjs/tools}/skills/tools.d.ts +15 -0
  31. package/dist/cjs/tools/skills/tools.d.ts.map +1 -0
  32. package/dist/{tools → cjs/tools}/skills/tools.js +30 -9
  33. package/dist/cjs/tools/skills/tools.js.map +1 -0
  34. package/dist/{tools → cjs/tools}/skills/types.d.ts +6 -0
  35. package/dist/cjs/tools/skills/types.d.ts.map +1 -0
  36. package/dist/{tools → cjs/tools}/skills/types.js.map +1 -1
  37. package/dist/cjs/tools/skills/utils.d.ts +30 -0
  38. package/dist/cjs/tools/skills/utils.d.ts.map +1 -0
  39. package/dist/{tools → cjs/tools}/skills/utils.js +29 -8
  40. package/dist/cjs/tools/skills/utils.js.map +1 -0
  41. package/dist/esm/index.d.ts +14 -0
  42. package/dist/esm/index.d.ts.map +1 -0
  43. package/dist/esm/index.js +14 -0
  44. package/dist/esm/index.js.map +1 -0
  45. package/dist/esm/logger.d.ts +12 -0
  46. package/dist/esm/logger.d.ts.map +1 -0
  47. package/dist/esm/logger.js +19 -0
  48. package/dist/esm/logger.js.map +1 -0
  49. package/dist/esm/package.json +1 -0
  50. package/dist/esm/tools/graphql/index.d.ts +6 -0
  51. package/dist/esm/tools/graphql/index.d.ts.map +1 -0
  52. package/dist/esm/tools/graphql/index.js +83 -0
  53. package/dist/esm/tools/graphql/index.js.map +1 -0
  54. package/dist/esm/tools/graphql/tools.d.ts +62 -0
  55. package/dist/esm/tools/graphql/tools.d.ts.map +1 -0
  56. package/dist/esm/tools/graphql/tools.js +201 -0
  57. package/dist/esm/tools/graphql/tools.js.map +1 -0
  58. package/dist/esm/tools/graphql/utils.d.ts +43 -0
  59. package/dist/esm/tools/graphql/utils.d.ts.map +1 -0
  60. package/dist/esm/tools/graphql/utils.js +136 -0
  61. package/dist/esm/tools/graphql/utils.js.map +1 -0
  62. package/dist/esm/tools/skills/index.d.ts +6 -0
  63. package/dist/esm/tools/skills/index.d.ts.map +1 -0
  64. package/dist/esm/tools/skills/index.js +61 -0
  65. package/dist/esm/tools/skills/index.js.map +1 -0
  66. package/dist/esm/tools/skills/tools.d.ts +20 -0
  67. package/dist/esm/tools/skills/tools.d.ts.map +1 -0
  68. package/dist/esm/tools/skills/tools.js +81 -0
  69. package/dist/esm/tools/skills/tools.js.map +1 -0
  70. package/dist/esm/tools/skills/types.d.ts +18 -0
  71. package/dist/esm/tools/skills/types.d.ts.map +1 -0
  72. package/dist/esm/tools/skills/types.js +2 -0
  73. package/dist/esm/tools/skills/types.js.map +1 -0
  74. package/dist/esm/tools/skills/utils.d.ts +30 -0
  75. package/dist/esm/tools/skills/utils.d.ts.map +1 -0
  76. package/dist/esm/tools/skills/utils.js +114 -0
  77. package/dist/esm/tools/skills/utils.js.map +1 -0
  78. package/package.json +20 -9
  79. package/skills/generate-create-station/refs/templates/create-form-station.md +2 -1
  80. package/skills/generate-details-station/refs/templates/form-data-types.md +11 -8
  81. package/dist/index.d.ts +0 -3
  82. package/dist/index.d.ts.map +0 -1
  83. package/dist/index.js.map +0 -1
  84. package/dist/logger.d.ts +0 -6
  85. package/dist/logger.d.ts.map +0 -1
  86. package/dist/logger.js.map +0 -1
  87. package/dist/tools/graphql/index.d.ts +0 -3
  88. package/dist/tools/graphql/index.d.ts.map +0 -1
  89. package/dist/tools/graphql/index.js.map +0 -1
  90. package/dist/tools/graphql/tools.d.ts.map +0 -1
  91. package/dist/tools/graphql/tools.js.map +0 -1
  92. package/dist/tools/graphql/utils.d.ts.map +0 -1
  93. package/dist/tools/graphql/utils.js.map +0 -1
  94. package/dist/tools/skills/index.d.ts +0 -3
  95. package/dist/tools/skills/index.d.ts.map +0 -1
  96. package/dist/tools/skills/index.js.map +0 -1
  97. package/dist/tools/skills/tools.d.ts.map +0 -1
  98. package/dist/tools/skills/tools.js.map +0 -1
  99. package/dist/tools/skills/types.d.ts.map +0 -1
  100. package/dist/tools/skills/utils.d.ts +0 -11
  101. package/dist/tools/skills/utils.d.ts.map +0 -1
  102. package/dist/tools/skills/utils.js.map +0 -1
  103. /package/dist/{tools → cjs/tools}/skills/types.js +0 -0
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Axinom Mosaic Agent Skills MCP Server — binary entry point
4
+ *
5
+ * This file is the CJS-only executable entry (package.json `bin`).
6
+ * It is excluded from the ESM build pass; __dirname is valid here.
7
+ *
8
+ * The library API (registerSkillsTools, registerGraphQLTools) is exported
9
+ * from src/index.ts and dual-published via the exports map.
10
+ *
11
+ * Configuration:
12
+ * - SKILLS_PATH: override the bundled skills directory (defaults to <pkg>/skills)
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/bin.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG"}
@@ -1,5 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
+ /**
4
+ * Axinom Mosaic Agent Skills MCP Server — binary entry point
5
+ *
6
+ * This file is the CJS-only executable entry (package.json `bin`).
7
+ * It is excluded from the ESM build pass; __dirname is valid here.
8
+ *
9
+ * The library API (registerSkillsTools, registerGraphQLTools) is exported
10
+ * from src/index.ts and dual-published via the exports map.
11
+ *
12
+ * Configuration:
13
+ * - SKILLS_PATH: override the bundled skills directory (defaults to <pkg>/skills)
14
+ */
3
15
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
16
  if (k2 === undefined) k2 = k;
5
17
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -34,18 +46,21 @@ var __importStar = (this && this.__importStar) || (function () {
34
46
  };
35
47
  })();
36
48
  Object.defineProperty(exports, "__esModule", { value: true });
37
- const path = __importStar(require("path"));
49
+ const path = __importStar(require("node:path"));
38
50
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
39
51
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
40
- const logger_1 = require("./logger");
41
- const graphql_1 = require("./tools/graphql");
42
- const skills_1 = require("./tools/skills");
52
+ const logger_js_1 = require("./logger.js");
53
+ const index_js_1 = require("./tools/graphql/index.js");
54
+ const index_js_2 = require("./tools/skills/index.js");
55
+ // __dirname here is dist/cjs/ — go up two levels to reach the package root,
56
+ // then into skills/. This is the installed layout:
57
+ // <pkg>/dist/cjs/bin.js → ../../skills → <pkg>/skills/
43
58
  const SKILLS_PATH = process.env.SKILLS_PATH
44
59
  ? path.resolve(process.env.SKILLS_PATH)
45
- : path.resolve(__dirname, '../skills');
60
+ : path.resolve(__dirname, '../../skills');
46
61
  async function main() {
47
- logger_1.logger.info('Starting Axinom Mosaic Agent Skills MCP Server...');
48
- logger_1.logger.info(`Skills path: ${SKILLS_PATH}`);
62
+ logger_js_1.logger.info('Starting Axinom Mosaic Agent Skills MCP Server...');
63
+ logger_js_1.logger.info(`Skills path: ${SKILLS_PATH}`);
49
64
  const server = new mcp_js_1.McpServer({
50
65
  name: '@axinom/mosaic-agent-skills',
51
66
  version: '0.0.1',
@@ -54,15 +69,15 @@ async function main() {
54
69
  tools: {},
55
70
  },
56
71
  });
57
- (0, skills_1.registerSkillsTools)(server, SKILLS_PATH);
58
- (0, graphql_1.registerGraphQLTools)(server);
72
+ (0, index_js_2.registerSkillsTools)(server, SKILLS_PATH);
73
+ (0, index_js_1.registerGraphQLTools)(server);
59
74
  const transport = new stdio_js_1.StdioServerTransport();
60
75
  await server.connect(transport);
61
- logger_1.logger.info('Server running on stdio');
62
- logger_1.logger.info('Tools available: list_skills, get_skill, get_skill_references, execute_skill, search_schema, get_type_definitions, get_query_fields, get_mutation_fields, get_subscription_fields');
76
+ logger_js_1.logger.info('Server running on stdio');
77
+ logger_js_1.logger.info('Tools available: list_skills, get_skill, get_skill_references, execute_skill, search_schema, get_type_definitions, get_query_fields, get_mutation_fields, get_subscription_fields');
63
78
  }
64
79
  main().catch((error) => {
65
- logger_1.logger.error('Fatal error:', error);
80
+ logger_js_1.logger.error('Fatal error:', error);
66
81
  process.exit(1);
67
82
  });
68
- //# sourceMappingURL=index.js.map
83
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/bin.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gDAAkC;AAElC,oEAAoE;AACpE,wEAAiF;AAEjF,2CAAqC;AACrC,uDAAgE;AAChE,sDAA8D;AAE9D,4EAA4E;AAC5E,mDAAmD;AACnD,6DAA6D;AAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW;IACzC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACvC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAE5C,KAAK,UAAU,IAAI;IACjB,kBAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACjE,kBAAM,CAAC,IAAI,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,IAAI,kBAAS,CAC1B;QACE,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,IAAA,8BAAmB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,IAAA,+BAAoB,EAAC,MAAM,CAAC,CAAC;IAE7B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,kBAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACvC,kBAAM,CAAC,IAAI,CACT,mLAAmL,CACpL,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,kBAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Axinom Mosaic Agent Skills — public library API
3
+ *
4
+ * Exports the MCP tool registration functions for consumers who want to
5
+ * embed these tools in their own MCP server rather than running the
6
+ * standalone binary.
7
+ *
8
+ * To run the MCP server directly, use the package bin entry:
9
+ * npx @axinom/mosaic-agent-skills
10
+ * node dist/cjs/bin.js
11
+ */
12
+ export { registerGraphQLTools } from './tools/graphql/index.js';
13
+ export { registerSkillsTools } from './tools/skills/index.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /**
3
+ * Axinom Mosaic Agent Skills — public library API
4
+ *
5
+ * Exports the MCP tool registration functions for consumers who want to
6
+ * embed these tools in their own MCP server rather than running the
7
+ * standalone binary.
8
+ *
9
+ * To run the MCP server directly, use the package bin entry:
10
+ * npx @axinom/mosaic-agent-skills
11
+ * node dist/cjs/bin.js
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.registerSkillsTools = exports.registerGraphQLTools = void 0;
15
+ var index_js_1 = require("./tools/graphql/index.js");
16
+ Object.defineProperty(exports, "registerGraphQLTools", { enumerable: true, get: function () { return index_js_1.registerGraphQLTools; } });
17
+ var index_js_2 = require("./tools/skills/index.js");
18
+ Object.defineProperty(exports, "registerSkillsTools", { enumerable: true, get: function () { return index_js_2.registerSkillsTools; } });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,qDAAgE;AAAvD,gHAAA,oBAAoB,OAAA;AAC7B,oDAA8D;AAArD,+GAAA,mBAAmB,OAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Simple logger utility for MCP server
3
+ *
4
+ * MCP servers use stderr for logging to avoid interfering with
5
+ * the JSON-RPC protocol communication on stdout.
6
+ */
7
+ export declare const logger: {
8
+ info(message: string, ...args: unknown[]): void;
9
+ error(message: string, ...args: unknown[]): void;
10
+ warn(message: string, ...args: unknown[]): void;
11
+ };
12
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,MAAM;kBACH,MAAM,WAAW,OAAO,EAAE,GAAG,IAAI;mBAIhC,MAAM,WAAW,OAAO,EAAE,GAAG,IAAI;kBAIlC,MAAM,WAAW,OAAO,EAAE,GAAG,IAAI;CAGhD,CAAC"}
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
+ /* eslint-disable no-console */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.logger = void 0;
5
+ /**
6
+ * Simple logger utility for MCP server
7
+ *
8
+ * MCP servers use stderr for logging to avoid interfering with
9
+ * the JSON-RPC protocol communication on stdout.
10
+ */
4
11
  exports.logger = {
5
12
  info(message, ...args) {
6
13
  console.error(`[MCP Server] ${message}`, ...args);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;AAE/B;;;;;GAKG;AACU,QAAA,MAAM,GAAG;IACpB,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,OAAO,CAAC,KAAK,CAAC,gBAAgB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,OAAO,CAAC,KAAK,CAAC,uBAAuB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7D,CAAC;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * GraphQL Tools Registration
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ export declare function registerGraphQLTools(server: McpServer): void;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tools/graphql/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmH5D"}
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
+ /**
3
+ * GraphQL Tools Registration
4
+ */
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.registerGraphQLTools = registerGraphQLTools;
4
7
  const zod_1 = require("zod");
5
- const tools_1 = require("./tools");
8
+ const tools_js_1 = require("./tools.js");
6
9
  function registerGraphQLTools(server) {
7
10
  server.registerTool('search_schema', {
8
11
  title: 'Search GraphQL Schema',
@@ -16,8 +19,8 @@ function registerGraphQLTools(server) {
16
19
  .describe('Regex pattern to search for (case-insensitive). Examples: "Movie", "^create", "Filter$"'),
17
20
  }),
18
21
  }, async (args) => {
19
- const validated = tools_1.SearchSchemaInputSchema.parse(args);
20
- return (0, tools_1.searchSchemaTool)(validated);
22
+ const validated = tools_js_1.SearchSchemaInputSchema.parse(args);
23
+ return (0, tools_js_1.searchSchemaTool)(validated);
21
24
  });
22
25
  server.registerTool('get_type_definitions', {
23
26
  title: 'Get GraphQL Type Definitions',
@@ -31,8 +34,8 @@ function registerGraphQLTools(server) {
31
34
  .describe('Array of type names to retrieve (e.g., ["Movie", "MovieFilter", "PublishStatus"])'),
32
35
  }),
33
36
  }, async (args) => {
34
- const validated = tools_1.GetTypeDefinitionsInputSchema.parse(args);
35
- return (0, tools_1.getTypeDefinitionsTool)(validated);
37
+ const validated = tools_js_1.GetTypeDefinitionsInputSchema.parse(args);
38
+ return (0, tools_js_1.getTypeDefinitionsTool)(validated);
36
39
  });
37
40
  server.registerTool('get_query_fields', {
38
41
  title: 'Get GraphQL Query Fields',
@@ -46,8 +49,8 @@ function registerGraphQLTools(server) {
46
49
  .describe('Array of Query field names (e.g., ["movies", "movie", "tvshows"])'),
47
50
  }),
48
51
  }, async (args) => {
49
- const validated = tools_1.GetQueryFieldsInputSchema.parse(args);
50
- return (0, tools_1.getQueryFieldsTool)(validated);
52
+ const validated = tools_js_1.GetQueryFieldsInputSchema.parse(args);
53
+ return (0, tools_js_1.getQueryFieldsTool)(validated);
51
54
  });
52
55
  server.registerTool('get_mutation_fields', {
53
56
  title: 'Get GraphQL Mutation Fields',
@@ -61,8 +64,8 @@ function registerGraphQLTools(server) {
61
64
  .describe('Array of Mutation field names (e.g., ["createMovie", "updateMovie", "deleteMovie"])'),
62
65
  }),
63
66
  }, async (args) => {
64
- const validated = tools_1.GetMutationFieldsInputSchema.parse(args);
65
- return (0, tools_1.getMutationFieldsTool)(validated);
67
+ const validated = tools_js_1.GetMutationFieldsInputSchema.parse(args);
68
+ return (0, tools_js_1.getMutationFieldsTool)(validated);
66
69
  });
67
70
  server.registerTool('get_subscription_fields', {
68
71
  title: 'Get GraphQL Subscription Fields',
@@ -76,8 +79,8 @@ function registerGraphQLTools(server) {
76
79
  .describe('Array of Subscription field names (e.g., ["movieMutated", "tvshowMutated"])'),
77
80
  }),
78
81
  }, async (args) => {
79
- const validated = tools_1.GetSubscriptionFieldsInputSchema.parse(args);
80
- return (0, tools_1.getSubscriptionFieldsTool)(validated);
82
+ const validated = tools_js_1.GetSubscriptionFieldsInputSchema.parse(args);
83
+ return (0, tools_js_1.getSubscriptionFieldsTool)(validated);
81
84
  });
82
85
  }
83
86
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/graphql/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAkBH,oDAmHC;AAlID,6BAAwB;AAExB,yCAWoB;AAEpB,SAAgB,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,sUAAsU;QACxU,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,OAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CAAC,0CAA0C,CAAC;YACvD,OAAO,EAAE,OAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,CACP,yFAAyF,CAC1F;SACJ,CAAC;KACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,SAAS,GAAG,kCAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,IAAA,2BAAgB,EAAC,SAAS,CAAC,CAAC;IACrC,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,8BAA8B;QACrC,WAAW,EACT,gNAAgN;QAClN,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,OAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CAAC,0CAA0C,CAAC;YACvD,SAAS,EAAE,OAAC;iBACT,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CACP,mFAAmF,CACpF;SACJ,CAAC;KACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,SAAS,GAAG,wCAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,IAAA,iCAAsB,EAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,2MAA2M;QAC7M,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,OAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CAAC,0CAA0C,CAAC;YACvD,UAAU,EAAE,OAAC;iBACV,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CACP,mEAAmE,CACpE;SACJ,CAAC;KACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,SAAS,GAAG,oCAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,IAAA,6BAAkB,EAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,6BAA6B;QACpC,WAAW,EACT,8MAA8M;QAChN,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,OAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CAAC,0CAA0C,CAAC;YACvD,UAAU,EAAE,OAAC;iBACV,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CACP,qFAAqF,CACtF;SACJ,CAAC;KACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,SAAS,GAAG,uCAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,IAAA,gCAAqB,EAAC,SAAS,CAAC,CAAC;IAC1C,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,iCAAiC;QACxC,WAAW,EACT,oMAAoM;QACtM,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,OAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CAAC,0CAA0C,CAAC;YACvD,UAAU,EAAE,OAAC;iBACV,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CACP,6EAA6E,CAC9E;SACJ,CAAC;KACH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,SAAS,GAAG,2CAAgC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO,IAAA,oCAAyB,EAAC,SAAS,CAAC,CAAC;IAC9C,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * MCP Tools: GraphQL Schema Inspection
3
+ *
4
+ * Tools for searching and inspecting GraphQL schemas.
5
+ * Schema path is provided per-request, not at startup.
6
+ */
1
7
  import { z } from 'zod';
2
8
  export declare const SearchSchemaInputSchema: z.ZodObject<{
3
9
  schemaPath: z.ZodString;
@@ -32,10 +38,25 @@ interface ToolResponse {
32
38
  }[];
33
39
  isError?: boolean;
34
40
  }
41
+ /**
42
+ * Search for types and fields in a GraphQL schema
43
+ */
35
44
  export declare function searchSchemaTool(input: SearchSchemaInput): ToolResponse;
45
+ /**
46
+ * Get type definitions from a GraphQL schema
47
+ */
36
48
  export declare function getTypeDefinitionsTool(input: GetTypeDefinitionsInput): ToolResponse;
49
+ /**
50
+ * Get query field definitions from a GraphQL schema
51
+ */
37
52
  export declare function getQueryFieldsTool(input: GetQueryFieldsInput): ToolResponse;
53
+ /**
54
+ * Get mutation field definitions from a GraphQL schema
55
+ */
38
56
  export declare function getMutationFieldsTool(input: GetMutationFieldsInput): ToolResponse;
57
+ /**
58
+ * Get subscription field definitions from a GraphQL schema
59
+ */
39
60
  export declare function getSubscriptionFieldsTool(input: GetSubscriptionFieldsInput): ToolResponse;
40
61
  export {};
41
62
  //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../../src/tools/graphql/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,uBAAuB;;;iBAOlC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;iBAKxC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;iBAKpC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;iBAKvC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;iBAK3C,CAAC;AAGH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AAGF,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAiCvE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,uBAAuB,GAC7B,YAAY,CAgCd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAgC3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,sBAAsB,GAC5B,YAAY,CAgCd;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,0BAA0B,GAChC,YAAY,CAgCd"}
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ /**
3
+ * MCP Tools: GraphQL Schema Inspection
4
+ *
5
+ * Tools for searching and inspecting GraphQL schemas.
6
+ * Schema path is provided per-request, not at startup.
7
+ */
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.GetSubscriptionFieldsInputSchema = exports.GetMutationFieldsInputSchema = exports.GetQueryFieldsInputSchema = exports.GetTypeDefinitionsInputSchema = exports.SearchSchemaInputSchema = void 0;
4
10
  exports.searchSchemaTool = searchSchemaTool;
@@ -7,7 +13,8 @@ exports.getQueryFieldsTool = getQueryFieldsTool;
7
13
  exports.getMutationFieldsTool = getMutationFieldsTool;
8
14
  exports.getSubscriptionFieldsTool = getSubscriptionFieldsTool;
9
15
  const zod_1 = require("zod");
10
- const utils_1 = require("./utils");
16
+ const utils_js_1 = require("./utils.js");
17
+ // Input schemas
11
18
  exports.SearchSchemaInputSchema = zod_1.z.object({
12
19
  schemaPath: zod_1.z.string().describe('Absolute path to the GraphQL schema file'),
13
20
  pattern: zod_1.z
@@ -38,10 +45,13 @@ exports.GetSubscriptionFieldsInputSchema = zod_1.z.object({
38
45
  .array(zod_1.z.string())
39
46
  .describe('Array of subscription field names to retrieve definitions for'),
40
47
  });
48
+ /**
49
+ * Search for types and fields in a GraphQL schema
50
+ */
41
51
  function searchSchemaTool(input) {
42
52
  try {
43
- const schema = (0, utils_1.loadSchema)(input.schemaPath);
44
- const result = (0, utils_1.searchSchema)(schema, input.pattern);
53
+ const schema = (0, utils_js_1.loadSchema)(input.schemaPath);
54
+ const result = (0, utils_js_1.searchSchema)(schema, input.pattern);
45
55
  return {
46
56
  content: [
47
57
  {
@@ -68,10 +78,13 @@ function searchSchemaTool(input) {
68
78
  };
69
79
  }
70
80
  }
81
+ /**
82
+ * Get type definitions from a GraphQL schema
83
+ */
71
84
  function getTypeDefinitionsTool(input) {
72
85
  try {
73
- const schema = (0, utils_1.loadSchema)(input.schemaPath);
74
- const results = (0, utils_1.getTypes)(schema, input.typeNames);
86
+ const schema = (0, utils_js_1.loadSchema)(input.schemaPath);
87
+ const results = (0, utils_js_1.getTypes)(schema, input.typeNames);
75
88
  return {
76
89
  content: [
77
90
  {
@@ -97,10 +110,13 @@ function getTypeDefinitionsTool(input) {
97
110
  };
98
111
  }
99
112
  }
113
+ /**
114
+ * Get query field definitions from a GraphQL schema
115
+ */
100
116
  function getQueryFieldsTool(input) {
101
117
  try {
102
- const schema = (0, utils_1.loadSchema)(input.schemaPath);
103
- const results = (0, utils_1.getQueryFields)(schema, input.fieldNames);
118
+ const schema = (0, utils_js_1.loadSchema)(input.schemaPath);
119
+ const results = (0, utils_js_1.getQueryFields)(schema, input.fieldNames);
104
120
  return {
105
121
  content: [
106
122
  {
@@ -126,10 +142,13 @@ function getQueryFieldsTool(input) {
126
142
  };
127
143
  }
128
144
  }
145
+ /**
146
+ * Get mutation field definitions from a GraphQL schema
147
+ */
129
148
  function getMutationFieldsTool(input) {
130
149
  try {
131
- const schema = (0, utils_1.loadSchema)(input.schemaPath);
132
- const results = (0, utils_1.getMutationFields)(schema, input.fieldNames);
150
+ const schema = (0, utils_js_1.loadSchema)(input.schemaPath);
151
+ const results = (0, utils_js_1.getMutationFields)(schema, input.fieldNames);
133
152
  return {
134
153
  content: [
135
154
  {
@@ -155,10 +174,13 @@ function getMutationFieldsTool(input) {
155
174
  };
156
175
  }
157
176
  }
177
+ /**
178
+ * Get subscription field definitions from a GraphQL schema
179
+ */
158
180
  function getSubscriptionFieldsTool(input) {
159
181
  try {
160
- const schema = (0, utils_1.loadSchema)(input.schemaPath);
161
- const results = (0, utils_1.getSubscriptionFields)(schema, input.fieldNames);
182
+ const schema = (0, utils_js_1.loadSchema)(input.schemaPath);
183
+ const results = (0, utils_js_1.getSubscriptionFields)(schema, input.fieldNames);
162
184
  return {
163
185
  content: [
164
186
  {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/tools/graphql/tools.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
- import { GraphQLSchema } from 'graphql';
1
+ /**
2
+ * GraphQL Schema Utilities
3
+ *
4
+ * Functions to load, inspect and extract information from GraphQL schemas.
5
+ */
6
+ import type { GraphQLSchema } from 'graphql';
2
7
  export interface SearchResult {
3
8
  matchingTypes: string[];
4
9
  matchingFields: string[];
@@ -11,10 +16,28 @@ export interface TypeDefinition {
11
16
  name: string;
12
17
  definition: string;
13
18
  }
19
+ /**
20
+ * Load and parse a GraphQL schema from a file
21
+ */
14
22
  export declare function loadSchema(schemaPath: string): GraphQLSchema;
23
+ /**
24
+ * Search for types and fields matching a pattern
25
+ */
15
26
  export declare function searchSchema(schema: GraphQLSchema, pattern: string): SearchResult;
27
+ /**
28
+ * Get type definitions by name
29
+ */
16
30
  export declare function getTypes(schema: GraphQLSchema, typeNames: string[]): TypeDefinition[];
31
+ /**
32
+ * Get query field definitions
33
+ */
17
34
  export declare function getQueryFields(schema: GraphQLSchema, fieldNames: string[]): FieldDefinition[];
35
+ /**
36
+ * Get mutation field definitions
37
+ */
18
38
  export declare function getMutationFields(schema: GraphQLSchema, fieldNames: string[]): FieldDefinition[];
39
+ /**
40
+ * Get subscription field definitions
41
+ */
19
42
  export declare function getSubscriptionFields(schema: GraphQLSchema, fieldNames: string[]): FieldDefinition[];
20
43
  //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/tools/graphql/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAmC,aAAa,EAAE,MAAM,SAAS,CAAC;AAG9E,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAa5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,GACd,YAAY,CAsBd;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EAAE,GAClB,cAAc,EAAE,CA0BlB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAAE,GACnB,eAAe,EAAE,CAWnB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAAE,GACnB,eAAe,EAAE,CAWnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAAE,GACnB,eAAe,EAAE,CAWnB"}
@@ -1,4 +1,9 @@
1
1
  "use strict";
2
+ /**
3
+ * GraphQL Schema Utilities
4
+ *
5
+ * Functions to load, inspect and extract information from GraphQL schemas.
6
+ */
2
7
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
8
  if (k2 === undefined) k2 = k;
4
9
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -41,6 +46,9 @@ exports.getMutationFields = getMutationFields;
41
46
  exports.getSubscriptionFields = getSubscriptionFields;
42
47
  const fs = __importStar(require("fs"));
43
48
  const graphql_1 = require("graphql");
49
+ /**
50
+ * Load and parse a GraphQL schema from a file
51
+ */
44
52
  function loadSchema(schemaPath) {
45
53
  if (!fs.existsSync(schemaPath)) {
46
54
  throw new Error(`Schema file not found: ${schemaPath}`);
@@ -54,9 +62,14 @@ function loadSchema(schemaPath) {
54
62
  throw new Error(`Failed to parse schema: ${message}`);
55
63
  }
56
64
  }
65
+ /**
66
+ * Search for types and fields matching a pattern
67
+ */
57
68
  function searchSchema(schema, pattern) {
58
69
  const searchRegex = new RegExp(pattern, 'i');
70
+ // Search types
59
71
  const matchingTypes = Object.keys(schema.getTypeMap()).filter((type) => !type.startsWith('__') && searchRegex.test(type));
72
+ // Search fields in object types
60
73
  const matchingFields = Object.entries(schema.getTypeMap())
61
74
  .filter(([typeName]) => !typeName.startsWith('__'))
62
75
  .flatMap(([typeName, type]) => {
@@ -70,9 +83,11 @@ function searchSchema(schema, pattern) {
70
83
  });
71
84
  return { matchingTypes, matchingFields };
72
85
  }
86
+ /**
87
+ * Get type definitions by name
88
+ */
73
89
  function getTypes(schema, typeNames) {
74
90
  return typeNames.map((typeName) => {
75
- var _a;
76
91
  const type = schema.getTypeMap()[typeName];
77
92
  if (!type) {
78
93
  return {
@@ -81,9 +96,10 @@ function getTypes(schema, typeNames) {
81
96
  };
82
97
  }
83
98
  if (!type.astNode) {
99
+ // Handle introspection types and other types without astNodes
84
100
  return {
85
101
  name: typeName,
86
- definition: `Type: ${typeName}\nDescription: ${(_a = type.description) !== null && _a !== void 0 ? _a : 'No description'}\nKind: ${type.constructor.name}`,
102
+ definition: `Type: ${typeName}\nDescription: ${type.description ?? 'No description'}\nKind: ${type.constructor.name}`,
87
103
  };
88
104
  }
89
105
  return {
@@ -92,6 +108,9 @@ function getTypes(schema, typeNames) {
92
108
  };
93
109
  });
94
110
  }
111
+ /**
112
+ * Get query field definitions
113
+ */
95
114
  function getQueryFields(schema, fieldNames) {
96
115
  const queryType = schema.getQueryType();
97
116
  if (!queryType) {
@@ -103,6 +122,9 @@ function getQueryFields(schema, fieldNames) {
103
122
  const fields = queryType.getFields();
104
123
  return getFieldDefinitions(fields, fieldNames);
105
124
  }
125
+ /**
126
+ * Get mutation field definitions
127
+ */
106
128
  function getMutationFields(schema, fieldNames) {
107
129
  const mutationType = schema.getMutationType();
108
130
  if (!mutationType) {
@@ -114,6 +136,9 @@ function getMutationFields(schema, fieldNames) {
114
136
  const fields = mutationType.getFields();
115
137
  return getFieldDefinitions(fields, fieldNames);
116
138
  }
139
+ /**
140
+ * Get subscription field definitions
141
+ */
117
142
  function getSubscriptionFields(schema, fieldNames) {
118
143
  const subscriptionType = schema.getSubscriptionType();
119
144
  if (!subscriptionType) {
@@ -125,6 +150,9 @@ function getSubscriptionFields(schema, fieldNames) {
125
150
  const fields = subscriptionType.getFields();
126
151
  return getFieldDefinitions(fields, fieldNames);
127
152
  }
153
+ /**
154
+ * Helper to get field definitions from a fields map
155
+ */
128
156
  function getFieldDefinitions(fields, fieldNames) {
129
157
  return fieldNames.map((fieldName) => {
130
158
  const field = fields[fieldName];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/tools/graphql/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Skills Management Tools Registration
3
+ */
4
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ export declare function registerSkillsTools(server: McpServer, skillsPath: string): void;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tools/skills/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,GACjB,IAAI,CAqFN"}
@@ -1,15 +1,18 @@
1
1
  "use strict";
2
+ /**
3
+ * Skills Management Tools Registration
4
+ */
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.registerSkillsTools = registerSkillsTools;
4
7
  const zod_1 = require("zod");
5
- const tools_1 = require("./tools");
8
+ const tools_js_1 = require("./tools.js");
6
9
  function registerSkillsTools(server, skillsPath) {
7
10
  server.registerTool('list_skills', {
8
11
  title: 'List Mosaic Skills',
9
12
  description: 'List all available Axinom Mosaic development skills. Skills provide step-by-step workflows for building UI stations, GraphQL operations, and infrastructure components.',
10
13
  inputSchema: zod_1.z.object({}),
11
14
  }, async () => {
12
- const result = (0, tools_1.handleListSkills)(skillsPath);
15
+ const result = (0, tools_js_1.handleListSkills)(skillsPath);
13
16
  return {
14
17
  content: [{ type: 'text', text: result }],
15
18
  };
@@ -23,7 +26,7 @@ function registerSkillsTools(server, skillsPath) {
23
26
  .describe('The name of the skill to read (e.g., "generate-details-station", "generate-explorer-station")'),
24
27
  }),
25
28
  }, async ({ skill_name }) => {
26
- const result = (0, tools_1.handleGetSkill)(skillsPath, skill_name);
29
+ const result = (0, tools_js_1.handleGetSkill)(skillsPath, skill_name);
27
30
  return {
28
31
  content: [{ type: 'text', text: result }],
29
32
  };
@@ -40,7 +43,7 @@ function registerSkillsTools(server, skillsPath) {
40
43
  .describe('Array of relative paths from SKILL.md location (e.g., ["../_shared/discovery/discover-paths.md", "./refs/templates/graphql-operations.md"]). Extract ALL reference paths mentioned in the skill steps.'),
41
44
  }),
42
45
  }, async ({ skill_name, reference_paths }) => {
43
- const result = (0, tools_1.handleGetSkillReferences)(skillsPath, skill_name, reference_paths);
46
+ const result = (0, tools_js_1.handleGetSkillReferences)(skillsPath, skill_name, reference_paths);
44
47
  return {
45
48
  content: [{ type: 'text', text: result }],
46
49
  };
@@ -52,7 +55,7 @@ function registerSkillsTools(server, skillsPath) {
52
55
  skill_name: zod_1.z.string().describe('The name of the skill to execute'),
53
56
  }),
54
57
  }, async ({ skill_name }) => {
55
- const result = (0, tools_1.handleExecuteSkill)(skillsPath, skill_name);
58
+ const result = (0, tools_js_1.handleExecuteSkill)(skillsPath, skill_name);
56
59
  return {
57
60
  content: [{ type: 'text', text: result }],
58
61
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/skills/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAYH,kDAwFC;AAjGD,6BAAwB;AAExB,yCAKoB;AAEpB,SAAgB,mBAAmB,CACjC,MAAiB,EACjB,UAAkB;IAElB,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,yKAAyK;QAC3K,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,EACD,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,IAAA,2BAAgB,EAAC,UAAU,CAAC,CAAC;QAC5C,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,+SAA+S;QACjT,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,OAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CACP,+FAA+F,CAChG;SACJ,CAAC;KACH,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,IAAA,yBAAc,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,gZAAgZ;QAClZ,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,OAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CAAC,mDAAmD,CAAC;YAChE,eAAe,EAAE,OAAC;iBACf,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CACP,wMAAwM,CACzM;SACJ,CAAC;KACH,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,IAAA,mCAAwB,EACrC,UAAU,EACV,UAAU,EACV,eAAe,CAChB,CAAC;QACF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,waAAwa;QAC1a,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;SACpE,CAAC;KACH,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,IAAA,6BAAkB,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}