@sky.ui/mcp 0.0.1

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 (184) hide show
  1. package/LICENSE.md +139 -0
  2. package/README.md +182 -0
  3. package/data/chart-api-sections.json +4185 -0
  4. package/data/component-tier.json +25 -0
  5. package/data/design-guidelines/p0-guidelines.json +13381 -0
  6. package/data/reactivity-readme-snapshot.json +1 -0
  7. package/data/theme-authoring-contract.json +598 -0
  8. package/data/utils-suggestion-snapshot.json +1 -0
  9. package/dist/cache.d.ts +3 -0
  10. package/dist/cache.d.ts.map +1 -0
  11. package/dist/cache.js +15 -0
  12. package/dist/cache.js.map +1 -0
  13. package/dist/catalog.d.ts +60 -0
  14. package/dist/catalog.d.ts.map +1 -0
  15. package/dist/catalog.js +343 -0
  16. package/dist/catalog.js.map +1 -0
  17. package/dist/cem.d.ts +26 -0
  18. package/dist/cem.d.ts.map +1 -0
  19. package/dist/cem.js +348 -0
  20. package/dist/cem.js.map +1 -0
  21. package/dist/chart-usage-tool.d.ts +20 -0
  22. package/dist/chart-usage-tool.d.ts.map +1 -0
  23. package/dist/chart-usage-tool.js +153 -0
  24. package/dist/chart-usage-tool.js.map +1 -0
  25. package/dist/component-docs-tool.d.ts +45 -0
  26. package/dist/component-docs-tool.d.ts.map +1 -0
  27. package/dist/component-docs-tool.js +217 -0
  28. package/dist/component-docs-tool.js.map +1 -0
  29. package/dist/component-method-filter.d.ts +3 -0
  30. package/dist/component-method-filter.d.ts.map +1 -0
  31. package/dist/component-method-filter.js +32 -0
  32. package/dist/component-method-filter.js.map +1 -0
  33. package/dist/component-tier.d.ts +20 -0
  34. package/dist/component-tier.d.ts.map +1 -0
  35. package/dist/component-tier.js +59 -0
  36. package/dist/component-tier.js.map +1 -0
  37. package/dist/component-usage-tool.d.ts +20 -0
  38. package/dist/component-usage-tool.d.ts.map +1 -0
  39. package/dist/component-usage-tool.js +90 -0
  40. package/dist/component-usage-tool.js.map +1 -0
  41. package/dist/design-guidelines/a11y-engine.d.ts +22 -0
  42. package/dist/design-guidelines/a11y-engine.d.ts.map +1 -0
  43. package/dist/design-guidelines/a11y-engine.js +78 -0
  44. package/dist/design-guidelines/a11y-engine.js.map +1 -0
  45. package/dist/design-guidelines/compatibility-engine.d.ts +20 -0
  46. package/dist/design-guidelines/compatibility-engine.d.ts.map +1 -0
  47. package/dist/design-guidelines/compatibility-engine.js +57 -0
  48. package/dist/design-guidelines/compatibility-engine.js.map +1 -0
  49. package/dist/design-guidelines/component-guideline-engine.d.ts +19 -0
  50. package/dist/design-guidelines/component-guideline-engine.d.ts.map +1 -0
  51. package/dist/design-guidelines/component-guideline-engine.js +40 -0
  52. package/dist/design-guidelines/component-guideline-engine.js.map +1 -0
  53. package/dist/design-guidelines/composition-engine.d.ts +10 -0
  54. package/dist/design-guidelines/composition-engine.d.ts.map +1 -0
  55. package/dist/design-guidelines/composition-engine.js +29 -0
  56. package/dist/design-guidelines/composition-engine.js.map +1 -0
  57. package/dist/design-guidelines/pattern-engine.d.ts +20 -0
  58. package/dist/design-guidelines/pattern-engine.d.ts.map +1 -0
  59. package/dist/design-guidelines/pattern-engine.js +58 -0
  60. package/dist/design-guidelines/pattern-engine.js.map +1 -0
  61. package/dist/design-guidelines/recommendation-engine.d.ts +11 -0
  62. package/dist/design-guidelines/recommendation-engine.d.ts.map +1 -0
  63. package/dist/design-guidelines/recommendation-engine.js +88 -0
  64. package/dist/design-guidelines/recommendation-engine.js.map +1 -0
  65. package/dist/design-guidelines/repository.d.ts +19 -0
  66. package/dist/design-guidelines/repository.d.ts.map +1 -0
  67. package/dist/design-guidelines/repository.js +71 -0
  68. package/dist/design-guidelines/repository.js.map +1 -0
  69. package/dist/design-guidelines/review-engine.d.ts +20 -0
  70. package/dist/design-guidelines/review-engine.d.ts.map +1 -0
  71. package/dist/design-guidelines/review-engine.js +179 -0
  72. package/dist/design-guidelines/review-engine.js.map +1 -0
  73. package/dist/design-guidelines/schema.d.ts +256 -0
  74. package/dist/design-guidelines/schema.d.ts.map +1 -0
  75. package/dist/design-guidelines/schema.js +124 -0
  76. package/dist/design-guidelines/schema.js.map +1 -0
  77. package/dist/design-guidelines/token-engine.d.ts +23 -0
  78. package/dist/design-guidelines/token-engine.d.ts.map +1 -0
  79. package/dist/design-guidelines/token-engine.js +119 -0
  80. package/dist/design-guidelines/token-engine.js.map +1 -0
  81. package/dist/docs-read.d.ts +28 -0
  82. package/dist/docs-read.d.ts.map +1 -0
  83. package/dist/docs-read.js +102 -0
  84. package/dist/docs-read.js.map +1 -0
  85. package/dist/docs.d.ts +73 -0
  86. package/dist/docs.d.ts.map +1 -0
  87. package/dist/docs.js +323 -0
  88. package/dist/docs.js.map +1 -0
  89. package/dist/example-site-doc-enrichment.d.ts +27 -0
  90. package/dist/example-site-doc-enrichment.d.ts.map +1 -0
  91. package/dist/example-site-doc-enrichment.js +171 -0
  92. package/dist/example-site-doc-enrichment.js.map +1 -0
  93. package/dist/example-site-fetch.d.ts +44 -0
  94. package/dist/example-site-fetch.d.ts.map +1 -0
  95. package/dist/example-site-fetch.js +255 -0
  96. package/dist/example-site-fetch.js.map +1 -0
  97. package/dist/framework-wrappers.d.ts +46 -0
  98. package/dist/framework-wrappers.d.ts.map +1 -0
  99. package/dist/framework-wrappers.js +131 -0
  100. package/dist/framework-wrappers.js.map +1 -0
  101. package/dist/mcp-response-truth.d.ts +18 -0
  102. package/dist/mcp-response-truth.d.ts.map +1 -0
  103. package/dist/mcp-response-truth.js +45 -0
  104. package/dist/mcp-response-truth.js.map +1 -0
  105. package/dist/mcp-runtime-status.d.ts +37 -0
  106. package/dist/mcp-runtime-status.d.ts.map +1 -0
  107. package/dist/mcp-runtime-status.js +96 -0
  108. package/dist/mcp-runtime-status.js.map +1 -0
  109. package/dist/mcp-stdio-entry.d.ts +3 -0
  110. package/dist/mcp-stdio-entry.d.ts.map +1 -0
  111. package/dist/mcp-stdio-entry.js +35 -0
  112. package/dist/mcp-stdio-entry.js.map +1 -0
  113. package/dist/mcp-tool-errors.d.ts +35 -0
  114. package/dist/mcp-tool-errors.d.ts.map +1 -0
  115. package/dist/mcp-tool-errors.js +42 -0
  116. package/dist/mcp-tool-errors.js.map +1 -0
  117. package/dist/parse-component-ast.d.ts +112 -0
  118. package/dist/parse-component-ast.d.ts.map +1 -0
  119. package/dist/parse-component-ast.js +695 -0
  120. package/dist/parse-component-ast.js.map +1 -0
  121. package/dist/post-endpoint-server.d.ts +19 -0
  122. package/dist/post-endpoint-server.d.ts.map +1 -0
  123. package/dist/post-endpoint-server.js +777 -0
  124. package/dist/post-endpoint-server.js.map +1 -0
  125. package/dist/reactivity-info.d.ts +22 -0
  126. package/dist/reactivity-info.d.ts.map +1 -0
  127. package/dist/reactivity-info.js +99 -0
  128. package/dist/reactivity-info.js.map +1 -0
  129. package/dist/reactivity-layer-tool.d.ts +18 -0
  130. package/dist/reactivity-layer-tool.d.ts.map +1 -0
  131. package/dist/reactivity-layer-tool.js +58 -0
  132. package/dist/reactivity-layer-tool.js.map +1 -0
  133. package/dist/reactivity-readme-topics.d.ts +46 -0
  134. package/dist/reactivity-readme-topics.d.ts.map +1 -0
  135. package/dist/reactivity-readme-topics.js +206 -0
  136. package/dist/reactivity-readme-topics.js.map +1 -0
  137. package/dist/read-only-tool-allowlist.d.ts +7 -0
  138. package/dist/read-only-tool-allowlist.d.ts.map +1 -0
  139. package/dist/read-only-tool-allowlist.js +17 -0
  140. package/dist/read-only-tool-allowlist.js.map +1 -0
  141. package/dist/server.d.ts +7 -0
  142. package/dist/server.d.ts.map +1 -0
  143. package/dist/server.js +786 -0
  144. package/dist/server.js.map +1 -0
  145. package/dist/source-read.d.ts +31 -0
  146. package/dist/source-read.d.ts.map +1 -0
  147. package/dist/source-read.js +213 -0
  148. package/dist/source-read.js.map +1 -0
  149. package/dist/theme-authoring/contract-schema.d.ts +191 -0
  150. package/dist/theme-authoring/contract-schema.d.ts.map +1 -0
  151. package/dist/theme-authoring/contract-schema.js +49 -0
  152. package/dist/theme-authoring/contract-schema.js.map +1 -0
  153. package/dist/theme-authoring/repository.d.ts +18 -0
  154. package/dist/theme-authoring/repository.d.ts.map +1 -0
  155. package/dist/theme-authoring/repository.js +55 -0
  156. package/dist/theme-authoring/repository.js.map +1 -0
  157. package/dist/theme-tool.d.ts +26 -0
  158. package/dist/theme-tool.d.ts.map +1 -0
  159. package/dist/theme-tool.js +312 -0
  160. package/dist/theme-tool.js.map +1 -0
  161. package/dist/utils-guide-topics.d.ts +39 -0
  162. package/dist/utils-guide-topics.d.ts.map +1 -0
  163. package/dist/utils-guide-topics.js +202 -0
  164. package/dist/utils-guide-topics.js.map +1 -0
  165. package/dist/utils-info.d.ts +75 -0
  166. package/dist/utils-info.d.ts.map +1 -0
  167. package/dist/utils-info.js +219 -0
  168. package/dist/utils-info.js.map +1 -0
  169. package/dist/utils-suggestion-grounding.d.ts +59 -0
  170. package/dist/utils-suggestion-grounding.d.ts.map +1 -0
  171. package/dist/utils-suggestion-grounding.js +267 -0
  172. package/dist/utils-suggestion-grounding.js.map +1 -0
  173. package/docs/agent-recipe-example-site.md +91 -0
  174. package/docs/ai-design-mcp-blueprint.md +75 -0
  175. package/docs/cross-model-mcp-playbook.md +127 -0
  176. package/docs/example-site-and-mcp-training.md +82 -0
  177. package/docs/mcp-capability-status.md +51 -0
  178. package/docs/mcp-tooling-roadmap.md +36 -0
  179. package/docs/sky-chart-option-api.md +47 -0
  180. package/docs/starter-prompt.md +17 -0
  181. package/docs/theme-config-guide.md +178 -0
  182. package/docs/utils-usage-guide.md +110 -0
  183. package/docs/vue-wrapper-v-model.md +36 -0
  184. package/package.json +63 -0
