@redsift/ds-mcp-server 12.5.3-alpha.6 → 12.5.3-alpha.7

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 (81) hide show
  1. package/consumer-instructions/redsift-design-system.instructions.md +82 -1
  2. package/data/docs/components/charts/Axis.json +6 -1
  3. package/data/docs/components/charts/BarChart.json +7 -1
  4. package/data/docs/components/charts/ChartContainerTitle.json +5 -1
  5. package/data/docs/components/charts/Legend.json +6 -1
  6. package/data/docs/components/charts/LineChart.json +7 -1
  7. package/data/docs/components/charts/PieChart.json +6 -1
  8. package/data/docs/components/charts/ScatterPlot.json +6 -1
  9. package/data/docs/components/dashboard/ChartEmptyState.json +8 -1
  10. package/data/docs/components/dashboard/Dashboard.json +6 -1
  11. package/data/docs/components/dashboard/DataCard.json +12 -0
  12. package/data/docs/components/dashboard/DataCardBody.json +4 -0
  13. package/data/docs/components/dashboard/DataCardHeader.json +4 -0
  14. package/data/docs/components/dashboard/DataCardListbox.json +5 -0
  15. package/data/docs/components/dashboard/DataRow.json +7 -1
  16. package/data/docs/components/dashboard/PdfExportButton.json +6 -1
  17. package/data/docs/components/dashboard/TimeSeriesBarChart.json +6 -1
  18. package/data/docs/components/dashboard/WithFilters.json +5 -1
  19. package/data/docs/components/design-system/Alert.json +8 -1
  20. package/data/docs/components/design-system/AppBar.json +6 -1
  21. package/data/docs/components/design-system/AppContent.json +4 -0
  22. package/data/docs/components/design-system/AppSidePanel.json +5 -0
  23. package/data/docs/components/design-system/Badge.json +6 -1
  24. package/data/docs/components/design-system/Breadcrumbs.json +4 -0
  25. package/data/docs/components/design-system/Button.json +5 -0
  26. package/data/docs/components/design-system/Card.json +9 -0
  27. package/data/docs/components/design-system/CardActions.json +4 -0
  28. package/data/docs/components/design-system/CardBody.json +3 -0
  29. package/data/docs/components/design-system/CardHeader.json +4 -0
  30. package/data/docs/components/design-system/DetailedCard.json +6 -0
  31. package/data/docs/components/design-system/Flexbox.json +14 -1
  32. package/data/docs/components/design-system/Grid.json +6 -1
  33. package/data/docs/components/design-system/Heading.json +11 -0
  34. package/data/docs/components/design-system/Icon.json +6 -1
  35. package/data/docs/components/design-system/IconButton.json +9 -0
  36. package/data/docs/components/design-system/Pill.json +10 -0
  37. package/data/docs/components/design-system/Skeleton.json +10 -1
  38. package/data/docs/components/design-system/SkeletonCircle.json +6 -1
  39. package/data/docs/components/design-system/SkeletonText.json +6 -1
  40. package/data/docs/components/design-system/Tab.json +4 -0
  41. package/data/docs/components/design-system/TabPanel.json +4 -0
  42. package/data/docs/components/design-system/Tabs.json +6 -0
  43. package/data/docs/components/design-system/Text.json +9 -0
  44. package/data/docs/components/design-system/TextField.json +6 -1
  45. package/data/docs/components/pickers/Combobox.json +6 -0
  46. package/data/docs/components/pickers/MenuButton.json +5 -0
  47. package/data/docs/components/pickers/Select.json +5 -0
  48. package/data/docs/components/popovers/Dialog.json +6 -0
  49. package/data/docs/components/popovers/Toggletip.json +5 -0
  50. package/data/docs/components/popovers/Tooltip.json +4 -0
  51. package/data/docs/components/table/DataGrid.json +9 -1
  52. package/data/docs/components/table/StatefulDataGrid.json +6 -1
  53. package/data/docs/components-index.json +341 -51
  54. package/data/docs/components.json +2 -2
  55. package/data/docs/llms-full.txt +248 -1
  56. package/data/docs/llms.txt +50 -0
  57. package/data/docs/patterns-catalog.md +191 -0
  58. package/data/docs/patterns.json +365 -27
  59. package/data/metadata.json +2 -2
  60. package/data/prompts/ds-advisor.md +103 -0
  61. package/dist/data-store.d.ts +21 -1
  62. package/dist/data-store.d.ts.map +1 -1
  63. package/dist/data-store.js +65 -15
  64. package/dist/data-store.js.map +1 -1
  65. package/dist/pattern-store.d.ts +18 -1
  66. package/dist/pattern-store.d.ts.map +1 -1
  67. package/dist/pattern-store.js +64 -22
  68. package/dist/pattern-store.js.map +1 -1
  69. package/dist/prompts.d.ts.map +1 -1
  70. package/dist/prompts.js +56 -27
  71. package/dist/prompts.js.map +1 -1
  72. package/dist/resources.d.ts.map +1 -1
  73. package/dist/resources.js +26 -0
  74. package/dist/resources.js.map +1 -1
  75. package/dist/tools.d.ts.map +1 -1
  76. package/dist/tools.js +12 -0
  77. package/dist/tools.js.map +1 -1
  78. package/dist/types.d.ts +11 -0
  79. package/dist/types.d.ts.map +1 -1
  80. package/dist/types.js.map +1 -1
  81. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"data-store.d.ts","sourceRoot":"","sources":["../src/data-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgCpF;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,mBAAmB,CAA8B;;IAuBzD,0CAA0C;IAC1C,QAAQ,IAAI,mBAAmB,EAAE;IAIjC,wCAAwC;IACxC,iBAAiB,IAAI,cAAc;IAInC,gCAAgC;IAChC,UAAU,IAAI,MAAM;IAIpB,mDAAmD;IACnD,cAAc,IAAI,MAAM;IAIxB,mCAAmC;IACnC,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE;IA8C9E;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAS5E;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAajF,oDAAoD;IACpD,YAAY,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAStG,uCAAuC;IACvC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE;CAI1D"}
