@atlaskit/ads-mcp 0.15.1 → 0.17.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 (47) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/index.js +6 -0
  3. package/dist/cjs/tools/get-guidelines/guidelines-structured-content.codegen.js +49 -0
  4. package/dist/cjs/tools/get-guidelines/index.js +99 -0
  5. package/dist/cjs/tools/get-icons/icon-mcp-structured-content.codegen.js +8 -0
  6. package/dist/cjs/tools/get-icons/icon-structured-content.codegen.js +2 -2
  7. package/dist/cjs/tools/get-icons/index.js +13 -13
  8. package/dist/cjs/tools/get-lint-rules/index.js +11 -11
  9. package/dist/cjs/tools/get-lint-rules/lint-rules-structured-content.codegen.js +94 -86
  10. package/dist/cjs/tools/get-tokens/index.js +12 -12
  11. package/dist/cjs/tools/get-tokens/token-mcp-structured-content.codegen.js +2356 -0
  12. package/dist/cjs/tools/i18n-conversion/guide.js +1 -1
  13. package/dist/es2019/index.js +6 -0
  14. package/dist/es2019/tools/get-guidelines/guidelines-structured-content.codegen.js +43 -0
  15. package/dist/es2019/tools/get-guidelines/index.js +78 -0
  16. package/dist/es2019/tools/get-icons/icon-mcp-structured-content.codegen.js +8 -0
  17. package/dist/es2019/tools/get-icons/icon-structured-content.codegen.js +2 -2
  18. package/dist/es2019/tools/get-icons/index.js +9 -9
  19. package/dist/es2019/tools/get-lint-rules/index.js +9 -9
  20. package/dist/es2019/tools/get-lint-rules/lint-rules-structured-content.codegen.js +93 -85
  21. package/dist/es2019/tools/get-tokens/index.js +9 -9
  22. package/dist/es2019/tools/get-tokens/token-mcp-structured-content.codegen.js +2350 -0
  23. package/dist/es2019/tools/i18n-conversion/guide.js +1 -1
  24. package/dist/esm/index.js +6 -0
  25. package/dist/esm/tools/get-guidelines/guidelines-structured-content.codegen.js +43 -0
  26. package/dist/esm/tools/get-guidelines/index.js +92 -0
  27. package/dist/esm/tools/get-icons/icon-mcp-structured-content.codegen.js +8 -0
  28. package/dist/esm/tools/get-icons/icon-structured-content.codegen.js +2 -2
  29. package/dist/esm/tools/get-icons/index.js +13 -13
  30. package/dist/esm/tools/get-lint-rules/index.js +12 -12
  31. package/dist/esm/tools/get-lint-rules/lint-rules-structured-content.codegen.js +93 -85
  32. package/dist/esm/tools/get-tokens/index.js +12 -12
  33. package/dist/esm/tools/get-tokens/token-mcp-structured-content.codegen.js +2350 -0
  34. package/dist/esm/tools/i18n-conversion/guide.js +1 -1
  35. package/dist/types/tools/get-guidelines/guidelines-structured-content.codegen.d.ts +13 -0
  36. package/dist/types/tools/get-guidelines/index.d.ts +13 -0
  37. package/dist/types/tools/get-icons/icon-mcp-structured-content.codegen.d.ts +13 -0
  38. package/dist/types/tools/get-icons/icon-structured-content.codegen.d.ts +1 -1
  39. package/dist/types/tools/get-lint-rules/lint-rules-structured-content.codegen.d.ts +4 -4
  40. package/dist/types/tools/get-tokens/token-mcp-structured-content.codegen.d.ts +13 -0
  41. package/dist/types-ts4.5/tools/get-guidelines/guidelines-structured-content.codegen.d.ts +13 -0
  42. package/dist/types-ts4.5/tools/get-guidelines/index.d.ts +13 -0
  43. package/dist/types-ts4.5/tools/get-icons/icon-mcp-structured-content.codegen.d.ts +13 -0
  44. package/dist/types-ts4.5/tools/get-icons/icon-structured-content.codegen.d.ts +1 -1
  45. package/dist/types-ts4.5/tools/get-lint-rules/lint-rules-structured-content.codegen.d.ts +4 -4
  46. package/dist/types-ts4.5/tools/get-tokens/token-mcp-structured-content.codegen.d.ts +13 -0
  47. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  import Fuse from 'fuse.js';
4
4
  import { z } from 'zod';
5
5
  import { cleanQuery, zodToJsonSchema } from '../../helpers';