@@ -0,0 +1,217 @@
1
+ import { getSkyComponentDocs } from './docs.js';
2
+ import { getSkyComponentDocsEnrichedFromExampleSite } from './example-site-doc-enrichment.js';
3
+ import { McpErrorCode, mcpToolErr } from './mcp-tool-errors.js';
4
+ import { withSkyUiMcpMeta } from './mcp-response-truth.js';
5
+ function extractReplacementHint(text) {
6
+ if (!text)
7
+ return null;
8
+ const patterns = [
9
+ /use\s+`?([a-z0-9_.-]+)`?\s+instead/i,
10
+ /replace(?:d)?\s+by\s+`?([a-z0-9_.-]+)`?/i,
11
+ /migrate\s+to\s+`?([a-z0-9_.-]+)`?/i
12
+ ];
13
+ for (const p of patterns) {
14
+ const m = p.exec(text);
15
+ if (m?.[1])
16
+ return m[1];
17
+ }
18
+ return null;
19
+ }
20
+ function isDeprecatedText(text) {
21
+ if (!text)
22
+ return false;
23
+ return /\bdeprecated\b/i.test(text);
24
+ }
25
+ export function buildDeprecationsPayload(doc, dataSource) {
26
+ const componentSignals = [doc.status, doc.summary, ...doc.miscTags.map((t) => `${t.tag}: ${t.text}`)].filter(Boolean);
27
+ const componentDeprecated = componentSignals.some((t) => isDeprecatedText(t));
28
+ const componentReplacement = componentSignals.map((t) => extractReplacementHint(t)).find(Boolean) ?? null;
29
+ const deprecatedProperties = (doc.properties ?? [])
30
+ .filter((p) => isDeprecatedText(p.description))
31
+ .map((p) => ({
32
+ name: p.name,
33
+ description: p.description ?? null,
34
+ replacement: extractReplacementHint(p.description ?? undefined)
35
+ }));
36
+ const deprecatedEvents = (doc.events ?? [])
37
+ .filter((e) => isDeprecatedText(e.description))
38
+ .map((e) => ({
39
+ name: e.name,
40
+ description: e.description ?? null,
41
+ replacement: extractReplacementHint(e.description ?? undefined)
42
+ }));
43
+ const deprecatedSlots = (doc.slots ?? [])
44
+ .filter((s) => isDeprecatedText(s.description))
45
+ .map((s) => ({
46
+ name: s.name,
47
+ description: s.description ?? null,
48
+ replacement: extractReplacementHint(s.description ?? undefined)
49
+ }));
50
+ return {
51
+ name: doc.name,
52
+ tagName: doc.tagName,
53
+ dataSource,
54
+ component: {
55
+ deprecated: componentDeprecated,
56
+ replacement: componentReplacement
57
+ },
58
+ members: {
59
+ properties: deprecatedProperties,
60
+ events: deprecatedEvents,
61
+ slots: deprecatedSlots
62
+ },
63
+ foundAnyDeprecation: componentDeprecated ||
64
+ deprecatedProperties.length > 0 ||
65
+ deprecatedEvents.length > 0 ||
66
+ deprecatedSlots.length > 0
67
+ };
68
+ }
69
+ function enrichmentNote(result) {
70
+ if (result.exampleSitePageAi !== undefined ||
71
+ result.exampleSiteSections !== undefined ||
72
+ result.exampleSiteSourceUrl !== undefined) {
73
+ return 'exampleSitePageAi, exampleSiteSections, and merged events/methods come from the published docs site — verify API facts against your installed @sky.ui/core.';
74
+ }
75
+ return undefined;
76
+ }
77
+ function fullDocPayload(result, truncatedExamples) {
78
+ const { doc, dataSource, exampleSitePageAi, exampleSiteSections, exampleSiteSourceUrl, exampleSiteEnrichmentError } = result;
79
+ return {
80
+ schemaVersion: doc.schemaVersion,
81
+ name: doc.name,
82
+ tagName: doc.tagName,
83
+ import: doc.npmImport,
84
+ element: doc.element,
85
+ summary: doc.summary,
86
+ status: doc.status,
87
+ since: doc.since,
88
+ documentation: doc.documentation,
89
+ slots: doc.slots,
90
+ properties: doc.properties,
91
+ cssParts: doc.cssParts,
92
+ events: doc.events,
93
+ methods: doc.methods,
94
+ examples: doc.examples,
95
+ miscTags: doc.miscTags,
96
+ typeDefinitions: doc.typeDefinitions ?? [],
97
+ dataSource,
98
+ ...(doc.rawLeadTrivia !== undefined ? { rawLeadTrivia: doc.rawLeadTrivia } : {}),
99
+ truncatedExamples,
100
+ ...(exampleSitePageAi !== undefined ? { exampleSitePageAi } : {}),
101
+ ...(exampleSiteSections !== undefined ? { exampleSiteSections } : {}),
102
+ ...(exampleSiteSourceUrl !== undefined ? { exampleSiteSourceUrl } : {}),
103
+ ...(exampleSiteEnrichmentError !== undefined ? { exampleSiteEnrichmentError } : {})
104
+ };
105
+ }
106
+ function surfacePayload(result, surface) {
107
+ const { doc, dataSource, exampleSitePageAi, exampleSiteSections, exampleSiteSourceUrl, exampleSiteEnrichmentError } = result;
108
+ const base = {
109
+ surface,
110
+ name: doc.name,
111
+ tagName: doc.tagName,
112
+ dataSource,
113
+ ...(exampleSitePageAi !== undefined ? { exampleSitePageAi } : {}),
114
+ ...(exampleSiteSections !== undefined ? { exampleSiteSections } : {}),
115
+ ...(exampleSiteSourceUrl !== undefined ? { exampleSiteSourceUrl } : {}),
116
+ ...(exampleSiteEnrichmentError !== undefined ? { exampleSiteEnrichmentError } : {})
117
+ };
118
+ if (surface === 'props')
119
+ return { ...base, properties: doc.properties };
120
+ if (surface === 'slots')
121
+ return { ...base, slots: doc.slots };
122
+ if (surface === 'events')
123
+ return { ...base, events: doc.events };
124
+ return { ...base, methods: doc.methods };
125
+ }
126
+ async function loadDocResult(name, options) {
127
+ const needsEnrichment = !options.surface || options.surface === 'events' || options.surface === 'methods';
128
+ if (needsEnrichment) {
129
+ const enriched = await getSkyComponentDocsEnrichedFromExampleSite(name, {
130
+ maxCharsPerExample: options.maxCharsPerExample,
131
+ includeRawLead: options.includeRawLead ?? false,
132
+ includeInternalLifecycleMethods: options.includeInternalLifecycleMethods ?? false
133
+ });
134
+ if (!enriched.ok)
135
+ return enriched;
136
+ return {
137
+ ok: true,
138
+ result: enriched.result,
139
+ truncatedExamples: enriched.result.truncatedExamples ?? false
140
+ };
141
+ }
142
+ const basic = getSkyComponentDocs(name, {
143
+ maxCharsPerExample: options.maxCharsPerExample,
144
+ includeRawLead: options.includeRawLead ?? false,
145
+ includeInternalLifecycleMethods: options.includeInternalLifecycleMethods ?? false
146
+ });
147
+ if (!basic.ok)
148
+ return basic;
149
+ return {
150
+ ok: true,
151
+ result: {
152
+ doc: basic.result.doc,
153
+ dataSource: basic.result.dataSource,
154
+ truncatedExamples: basic.result.truncatedExamples
155
+ },
156
+ truncatedExamples: basic.result.truncatedExamples
157
+ };
158
+ }
159
+ function jsonContent(payload, enrichment) {
160
+ return {
161
+ content: [
162
+ {
163
+ type: 'text',
164
+ text: JSON.stringify(withSkyUiMcpMeta(payload, 'api_source', enrichment), null, 2)
165
+ }
166
+ ]
167
+ };
168
+ }
169
+ export async function handleGetSkyComponentDocs(input) {
170
+ const hasName = Boolean(input.name?.trim());
171
+ const hasNames = Boolean(input.names?.length);
172
+ if (hasName === hasNames) {
173
+ return mcpToolErr(McpErrorCode.COMPONENT_DOCS_FAILED, 'Provide exactly one of name (single) or names (batch).');
174
+ }
175
+ const options = {
176
+ maxCharsPerExample: input.max_example_chars === null ? undefined : input.max_example_chars,
177
+ includeRawLead: input.include_raw_lead ?? false,
178
+ includeInternalLifecycleMethods: input.include_internal_lifecycle_methods ?? false,
179
+ surface: input.surface
180
+ };
181
+ if (hasNames) {
182
+ const results = [];
183
+ for (const rawName of input.names) {
184
+ const loaded = await loadDocResult(rawName, options);
185
+ if (!loaded.ok) {
186
+ results.push({ input: rawName, ok: false, error: loaded.error });
187
+ continue;
188
+ }
189
+ let payload = input.surface
190
+ ? surfacePayload(loaded.result, input.surface)
191
+ : fullDocPayload(loaded.result, loaded.truncatedExamples);
192
+ if (input.include_deprecations) {
193
+ payload = {
194
+ ...payload,
195
+ deprecations: buildDeprecationsPayload(loaded.result.doc, loaded.result.dataSource)
196
+ };
197
+ }
198
+ results.push({ input: rawName, ok: true, ...payload });
199
+ }
200
+ return jsonContent({ requested: input.names.length, results });
201
+ }
202
+ const loaded = await loadDocResult(input.name.trim(), options);
203
+ if (!loaded.ok) {
204
+ return mcpToolErr(McpErrorCode.COMPONENT_DOCS_FAILED, loaded.error);
205
+ }
206
+ let payload = input.surface
207
+ ? surfacePayload(loaded.result, input.surface)
208
+ : fullDocPayload(loaded.result, loaded.truncatedExamples);
209
+ if (input.include_deprecations) {
210
+ payload = {
211
+ ...payload,
212
+ deprecations: buildDeprecationsPayload(loaded.result.doc, loaded.result.dataSource)
213
+ };
214
+ }
215
+ return jsonContent(payload, enrichmentNote(loaded.result));
216
+ }
217
+ //# sourceMappingURL=component-docs-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-docs-tool.js","sourceRoot":"","sources":["../src/component-docs-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** True if this instance method should appear in consumer-facing docs (`get_component_methods`, etc.). */
2
+ export declare function isConsumerFacingComponentMethod(name: string): boolean;
3
+ //# sourceMappingURL=component-method-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-method-filter.d.ts","sourceRoot":"","sources":["../src/component-method-filter.ts"],"names":[],"mappings":"AA0BA,0GAA0G;AAC1G,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGrE"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Names excluded from MCP “public methods” — browser CE / form lifecycle and Lit
3
+ * ReactiveElement hooks. CEM often omits `privacy` on these; real APIs use `privacy: "public"`.
4
+ */
5
+ const INTERNAL_COMPONENT_METHOD_NAMES = new Set([
6
+ 'connectedCallback',
7
+ 'disconnectedCallback',
8
+ 'adoptedCallback',
9
+ 'attributeChangedCallback',
10
+ 'formAssociatedCallback',
11
+ 'formDisabledCallback',
12
+ 'formResetCallback',
13
+ 'formStateRestoreCallback',
14
+ 'performUpdate',
15
+ 'scheduleUpdate',
16
+ 'shouldUpdate',
17
+ 'willUpdate',
18
+ 'update',
19
+ 'updated',
20
+ 'firstUpdated',
21
+ 'render',
22
+ 'createRenderRoot',
23
+ 'hasUpdated',
24
+ 'getUpdateComplete'
25
+ ]);
26
+ /** True if this instance method should appear in consumer-facing docs (`get_component_methods`, etc.). */
27
+ export function isConsumerFacingComponentMethod(name) {
28
+ if (!name || name.startsWith('_'))
29
+ return false;
30
+ return !INTERNAL_COMPONENT_METHOD_NAMES.has(name);
31
+ }
32
+ //# sourceMappingURL=component-method-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-method-filter.js","sourceRoot":"","sources":["../src/component-method-filter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAC;IAC9C,mBAAmB;IACnB,sBAAsB;IACtB,iBAAiB;IACjB,0BAA0B;IAC1B,wBAAwB;IACxB,sBAAsB;IACtB,mBAAmB;IACnB,0BAA0B;IAC1B,eAAe;IACf,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,cAAc;IACd,QAAQ;IACR,kBAAkB;IAClB,YAAY;IACZ,mBAAmB;CACpB,CAAC,CAAC;AAEH,0GAA0G;AAC1G,MAAM,UAAU,+BAA+B,CAAC,IAAY;IAC1D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO,CAAC,+BAA+B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,20 @@
1
+ export type SkyComponentTier = 'free' | 'pro';
2
+ export declare const PACKAGE_IMPORTS: {
3
+ readonly free: {
4
+ readonly main: "@sky.ui/core";
5
+ readonly vue: "@sky.ui/vue";
6
+ readonly react: "@sky.ui/react";
7
+ };
8
+ readonly pro: {
9
+ readonly main: "@sky.ui.pro/core";
10
+ readonly vue: "@sky.ui.pro/vue";
11
+ readonly react: "@sky.ui.pro/react";
12
+ };
13
+ };
14
+ export declare function loadProComponentTags(): Set<string>;
15
+ export declare function componentTier(tag: string): SkyComponentTier;
16
+ export declare function npmMainImport(tag: string, tier?: SkyComponentTier): string;
17
+ export declare function npmVueImport(tag: string, tier?: SkyComponentTier): string;
18
+ export declare function npmReactImport(tag: string, tier?: SkyComponentTier): string;
19
+ export declare function proInstallLine(framework: 'main' | 'vue' | 'react'): string;
20
+ //# sourceMappingURL=component-tier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-tier.d.ts","sourceRoot":"","sources":["../src/component-tier.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,CAAC;AAE9C,eAAO,MAAM,eAAe;;;;;;;;;;;CAWlB,CAAC;AAgBX,wBAAgB,oBAAoB,IAAI,GAAG,CAAC,MAAM,CAAC,CAclD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAE3D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqC,GAAG,MAAM,CAE9F;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqC,GAAG,MAAM,CAE7F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqC,GAAG,MAAM,CAE/F;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAG1E"}
@@ -0,0 +1,59 @@
1
+ import { readFileSync, existsSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { mcpPackageRoot, packagesDir } from './catalog.js';
4
+ export const PACKAGE_IMPORTS = {
5
+ free: {
6
+ main: '@sky.ui/core',
7
+ vue: '@sky.ui/vue',
8
+ react: '@sky.ui/react'
9
+ },
10
+ pro: {
11
+ main: '@sky.ui.pro/core',
12
+ vue: '@sky.ui.pro/vue',
13
+ react: '@sky.ui.pro/react'
14
+ }
15
+ };
16
+ let cachedProTags = null;
17
+ function componentTierConfigPath() {
18
+ const bundled = join(mcpPackageRoot(), 'data', 'component-tier.json');
19
+ if (existsSync(bundled))
20
+ return bundled;
21
+ const monorepo = join(packagesDir(), '..', 'config', 'component-tier.json');
22
+ if (existsSync(monorepo))
23
+ return monorepo;
24
+ return null;
25
+ }
26
+ export function loadProComponentTags() {
27
+ if (cachedProTags)
28
+ return cachedProTags;
29
+ const path = componentTierConfigPath();
30
+ if (!path) {
31
+ cachedProTags = new Set();
32
+ return cachedProTags;
33
+ }
34
+ try {
35
+ const raw = JSON.parse(readFileSync(path, 'utf8'));
36
+ cachedProTags = new Set(Array.isArray(raw.pro) ? raw.pro : []);
37
+ }
38
+ catch {
39
+ cachedProTags = new Set();
40
+ }
41
+ return cachedProTags;
42
+ }
43
+ export function componentTier(tag) {
44
+ return loadProComponentTags().has(tag) ? 'pro' : 'free';
45
+ }
46
+ export function npmMainImport(tag, tier = componentTier(tag)) {
47
+ return `${PACKAGE_IMPORTS[tier].main}/${tag}`;
48
+ }
49
+ export function npmVueImport(tag, tier = componentTier(tag)) {
50
+ return `${PACKAGE_IMPORTS[tier].vue}/${tag}`;
51
+ }
52
+ export function npmReactImport(tag, tier = componentTier(tag)) {
53
+ return `${PACKAGE_IMPORTS[tier].react}/${tag}`;
54
+ }
55
+ export function proInstallLine(framework) {
56
+ const pkg = PACKAGE_IMPORTS.pro[framework];
57
+ return `npm install ${pkg}`;
58
+ }
59
+ //# sourceMappingURL=component-tier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-tier.js","sourceRoot":"","sources":["../src/component-tier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,aAAa;QAClB,KAAK,EAAE,eAAe;KACvB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,iBAAiB;QACtB,KAAK,EAAE,mBAAmB;KAC3B;CACO,CAAC;AAMX,IAAI,aAAa,GAAuB,IAAI,CAAC;AAE7C,SAAS,uBAAuB;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAC5E,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IACxC,MAAM,IAAI,GAAG,uBAAuB,EAAE,CAAC;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAwB,CAAC;QAC1E,aAAa,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,oBAAoB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAyB,aAAa,CAAC,GAAG,CAAC;IACpF,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,OAAyB,aAAa,CAAC,GAAG,CAAC;IACnF,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,OAAyB,aAAa,CAAC,GAAG,CAAC;IACrF,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAAmC;IAChE,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,OAAO,eAAe,GAAG,EAAE,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type WrapperImportStyle } from './framework-wrappers.js';
2
+ export type ComponentUsageFramework = 'lit' | 'react' | 'vue';
3
+ export type ComponentUsageRequest = {
4
+ framework: string;
5
+ name: string;
6
+ import_style?: WrapperImportStyle;
7
+ };
8
+ export declare function handleGetComponentUsage(input: ComponentUsageRequest): {
9
+ content: Array<{
10
+ type: "text";
11
+ text: string;
12
+ }>;
13
+ isError: true;
14
+ } | {
15
+ content: {
16
+ type: "text";
17
+ text: string;
18
+ }[];
19
+ };
20
+ //# sourceMappingURL=component-usage-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-usage-tool.d.ts","sourceRoot":"","sources":["../src/component-usage-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAIjC,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;AAE9D,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAmBF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB;;;;;;;;;;;EAqEnE"}
@@ -0,0 +1,90 @@
1
+ import { loadSkyComponentsCached, resolveComponentEntry } from './catalog.js';
2
+ import { buildFrameworkWrapperDetails, buildUsageSnippetForFramework } from './framework-wrappers.js';
3
+ import { McpErrorCode, mcpToolErr } from './mcp-tool-errors.js';
4
+ import { withSkyUiMcpMeta } from './mcp-response-truth.js';
5
+ function litUsageSnippet(componentInput) {
6
+ const hitRes = loadSkyComponentsCached();
7
+ if (!hitRes.ok)
8
+ return { ok: false, error: hitRes.error };
9
+ const resolved = resolveComponentEntry(componentInput, hitRes.components);
10
+ if (!resolved)
11
+ return { ok: false, error: `Unknown component: ${componentInput}` };
12
+ const tag = resolved.entry.name;
13
+ const coreImport = resolved.entry.npmImport;
14
+ return {
15
+ ok: true,
16
+ componentName: tag,
17
+ npmImport: coreImport,
18
+ snippet: `import { html, LitElement } from 'lit';\nimport '${coreImport}';\n\nexport class DemoEl extends LitElement {\n render() {\n return html\`<${tag}>Hello</${tag}>\`;\n }\n}`
19
+ };
20
+ }
21
+ export function handleGetComponentUsage(input) {
22
+ const fwRaw = input.framework.trim().toLowerCase();
23
+ let framework;
24
+ if (['lit', 'litelement', 'core', 'webcomponent', 'webcomponents', 'vanilla'].includes(fwRaw)) {
25
+ framework = 'lit';
26
+ }
27
+ else if (['react', 'reactjs', 'jsx'].includes(fwRaw)) {
28
+ framework = 'react';
29
+ }
30
+ else if (['vue', 'vue3', 'sfc'].includes(fwRaw)) {
31
+ framework = 'vue';
32
+ }
33
+ else {
34
+ return mcpToolErr(McpErrorCode.USAGE_SNIPPET_INVALID_FRAMEWORK, `Unknown framework: ${input.framework}`, {
35
+ supported: ['lit', 'react', 'vue']
36
+ });
37
+ }
38
+ if (framework === 'lit') {
39
+ const lit = litUsageSnippet(input.name);
40
+ if (!lit.ok) {
41
+ return mcpToolErr(McpErrorCode.USAGE_SNIPPET_FAILED, lit.error);
42
+ }
43
+ const payload = {
44
+ framework: 'lit',
45
+ component: lit.componentName,
46
+ import: lit.npmImport,
47
+ tagName: lit.componentName,
48
+ snippet: lit.snippet,
49
+ note: 'Side-effect import registers the custom element; use the kebab tag in Lit html templates.'
50
+ };
51
+ return {
52
+ content: [{ type: 'text', text: JSON.stringify(withSkyUiMcpMeta(payload, 'api_source'), null, 2) }]
53
+ };
54
+ }
55
+ const style = input.import_style ?? 'per_component';
56
+ const rich = buildFrameworkWrapperDetails(framework, input.name);
57
+ if (!rich.ok) {
58
+ return mcpToolErr(McpErrorCode.COMPONENT_USAGE_FAILED, rich.error);
59
+ }
60
+ const snippet = buildUsageSnippetForFramework(framework, input.name, style);
61
+ if (!snippet.ok) {
62
+ return mcpToolErr(McpErrorCode.USAGE_SNIPPET_FAILED, snippet.error);
63
+ }
64
+ const d = rich.details;
65
+ const payload = {
66
+ framework,
67
+ component: d.componentKebab,
68
+ tagName: d.vueKebabTagInTemplate,
69
+ pascalName: d.pascalName,
70
+ import: d.importPerComponent,
71
+ importPerComponent: d.importPerComponent,
72
+ importBarrel: d.importBarrel,
73
+ primaryImportLine: d.primaryImportLine,
74
+ importStyle: style,
75
+ snippet: snippet.snippet,
76
+ snippets: d.snippets,
77
+ vueKebabTagInTemplate: d.vueKebabTagInTemplate,
78
+ conventions: d.conventions,
79
+ packageVersion: d.packageVersion,
80
+ peerDependencies: d.peerDependencies,
81
+ relatedDocs: [
82
+ 'get_sky_component_docs for props, events, slots, and methods',
83
+ 'get_docs packages/mcp/docs/vue-wrapper-v-model.md for Vue v-model patterns'
84
+ ]
85
+ };
86
+ return {
87
+ content: [{ type: 'text', text: JSON.stringify(withSkyUiMcpMeta(payload, 'api_source'), null, 2) }]
88
+ };
89
+ }
90
+ //# sourceMappingURL=component-usage-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-usage-tool.js","sourceRoot":"","sources":["../src/component-usage-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export declare function getA11yRequirements(input: {
2
+ component: string;
3
+ }): {
4
+ ok: true;
5
+ body: Record<string, unknown>;
6
+ } | {
7
+ ok: false;
8
+ error: string;
9
+ };
10
+ export declare function checkColorContrast(input: {
11
+ foreground: string;
12
+ background: string;
13
+ level?: 'AA' | 'AAA';
14
+ large_text?: boolean;
15
+ }): {
16
+ ok: true;
17
+ body: Record<string, unknown>;
18
+ } | {
19
+ ok: false;
20
+ error: string;
21
+ };
22
+ //# sourceMappingURL=a11y-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a11y-engine.d.ts","sourceRoot":"","sources":["../../src/design-guidelines/a11y-engine.ts"],"names":[],"mappings":"AAqCA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAkB7E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAuB7E"}
@@ -0,0 +1,78 @@
1
+ import { loadDesignGuidelines } from './repository.js';
2
+ function normalize(value) {
3
+ return value.trim().toLowerCase();
4
+ }
5
+ function hexToRgb(hexColor) {
6
+ const clean = hexColor.trim().replace('#', '');
7
+ if (!/^[a-fA-F0-9]{3}$|^[a-fA-F0-9]{6}$/.test(clean))
8
+ return null;
9
+ const full = clean.length === 3 ? clean.split('').map((c) => c + c).join('') : clean;
10
+ const num = Number.parseInt(full, 16);
11
+ return {
12
+ r: (num >> 16) & 255,
13
+ g: (num >> 8) & 255,
14
+ b: num & 255
15
+ };
16
+ }
17
+ function relativeLuminance({ r, g, b }) {
18
+ const transform = (channel) => {
19
+ const c = channel / 255;
20
+ return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
21
+ };
22
+ const R = transform(r);
23
+ const G = transform(g);
24
+ const B = transform(b);
25
+ return 0.2126 * R + 0.7152 * G + 0.0722 * B;
26
+ }
27
+ function contrastRatio(foreground, background) {
28
+ const l1 = relativeLuminance(foreground);
29
+ const l2 = relativeLuminance(background);
30
+ const lighter = Math.max(l1, l2);
31
+ const darker = Math.min(l1, l2);
32
+ return (lighter + 0.05) / (darker + 0.05);
33
+ }
34
+ export function getA11yRequirements(input) {
35
+ const loaded = loadDesignGuidelines();
36
+ if (!loaded.ok)
37
+ return { ok: false, error: loaded.error };
38
+ const guideline = loaded.data.componentsByName.get(normalize(input.component));
39
+ if (!guideline) {
40
+ return { ok: false, error: `No guideline entry found for component: ${input.component}` };
41
+ }
42
+ return {
43
+ ok: true,
44
+ body: {
45
+ schemaVersion: loaded.data.schemaVersion,
46
+ component: guideline.name,
47
+ a11yChecklist: guideline.a11yChecklist,
48
+ keyboardMap: guideline.keyboardMap,
49
+ ariaRoles: guideline.ariaRoles,
50
+ focusRules: guideline.focusRules
51
+ }
52
+ };
53
+ }
54
+ export function checkColorContrast(input) {
55
+ const fg = hexToRgb(input.foreground);
56
+ const bg = hexToRgb(input.background);
57
+ if (!fg || !bg) {
58
+ return { ok: false, error: 'foreground/background must be valid hex colors (#rgb or #rrggbb).' };
59
+ }
60
+ const level = input.level ?? 'AA';
61
+ const largeText = input.large_text ?? false;
62
+ const ratio = contrastRatio(fg, bg);
63
+ const requiredRatio = level === 'AAA' ? (largeText ? 4.5 : 7) : largeText ? 3 : 4.5;
64
+ const passes = ratio >= requiredRatio;
65
+ return {
66
+ ok: true,
67
+ body: {
68
+ foreground: input.foreground,
69
+ background: input.background,
70
+ level,
71
+ largeText,
72
+ contrastRatio: Number(ratio.toFixed(2)),
73
+ requiredRatio,
74
+ passes
75
+ }
76
+ };
77
+ }
78
+ //# sourceMappingURL=a11y-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a11y-engine.js","sourceRoot":"","sources":["../../src/design-guidelines/a11y-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrF,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,OAAO;QACL,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,GAAG;QACpB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG;QACnB,CAAC,EAAE,GAAG,GAAG,GAAG;KACb,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAuC;IACzE,MAAM,SAAS,GAAG,CAAC,OAAe,EAAU,EAAE;QAC5C,MAAM,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC;QACxB,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC;IACjE,CAAC,CAAC;IACF,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,aAAa,CAAC,UAA+C,EAAE,UAA+C;IACrH,MAAM,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAEnC;IACC,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2CAA2C,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;IAC5F,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;YACxC,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;SACjC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAKlC;IACC,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mEAAmE,EAAE,CAAC;IACnG,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;IAClC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACpF,MAAM,MAAM,GAAG,KAAK,IAAI,aAAa,CAAC;IACtC,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK;YACL,SAAS;YACT,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,aAAa;YACb,MAAM;SACP;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ export declare function getComponentAntiPatterns(input: {
2
+ component: string;
3
+ }): {
4
+ ok: true;
5
+ body: Record<string, unknown>;
6
+ } | {
7
+ ok: false;
8
+ error: string;
9
+ };
10
+ export declare function checkComponentCompatibility(input: {
11
+ primary: string;
12
+ secondary: string;
13
+ }): {
14
+ ok: true;
15
+ body: Record<string, unknown>;
16
+ } | {
17
+ ok: false;
18
+ error: string;
19
+ };
20
+ //# sourceMappingURL=compatibility-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility-engine.d.ts","sourceRoot":"","sources":["../../src/design-guidelines/compatibility-engine.ts"],"names":[],"mappings":"AAMA,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgB7E;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgC7E"}