1
+ {"version":3,"file":"data-store.d.ts","sourceRoot":"","sources":["../src/data-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgCpF;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,mBAAmB,CAA8B;;IAuBzD,0CAA0C;IAC1C,QAAQ,IAAI,mBAAmB,EAAE;IAIjC,wCAAwC;IACxC,iBAAiB,IAAI,cAAc;IAInC,gCAAgC;IAChC,UAAU,IAAI,MAAM;IAIpB,mDAAmD;IACnD,cAAc,IAAI,MAAM;IAIxB,mCAAmC;IACnC,eAAe,IAAI,MAAM;IAIzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAS9E;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAmEzF;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAS5E;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAajF,oDAAoD;IACpD,YAAY,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAStG,uCAAuC;IACvC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE;CAI1D"}
@@ -73,42 +73,92 @@ export class DataStore {
73
73
  return readTextFile('host-app-setup.md');
74
74
  }
75
75
  /**
76
- * Search components by name or description.
76
+ * Search components by name, description, keyword, or anti-pattern text.
77
77
  * Returns matches sorted by relevance.
78
+ *
79
+ * Scoring rules (plan §1.4):
80
+ * - Tokens: deduped union of {joined-no-space, ...split-on-space}.
81
+ * - Per split term: exact name +100, starts-with +50, contains +30;
82
+ * exact keyword +80, keyword starts-with +40, keyword contains +20;
83
+ * description contains +10.
84
+ * - Joined form is scored against NAME and KEYWORDS only (not description),
85
+ * at the same tiers as a term. The dedupe guarantees that when a single-word
86
+ * query produces joined === split[0] the bonus is awarded only once.
87
+ * - Original lowercase phrase vs description: +15 (catches "data grid
88
+ * displays tabular data" without re-tokenising).
89
+ * - Original lowercase phrase exactly equals a keyword: +80 (routes
90
+ * multi-word UI intents like "kpi card" → DataCard via its keyword).
91
+ * - Original lowercase phrase vs antiPatterns text: +10 (auto-routes MUI
92
+ * queries to DS, e.g. "skeleton from @mui/material" matches Skeleton).
78
93
  */
79
94
  searchComponents(query, packageFilter) {
80
- const lowerQuery = query.toLowerCase();
81
- const terms = lowerQuery.split(/\s+/).filter(Boolean);
82
95
  let results = this.componentIndex;
83
- // Filter by package if specified
84
96
  if (packageFilter) {
85
97
  const pkgName = packageFilter.startsWith('@redsift/') ? packageFilter : `@redsift/${packageFilter}`;
86
98
  results = results.filter((c) => c.package === pkgName);
87
99
  }
88
- // Score each component
89
- const scored = results
100
+ return DataStore.rankComponents(results, query);
101
+ }
102
+ /**
103
+ * Pure scoring helper. Exported as a static so it can be unit-tested without
104
+ * touching the filesystem. See {@link searchComponents} JSDoc for the rules.
105
+ */
106
+ static rankComponents(index, query) {
107
+ const lowerQuery = query.toLowerCase().trim();
108
+ const terms = lowerQuery.split(/\s+/).filter(Boolean);
109
+ if (terms.length === 0)
110
+ return [];
111
+ const joined = terms.join('');
112
+ const tokens = Array.from(new Set([joined, ...terms]));
113
+ const scored = index
90
114
  .map((entry) => {
91
115
  const nameLower = entry.name.toLowerCase();
92
116
  const descLower = (entry.description || '').toLowerCase();
117
+ const keywordsLower = (entry.keywords || []).map((k) => k.toLowerCase());
118
+ const antiPatternsText = (entry.antiPatterns || []).join(' ').toLowerCase();
93
119
  let score = 0;
94
- for (const term of terms) {
95
- // Exact name match
96
- if (nameLower === term) {
120
+ for (const token of tokens) {
121
+ const isJoined = token === joined && terms.length > 1;
122
+ if (nameLower === token) {
97
123
  score += 100;
98
124
  }
99
- // Name starts with term
100
- else if (nameLower.startsWith(term)) {
125
+ else if (nameLower.startsWith(token)) {
101
126
  score += 50;
102
127
  }
103
- // Name contains term
104
- else if (nameLower.includes(term)) {
128
+ else if (nameLower.includes(token)) {
105
129
  score += 30;
106
130
  }
107
- // Description contains term
108
- if (descLower.includes(term)) {
131
+ for (const kw of keywordsLower) {
132
+ if (kw === token) {
133
+ score += 80;
134
+ break;
135
+ }
136
+ else if (kw.startsWith(token)) {
137
+ score += 40;
138
+ break;
139
+ }
140
+ else if (kw.includes(token)) {
141
+ score += 20;
142
+ break;
143
+ }
144
+ }
145
+ if (!isJoined && descLower.includes(token)) {
109
146
  score += 10;
110
147
  }
111
148
  }
149
+ if (terms.length > 1 && descLower.includes(lowerQuery)) {
150
+ score += 15;
151
+ }
152
+ // Original lowercase phrase exactly equals a keyword (+80) — same
153
+ // weight as a per-term keyword-exact hit. This is what routes
154
+ // multi-word UI intents to the right component (e.g. "kpi card"
155
+ // matches DataCard keyword "kpi card", beating Card's name-exact).
156
+ if (terms.length > 1 && keywordsLower.includes(lowerQuery)) {
157
+ score += 80;
158
+ }
159
+ if (antiPatternsText && antiPatternsText.includes(lowerQuery)) {
160
+ score += 10;
161
+ }
112
162
  return { entry, score };
113
163
  })
114
164
  .filter((s) => s.score > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"data-store.js","sourceRoot":"","sources":["../src/data-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-store.js","sourceRoot":"","sources":["../src/data-store.ts"],"names":[],"mappings":"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"}
@@ -34,10 +34,27 @@ export declare class PatternStore {
34
34
  */
35
35
  getSuggestions(unknownSlug: string, count?: number): Pattern[];
36
36
  /**
37
- * Search patterns by name, description, components, tags, or whenToUse.
37
+ * Search patterns by name, description, components, tags, keywords, or whenToUse.
38
38
  * Returns matches sorted by relevance.
39
+ *
40
+ * Scoring rules (plan §1.4 / §2.2):
41
+ * - Tokens: deduped union of {joined-no-space, ...split-on-space}.
42
+ * Single-word queries collapse to one token via Set semantics.
43
+ * - Per split term: exact name +100, name contains +40; exact tag +30,
44
+ * tag contains +15; exact keyword +80, keyword starts-with +40,
45
+ * keyword contains +20; component exact +25 / contains +10;
46
+ * description contains +10; whenToUse contains +20.
47
+ * - Joined form scores against NAME, TAGS, KEYWORDS, and COMPONENTS only —
48
+ * not description or whenToUse (avoids double-counting against the
49
+ * original-phrase rule).
50
+ * - Original lowercase phrase vs description: +15.
39
51
  */
40
52
  searchPatterns(query: string, limit?: number): Pattern[];
53
+ /**
54
+ * Pure scoring helper. See {@link searchPatterns} JSDoc for the rules.
55
+ * Exported as a static so it can be unit-tested without disk I/O.
56
+ */
57
+ static rankPatterns(patterns: Pattern[], query: string): Pattern[];
41
58
  /**
42
59
  * Strip JSX imports and component tags from MDX, keeping markdown prose.
43
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pattern-store.d.ts","sourceRoot":"","sources":["../src/pattern-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA4B3D;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,cAAc,CAAkD;IACxE,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,OAAO,CAAc;;IAmD7B,uBAAuB;IACvB,MAAM,IAAI,OAAO,EAAE;IAInB,yDAAyD;IACzD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI5C,6EAA6E;IAC7E,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAY5D,6CAA6C;IAC7C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/C,iDAAiD;IACjD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAInE,qDAAqD;IACrD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI9C,wCAAwC;IACxC,UAAU,IAAI,MAAM;IAIpB;;;OAGG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,EAAE;IAUzD;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE;IAuDxD;;OAEG;IACH,OAAO,CAAC,QAAQ;CAkBjB"}
1
+ {"version":3,"file":"pattern-store.d.ts","sourceRoot":"","sources":["../src/pattern-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA4B3D;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,cAAc,CAAkD;IACxE,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,OAAO,CAAc;;IAmD7B,uBAAuB;IACvB,MAAM,IAAI,OAAO,EAAE;IAInB,yDAAyD;IACzD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI5C,6EAA6E;IAC7E,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAY5D,6CAA6C;IAC7C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/C,iDAAiD;IACjD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAInE,qDAAqD;IACrD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI9C,wCAAwC;IACxC,UAAU,IAAI,MAAM;IAIpB;;;OAGG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,EAAE;IAUzD;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE;IAKxD;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE;IA6ElE;;OAEG;IACH,OAAO,CAAC,QAAQ;CAkBjB"}
@@ -127,57 +127,99 @@ export class PatternStore {
127
127
  return scored.slice(0, count).map((s) => s.pattern);
128
128
  }
129
129
  /**
130
- * Search patterns by name, description, components, tags, or whenToUse.
130
+ * Search patterns by name, description, components, tags, keywords, or whenToUse.
131
131
  * Returns matches sorted by relevance.
132
+ *
133
+ * Scoring rules (plan §1.4 / §2.2):
134
+ * - Tokens: deduped union of {joined-no-space, ...split-on-space}.
135
+ * Single-word queries collapse to one token via Set semantics.
136
+ * - Per split term: exact name +100, name contains +40; exact tag +30,
137
+ * tag contains +15; exact keyword +80, keyword starts-with +40,
138
+ * keyword contains +20; component exact +25 / contains +10;
139
+ * description contains +10; whenToUse contains +20.
140
+ * - Joined form scores against NAME, TAGS, KEYWORDS, and COMPONENTS only —
141
+ * not description or whenToUse (avoids double-counting against the
142
+ * original-phrase rule).
143
+ * - Original lowercase phrase vs description: +15.
132
144
  */
133
145
  searchPatterns(query, limit) {
134
- const lowerQuery = query.toLowerCase();
135
- const terms = lowerQuery.split(/\s+/).filter(Boolean);
136
146
  const maxResults = limit ?? 10;
137
- const scored = this.patterns
147
+ return PatternStore.rankPatterns(this.patterns, query).slice(0, maxResults);
148
+ }
149
+ /**
150
+ * Pure scoring helper. See {@link searchPatterns} JSDoc for the rules.
151
+ * Exported as a static so it can be unit-tested without disk I/O.
152
+ */
153
+ static rankPatterns(patterns, query) {
154
+ const lowerQuery = query.toLowerCase().trim();
155
+ const terms = lowerQuery.split(/\s+/).filter(Boolean);
156
+ if (terms.length === 0)
157
+ return [];
158
+ const joined = terms.join('');
159
+ const tokens = Array.from(new Set([joined, ...terms]));
160
+ const scored = patterns
138
161
  .map((pattern) => {
139
162
  const nameLower = pattern.name.toLowerCase();
140
163
  const descLower = pattern.description.toLowerCase();
141
164
  const componentsLower = pattern.components.map((c) => c.toLowerCase());
142
165
  const tagsLower = pattern.tags.map((t) => t.toLowerCase());
143
166
  const whenToUseLower = (pattern.whenToUse || []).map((w) => w.toLowerCase());
167
+ const keywordsLower = (pattern.keywords || []).map((k) => k.toLowerCase());
144
168
  let score = 0;
145
- for (const term of terms) {
146
- // Exact name match
147
- if (nameLower === term) {
169
+ for (const token of tokens) {
170
+ const isJoined = token === joined && terms.length > 1;
171
+ if (nameLower === token) {
148
172
  score += 100;
149
173
  }
150
- else if (nameLower.includes(term)) {
174
+ else if (nameLower.includes(token)) {
151
175
  score += 40;
152
176
  }
153
- // Tag match
154
- if (tagsLower.some((t) => t === term)) {
177
+ if (tagsLower.some((t) => t === token)) {
155
178
  score += 30;
156
179
  }
157
- else if (tagsLower.some((t) => t.includes(term))) {
180
+ else if (tagsLower.some((t) => t.includes(token))) {
158
181
  score += 15;
159
182
  }
160
- // Component match
161
- if (componentsLower.some((c) => c === term)) {
162
- score += 25;
183
+ for (const kw of keywordsLower) {
184
+ if (kw === token) {
185
+ score += 80;
186
+ break;
187
+ }
188
+ else if (kw.startsWith(token)) {
189
+ score += 40;
190
+ break;
191
+ }
192
+ else if (kw.includes(token)) {
193
+ score += 20;
194
+ break;
195
+ }
163
196
  }
164
- else if (componentsLower.some((c) => c.includes(term))) {
165
- score += 10;
197
+ if (componentsLower.some((c) => c === token)) {
198
+ score += 25;
166
199
  }
167
- // Description match
168
- if (descLower.includes(term)) {
200
+ else if (componentsLower.some((c) => c.includes(token))) {
169
201
  score += 10;
170
202
  }
171
- // When-to-use match
172
- if (whenToUseLower.some((w) => w.includes(term))) {
173
- score += 20;
203
+ if (!isJoined) {
204
+ if (descLower.includes(token)) {
205
+ score += 10;
206
+ }
207
+ if (whenToUseLower.some((w) => w.includes(token))) {
208
+ score += 20;
209
+ }
174
210
  }
175
211
  }
212
+ if (terms.length > 1 && descLower.includes(lowerQuery)) {
213
+ score += 15;
214
+ }
215
+ if (terms.length > 1 && keywordsLower.includes(lowerQuery)) {
216
+ score += 80;
217
+ }
176
218
  return { pattern, score };
177
219
  })
178
220
  .filter((s) => s.score > 0)
179
221
  .sort((a, b) => b.score - a.score);
180
- return scored.slice(0, maxResults).map((s) => s.pattern);
222
+ return scored.map((s) => s.pattern);
181
223
  }
182
224
  /**
183
225
  * Strip JSX imports and component tags from MDX, keeping markdown prose.
@@ -1 +1 @@
1
- {"version":3,"file":"pattern-store.js","sourceRoot":"","sources":["../src/pattern-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pattern-store.js","sourceRoot":"","sources":["../src/pattern-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAmxBrG"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAgzBrG"}
package/dist/prompts.js CHANGED
@@ -415,47 +415,76 @@ ${affectedPkgs.map((p) => `- \`@redsift/${p}\`: ${changes}`).join('\n') || `- ${
415
415
 
416
416
  ${patternSection}
417
417
 
418
- ## Implementation Instructions
418
+ ## Required 4-Step Output Format
419
419
 
420
- 1. **Fetch the full pattern spec** for each matched pattern above by reading the resource \`design-system://patterns/{slug}\`. This gives you:
421
- - **When to Use** — decision criteria to confirm pattern fit
422
- - **Anatomy** — visual structure (which component goes in which slot)
423
- - **Features** — required vs optional features table
424
- - **State Management** — every \`useState\`/\`useRef\` hook with TypeScript types and initial values
425
- - **Data Contract** — TypeScript type definitions for rows and fetch functions
426
- - **Implementation Checklist** — ordered step-by-step build guide
427
- - **Complete demo source code** — a full working reference implementation
428
- - **Variant demos** — loading, empty, and error state implementations
429
- - **Keyboard & Accessibility** — a11y requirements
420
+ Structure your response using these four steps. Every step is mandatory.
430
421
 
431
- 2. **Follow the Implementation Checklist** step-by-step. It references the other spec sections by name (e.g. "Define your row type per Data Contract").
422
+ ### Step 1 Pattern Match
432
423
 
433
- 3. **Adapt the Data Contract** — Replace the example \`Row\` type with your actual domain types. Keep the same field structure (id, status fields, date fields, tag arrays) where applicable.
424
+ Identify the UI intent (e.g. "KPI tile", "status badge", "data table with filters").
425
+ State which pattern(s) above match and why. If none match, say so and explain how you will compose from primitives.
434
426
 
435
- 4. **Use the State Management section** as your hook scaffold copy the hooks and adapt types to your data model.
427
+ ### Step 2Canonical Components
436
428
 
437
- 5. **Include variant handling** Implement loading, empty, and error states as shown in the variant demos. These are critical for production quality.
429
+ For each component you will use:
430
+ 1. **Call \`get_component_props\`** to look up the exact props — do NOT guess from memory.
431
+ 2. State the exact import: \`import { DataCard, DataRow } from '@redsift/dashboard';\`
432
+ 3. Cite the source you consulted (e.g. "verified via \`get_component_props('DataCard')\`").
438
433
 
439
- 6. **Import components** from the listed packages (e.g. \`import { Button, Flexbox, Heading } from '@redsift/design-system';\`).
434
+ **Component Selection Guide:**
440
435
 
441
- 7. **Look up individual component props** using the \`get_component_props\` tool if you need the full API for any component.
436
+ | UI Intent | Component(s) | Package |
437
+ |---|---|---|
438
+ | KPI / metric tile | \`DataCard\` + \`DataCard.Header\` + \`DataRow\` | \`@redsift/dashboard\` |
439
+ | Status badge | \`<Pill color="success">Label</Pill>\` | \`@redsift/design-system\` |
440
+ | Data grid | \`DataGrid\` | \`@redsift/table\` |
441
+ | Loading placeholder | \`Skeleton\` / \`SkeletonText\` | \`@redsift/design-system\` |
442
+ | Collapsible section | \`DetailedCard\` + \`DetailedCardSection\` | \`@redsift/design-system\` |
443
+ | Generic container | \`Card\` (NOT for KPI tiles — use \`DataCard\`) | \`@redsift/design-system\` |
442
444
 
443
- ## Code Quality Requirements
445
+ ### Step 3 — Code
444
446
 
445
- - Use TypeScript with proper types (no \`any\`)
446
- - Use \`forwardRef\` for components that wrap DOM elements
447
- - Use \`styled-components\` with transient props (\`$\` prefix) for styling
448
- - Follow the component naming and file structure conventions of the design system
449
- - Implement loading, empty, and error states (not just the happy path)
447
+ Provide a complete, compilable ${framework} implementation. Mandatory rules:
448
+ - **Semantic colors only:** use \`"success"\`, \`"warning"\`, \`"error"\`, \`"info"\` never hex/rgb literals or \`var(--rs-color-*)\`
449
+ - **Icons from \`@redsift/icons\`:** use \`mdiCheck\`, \`mdiClose\`, etc. never unicode glyphs (✓, ✕, ⚠)
450
+ - **Flexbox props as strings:** \`gap="4px"\` not \`gap={4}\`
451
+ - **Pill uses children:** \`<Pill color="success">Active</Pill>\` not \`<Pill label="Active" />\`
452
+ - **DS Skeleton only:** never \`import { Skeleton } from '@mui/material'\`
453
+ - **No inline flex styles:** use \`<Flexbox>\` component, not \`style={{ display: 'flex' }}\`
454
+
455
+ ### Step 4 — Anti-Patterns Rejected
456
+
457
+ List every anti-pattern you avoided and why. Use this table for reference:
458
+
459
+ | Anti-Pattern | Correction |
460
+ |---|---|
461
+ | \`<Card style={{ borderLeft: '4px solid green' }}>\` | Use \`<DataCard color="success">\` |
462
+ | \`color: 'var(--rs-color-green-500)'\` | Use semantic \`color\` prop |
463
+ | Unicode glyphs (\`✓\`, \`⚠\`, \`›\`) | Use \`<Icon path={mdiCheck} />\` from \`@redsift/icons\` |
464
+ | Hex / RGB literals on DS components | Use semantic \`color\` prop |
465
+ | \`<Pill label="Active" />\` | Use \`<Pill>Active</Pill>\` (children) |
466
+ | \`gap={4}\` (number) | Use \`gap="4px"\` (string) |
467
+ | \`Skeleton\` from \`@mui/material\` | Use \`Skeleton\` from \`@redsift/design-system\` |
468
+ | \`mdiPlus\` from \`@mdi/js\` | Use \`mdiPlus\` from \`@redsift/icons\` |
469
+ | Wrapping DS components in styled-components | Propose composition or feature request |
470
+
471
+ ## Additional Implementation Instructions
472
+
473
+ 1. **Fetch the full pattern spec** for each matched pattern by reading \`design-system://patterns/{slug}\`. This gives you anatomy, state hooks, data contract, implementation checklist, and demo code.
474
+
475
+ 2. **Follow the Implementation Checklist** step-by-step.
476
+
477
+ 3. **Include variant handling** — loading, empty, and error states are required for production quality.
478
+
479
+ 4. **Code quality:** TypeScript with proper types (no \`any\`), \`forwardRef\` for DOM wrappers, \`styled-components\` with transient \`$\` props.
450
480
 
451
481
  ## Output
452
482
 
453
483
  Provide a complete, working ${framework} implementation with:
454
484
  - All necessary imports
455
- - TypeScript interfaces for props and data types
456
- - Component implementation with all state hooks
457
- - Loading, empty, and error state handling
458
- - Brief usage example`,
485
+ - TypeScript interfaces
486
+ - Loading, empty, and error states
487
+ - Your Step 4 anti-pattern audit`,
459
488
  },
460
489
  },
461
490
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAiB,EAAE,KAAgB,EAAE,YAA0B;IAC7F,wEAAwE;IACxE,MAAM,CAAC,cAAc,CACnB,kBAAkB,EAClB;QACE,WAAW,EAAE,mFAAmF;QAChG,UAAU,EAAE;YACV,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAC7E,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YAC1F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;YAC/G,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SAClF;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,GAAG,IAAI,eAAe,CAAC;QACzC,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,IAAI,OAAO,IAAI,aAAa,CAAC;QACrD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,4BAA4B,IAAI,wBAAwB,SAAS;;;;wBAI7D,IAAI;0BACF,SAAS;4BACP,SAAS,mBAAmB,SAAS;uBAC1C,WAAW;qBACb,IAAI;;;;qFAI4D,IAAI,eAAe,SAAS,eAAe,WAAW,mBAAmB,IAAI;2CACvH,SAAS,mBAAmB,SAAS;;SAEvE,IAAI;;;;SAIJ,IAAI;SACJ,IAAI;kEACqD,SAAS,sBAAsB,SAAS;yCACjE,SAAS;;;;;uCAKX,SAAS;iCACf,IAAI;;uCAEE,WAAW;;;yDAGO;qBAC5C;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,wEAAwE;IACxE,MAAM,CAAC,cAAc,CACnB,UAAU,EACV;QACE,WAAW,EAAE,+EAA+E;QAC5F,UAAU,EAAE;YACV,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACvF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;YAC9E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;YACvG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;YAC9G,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SAC9E;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE;QAC/E,MAAM,UAAU,GAAG,QAAQ,KAAK,MAAM,CAAC;QACvC,MAAM,IAAI,GAAG,WAAW,IAAI,OAAO,QAAQ,QAAQ,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;QACnF,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEnD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,oBAAoB,QAAQ,eAAe,SAAS,8BAA8B,WAAW;;;;cAInG,QAAQ;cACR,QAAQ;kBACJ,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;EACzC,YAAY,CAAC,CAAC,CAAC,kBAAkB,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;qBACjC,IAAI;;;;oBAIL,WAAW,mBAAmB,SAAS;;WAEhD,SAAS;;;KAGf,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,iBAAiB,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;;EAE7D,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ;;;EAI7C,cAAc;4BACZ,CAAC,CAAC,kBAAkB,SAAS;;GAE9B,QAAQ,MAAM,SAAS,UAAU,QAAQ;OACrC;4BACH,CAAC,CAAC,EACN;;oBAEoB,WAAW,mBAAmB,SAAS,IAAI,SAAS;;kBAEtD,QAAQ,gBAAgB,YAAY,CAAC,CAAC,CAAC,oBAAoB,QAAQ,MAAM,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE;EAE9G,cAAc;4BACZ,CAAC,CAAC,aAAa,QAAQ,KAAK,QAAQ,6BAA6B;4BACjE,CAAC,CAAC,WAAW,QAAQ,wBACzB;;oBAEoB,WAAW,mBAAmB,SAAS;;EAGzD,cAAc;4BACZ,CAAC,CAAC;;SAEG,QAAQ,WAAW,QAAQ;OAC7B;4BACH,CAAC,CAAC,0BACN;;oBAEoB,WAAW,mBAAmB,SAAS,IAAI,SAAS;;;;mBAIrD,UAAU,CAAC,QAAQ,CAAC;;MAEjC,QAAQ,KAAK,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC;;;;;oBAKtC,WAAW,mBAAmB,SAAS,IAAI,SAAS;;;;oBAIpD,QAAQ;kCACM,SAAS,IAAI,QAAQ,KAAK,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC;;;;;;;;iBAQlF,WAAW;;;;;;mBAMT,WAAW;YAClB,WAAW;iBACN,WAAW;OACrB;qBACM;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,wEAAwE;IACxE,MAAM,CAAC,cAAc,CACnB,YAAY,EACZ;QACE,WAAW,EAAE,kEAAkE;QAC/E,UAAU,EAAE;YACV,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,CACP,wMAAwM,CACzM;YACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACtF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;SAC5F;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,WAAW,IAAI,QAAQ,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,IAAI,UAAU,CAAC;QAExC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/C,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAEvE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,MAAM,CAAC;gBACZ,KAAK,OAAO,CAAC;gBACb,KAAK,UAAU,CAAC;gBAChB,KAAK,QAAQ;oBACX,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACzB,eAAe,CAAC,IAAI,CAClB,oCAAoC,KAAK,oBAAoB,KAAK,CAAC,IAAI,oBAAoB,KAAK,CAAC,IAAI,IACnG,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAC9D,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,EAAE,YAAY,CAC5F,CAAC;oBACF,MAAM;gBACR,KAAK,UAAU;oBACb,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACxB,eAAe,CAAC,IAAI,CAClB,mCAAmC,KAAK,oBAAoB,KAAK,CAAC,IAAI,+BAA+B,CACtG,CAAC;oBACF,MAAM;gBACR,KAAK,QAAQ;oBACX,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtB,eAAe,CAAC,IAAI,CAClB,wBAAwB,KAAK,WAAW,KAAK,CAAC,IAAI,2HAA2H,CAC9K,CAAC;oBACF,MAAM;gBACR,KAAK,UAAU;oBACb,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACxB,eAAe,CAAC,IAAI,CAAC,0BAA0B,KAAK,WAAW,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC;oBACjF,MAAM;gBACR,KAAK,OAAO;oBACV,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACrB,eAAe,CAAC,IAAI,CAClB,4BAA4B,KAAK,WAAW,KAAK,CAAC,IAAI,iIAAiI,CACxL,CAAC;oBACF,MAAM;gBACR;oBACE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACzB,eAAe,CAAC,IAAI,CAAC,2BAA2B,KAAK,WAAW,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;;gBAIJ,UAAU;gBACV,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC1D,MAAM;;;;;;WAMZ,UAAU;;;EAGnB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;mCAY/F,UAAU,KAAK,YAAY;4BACzB,CAAC,CAAC,qFAAqF;4BACvF,CAAC,CAAC,EACN;EACF,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;;8BAEA,MAAM;;;;;;;;;;;2EAWuC;qBAC9D;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,wEAAwE;IACxE,MAAM,CAAC,cAAc,CACnB,gBAAgB,EAChB;QACE,WAAW,EAAE,2EAA2E;QACxF,UAAU,EAAE;YACV,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC/D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC1E,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4EAA4E,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;QACxD,MAAM,YAAY,GAAG,IAAI;YACvB,CAAC,CAAC,IAAI;iBACD,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;;eAIL,KAAK;iBACH,OAAO;EACtB,WAAW,CAAC,CAAC,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC,CAAC,+BAA+B;EAC9E,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,4BAA4B,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;EAWhH,WAAW,CAAC,CAAC,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC,CAAC,gCAAgC;;;;EAIzE,OAAO;;;;KAIJ,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;EAyB1B,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,EAAE;qBAC9E;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,wEAAwE;IACxE,MAAM,CAAC,cAAc,CACnB,cAAc,EACd;QACE,WAAW,EACT,uKAAuK;QACzK,UAAU,EAAE;YACV,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,CACP,gHAAgH,CACjH;YACH,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2EAA2E,CAAC;SACzF;KACF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAChC,MAAM,SAAS,GAAG,MAAM,IAAI,OAAO,CAAC;QAEpC,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE7D,IAAI,cAAsB,CAAC;QAE3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,cAAc,GAAG,uCAAuC,WAAW,4HAA4H,CAAC;QAClM,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvC,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,OAAO,OAAO,CAAC,CAAC,IAAI;qBACT,CAAC,CAAC,WAAW;oBACd,UAAU;kBACZ,QAAQ;gBACV,CAAC,CAAC,MAAM;cACV,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;iEACkC,CAAC,CAAC,IAAI;wEACC,CAAC,CAAC,IAAI,iCAAiC,CAAC;YACxG,CAAC,CAAC,CAAC;YAEH,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,eAAe,SAAS;;IAExC,WAAW;;;;EAIb,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA+BiB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAoCZ,SAAS;;;;iCAIN;qBACpB;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,wEAAwE;IACxE,MAAM,CAAC,cAAc,CACnB,gBAAgB,EAChB;QACE,WAAW,EAAE,gFAAgF;QAC7F,UAAU,EAAE;YACV,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;YAC/F,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CACP,uIAAuI,CACxI;YACH,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,4IAA4I,CAC7I;YACH,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,gHAAgH,CACjH;SACJ;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAEnD,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACvD,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,eAAe;YACnC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YACtG,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,cAAc,GAAG,QAAQ;YAC7B,CAAC,CAAC,QAAQ;iBACL,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,cAAc,GAAG,gBAAgB;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,IAAI,+BAA+B,CAAC;aAC7F,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,YAAY,GAChB,aAAa,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,aAAa;iBACV,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,2BAA2B,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,IAAI,uCAAuC,CACtG;iBACA,IAAI,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,iCAAiC,CAAC;QAExC,MAAM,eAAe,GAAG,cAAc;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,CAAC;iBACZ,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;iBAClB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACxC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9B,OAAO,MAAM,KAAK;;;;8CAIkB,IAAI,IAAI,CAAC,MAAM,CAAC;QACtD,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,UAAU,GAAG;;;;;;;EAOvB,WAAW;;;;;EAKX,cAAc;;;;;;8CAM8B,IAAI;;EAEhD,eAAe,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE;;;EAG/C,YAAY,EAAE,CAAC;QAEX,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CACtC;YACE,IAAI;YACJ,IAAI;YACJ,WAAW;YACX,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/C,QAAQ,EAAE,CAAC,wBAAwB,CAAC;YACpC,MAAM,EAAE,iCAAiC;YACzC,IAAI,EAAE,CAAC,MAAM,CAAC;SACf,EACD,IAAI,EACJ,CAAC,CACF,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,+BAA+B,IAAI;;;;cAIzC,IAAI;cACJ,IAAI;qBACG,WAAW;oBACZ,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;EAChE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;EACxG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;0CAMvC,IAAI;;;EAG5C,UAAU;;;;;8CAKkC,IAAI;;;;EAIhD,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;EAWxF,iBAAiB;;;;;;qBAME,IAAI;;;;;;;;;;;0DAWiC,IAAI;;;4CAGlB;qBAC/B;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,wEAAwE;IACxE,MAAM,CAAC,cAAc,CACnB,UAAU,EACV;QACE,WAAW,EAAE,+EAA+E;QAC5F,UAAU,EAAE;YACV,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,CAAC,uFAAuF,CAAC;YACpG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;YAC9G,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAChF,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iFAAiF,CAAC;SAC/F;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE;QACxD,MAAM,aAAa,GAAG,SAAS,KAAK,MAAM,CAAC;QAC3C,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,MAAM,QAAQ,GAAG,qBAAqB,OAAO,IAAI,QAAQ,MAAM,CAAC;QAChE,MAAM,IAAI,GAAG,WAAW,IAAI,oBAAoB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,iBAAiB,CAAC;QAE7F,qCAAqC;QACrC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAEnE,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,4BAA4B,SAAS,UAAU,QAAQ;;;;mBAIxD,SAAS;mBACT,QAAQ;gBACX,QAAQ;qBACH,IAAI;iBACR,WAAW;;;;;;WAMjB,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,YAAY,WAAW;;;2BAGrD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;KACjD,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,aAAa,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;;;;;;;;yDAQ3B,WAAW;;;;;;;;;;;qCAW/B,OAAO,IAAI,QAAQ;;;;;;;;4DAQI;qBAC/C;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG;SACP,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;SACxC,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,QAAgB;IACzC,gEAAgE;IAChE,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,sBAAsB;IACtB,MAAM,WAAW,GAAG;QAClB,SAAS;QACT,MAAM;QACN,OAAO;QACP,UAAU;QACV,YAAY;QACZ,WAAW;QACX,UAAU;QACV,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,OAAO;QACP,WAAW;QACX,aAAa;QACb,WAAW;QACX,YAAY;KACb,CAAC;IACF,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,wDAAwD;IACxD,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,YAAqB;IAC1D,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACtC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IAC1C,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,KAAK,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CA0WvG"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAevD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CA8XvG"}
package/dist/resources.js CHANGED
@@ -4,8 +4,21 @@
4
4
  * Exposes documentation files as resources and resource templates
5
5
  * that AI clients can read on demand.
6
6
  */
7
+ import { readFileSync, existsSync } from 'node:fs';
8
+ import { resolve, dirname } from 'node:path';
9
+ import { fileURLToPath } from 'node:url';
7
10
  import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
8
11
  import { PACKAGE_DESCRIPTIONS } from './types.js';
12
+ const __resourcesFilename = fileURLToPath(import.meta.url);
13
+ const __resourcesDirname = dirname(__resourcesFilename);
14
+ /** Resolve the advisor prompt markdown from the bundled data/prompts directory. */
15
+ function getAdvisorPrompt() {
16
+ const bundled = resolve(__resourcesDirname, '..', 'data', 'prompts', 'ds-advisor.md');
17
+ if (existsSync(bundled)) {
18
+ return readFileSync(bundled, 'utf-8');
19
+ }
20
+ return 'Advisor prompt not found. Run yarn mcp:bundle to generate it.';
21
+ }
9
22
  /**
10
23
  * Register all MCP resources on the server.
11
24
  */
@@ -49,6 +62,19 @@ export function registerResources(server, store, patternStore) {
49
62
  },
50
63
  ],
51
64
  }));
65
+ // ─── Static resource: advisor system prompt ─────────────────────────
66
+ server.resource('ds-advisor', 'design-system://prompts/ds-advisor', {
67
+ description: 'Opinionated advisor system prompt for AI assistants generating DS code. Includes component selection cheat sheet, anti-pattern catalog, disambiguation rules, and a 4-step answering protocol. Inject into your system prompt for best results.',
68
+ mimeType: 'text/markdown',
69
+ }, async () => ({
70
+ contents: [
71
+ {
72
+ uri: 'design-system://prompts/ds-advisor',
73
+ mimeType: 'text/markdown',
74
+ text: getAdvisorPrompt(),
75
+ },
76
+ ],
77
+ }));
52
78
  // ─── Static resource: usage rules for consuming projects ─────────────
53
79
  server.resource('usage-rules', 'design-system://usage-rules', {
54
80
  description: 'Mandatory rules for AI assistants working with @redsift/* components. Read this BEFORE writing any code that uses the design system. Contains lookup requirements, common mistakes, and import gotchas.',