6
- import { iconStructuredContent } from './icon-structured-content.codegen';
6
+ import { iconMcpStructuredContent } from './icon-mcp-structured-content.codegen';
7
7
  export const getIconsInputSchema = z.object({
8
8
  terms: z.array(z.string()).default([]).describe('An array of search terms to find icons by name, keywords, or categorization, eg. `["search", "folder", "user"]`. If empty or not provided, returns all icons.').optional(),
9
9
  limit: z.number().default(1).describe('Maximum number of results per search term in the array (default: 1)').optional(),
@@ -37,15 +37,15 @@ export const getIconsTool = async params => {
37
37
  exactName = false
38
38
  } = params;
39
39
  const searchTerms = terms.filter(Boolean).map(cleanQuery);
40
- const iconDocs = iconStructuredContent.filter(icon => icon.status === 'published');
40
+ const iconDocs = iconMcpStructuredContent.filter(icon => icon.status === 'published');
41
41
 
42
- // If no search terms provided, return all icons formatted as Markdown
42
+ // If no search terms provided, return all icons as JSON array
43
43
  if (searchTerms.length === 0) {
44
- const allIconsMarkdown = iconDocs.map(icon => icon.content).join('\n\n');
44
+ const payload = iconDocs.map(icon => icon.content);
45
45
  return {
46
46
  content: [{
47
47
  type: 'text',
48
- text: allIconsMarkdown
48
+ text: JSON.stringify(payload)
49
49
  }]
50
50
  };
51
51
  }
@@ -58,11 +58,11 @@ export const getIconsTool = async params => {
58
58
  }).filter(icon => icon !== undefined);
59
59
 
60
60
  // Return exact matches if found, or empty result if exactName is true
61
- const formattedIcons = exactNameMatches.map(icon => icon.content).join('\n\n');
61
+ const payload = exactNameMatches.length === 1 ? exactNameMatches[0].content : exactNameMatches.map(icon => icon.content);
62
62
  return {
63
63
  content: [{
64
64
  type: 'text',
65
- text: formattedIcons
65
+ text: JSON.stringify(payload)
66
66
  }]
67
67
  };
68
68
  }
@@ -100,11 +100,11 @@ export const getIconsTool = async params => {
100
100
  return arr.findIndex(r => r.item.componentName === result.item.componentName) === index;
101
101
  });
102
102
  const matchedIcons = uniqueResults.map(result => result.item);
103
- const formattedIcons = matchedIcons.map(icon => icon.content).join('\n\n');
103
+ const payload = matchedIcons.length === 1 ? matchedIcons[0].content : matchedIcons.map(icon => icon.content);
104
104
  return {
105
105
  content: [{
106
106
  type: 'text',
107
- text: formattedIcons
107
+ text: JSON.stringify(payload)
108
108
  }]
109
109
  };
110
110
  };
@@ -3,7 +3,7 @@
3
3
  import Fuse from 'fuse.js';
4
4
  import { z } from 'zod';
5
5
  import { cleanQuery, zodToJsonSchema } from '../../helpers';
6
- import { lintRulesStructuredContent } from './lint-rules-structured-content.codegen';
6
+ import { lintRulesMcpStructuredContent } from './lint-rules-structured-content.codegen';
7
7
  export const getLintRulesInputSchema = z.object({
8
8
  terms: z.array(z.string()).default([]).describe('An array of search terms to find lint rules by name or description, eg. `["icon-label", "xcss", "design token"]`. If empty or not provided, returns all lint rules.').optional(),
9
9
  limit: z.number().default(1).describe('Maximum number of results per search term in the array (default: 1)').optional(),
@@ -33,15 +33,15 @@ export const getLintRulesTool = async params => {
33
33
  exactName = false
34
34
  } = params;
35
35
  const searchTerms = terms.filter(Boolean).map(cleanQuery);
36
- const ruleDocs = lintRulesStructuredContent;
36
+ const ruleDocs = lintRulesMcpStructuredContent;
37
37
 
38
- // If no search terms provided, return all rules formatted as Markdown
38
+ // If no search terms provided, return all rules as JSON array
39
39
  if (searchTerms.length === 0) {
40
- const allRulesMarkdown = ruleDocs.map(rule => rule.content).join('\n\n');
40
+ const payload = ruleDocs.map(rule => rule.content);
41
41
  return {
42
42
  content: [{
43
43
  type: 'text',
44
- text: allRulesMarkdown
44
+ text: JSON.stringify(payload)
45
45
  }]
46
46
  };
47
47
  }
@@ -51,11 +51,11 @@ export const getLintRulesTool = async params => {
51
51
  const exactNameMatches = searchTerms.map(term => {
52
52
  return ruleDocs.find(rule => rule.ruleName.toLowerCase() === term.toLowerCase());
53
53
  }).filter(rule => rule !== undefined);
54
- const formattedRules = exactNameMatches.map(rule => rule.content).join('\n\n');
54
+ const payload = exactNameMatches.length === 1 ? exactNameMatches[0].content : exactNameMatches.map(rule => rule.content);
55
55
  return {
56
56
  content: [{
57
57
  type: 'text',
58
- text: formattedRules
58
+ text: JSON.stringify(payload)
59
59
  }]
60
60
  };
61
61
  }
@@ -89,11 +89,11 @@ export const getLintRulesTool = async params => {
89
89
  return arr.findIndex(r => r.item.ruleName === result.item.ruleName) === index;
90
90
  });
91
91
  const matchedRules = uniqueResults.map(result => result.item);
92
- const formattedRules = matchedRules.map(rule => rule.content).join('\n\n');
92
+ const payload = matchedRules.length === 1 ? matchedRules[0].content : matchedRules.map(rule => rule.content);
93
93
  return {
94
94
  content: [{
95
95
  type: 'text',
96
- text: formattedRules
96
+ text: JSON.stringify(payload)
97
97
  }]
98
98
  };
99
99
  };