@redsift/ds-mcp-server 12.5.3-alpha.5 → 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 (90) hide show
  1. package/consumer-instructions/.cursorrules +14 -0
  2. package/consumer-instructions/.windsurfrules +18 -4
  3. package/consumer-instructions/CLAUDE.md +25 -11
  4. package/consumer-instructions/redsift-design-system.instructions.md +107 -12
  5. package/data/docs/components/charts/Axis.json +6 -1
  6. package/data/docs/components/charts/BarChart.json +7 -1
  7. package/data/docs/components/charts/BaseBarChart.json +1 -1
  8. package/data/docs/components/charts/ChartContainerTitle.json +5 -1
  9. package/data/docs/components/charts/Legend.json +6 -1
  10. package/data/docs/components/charts/LineChart.json +8 -2
  11. package/data/docs/components/charts/PieChart.json +6 -1
  12. package/data/docs/components/charts/ScatterPlot.json +6 -1
  13. package/data/docs/components/dashboard/ChartEmptyState.json +8 -1
  14. package/data/docs/components/dashboard/Dashboard.json +6 -1
  15. package/data/docs/components/dashboard/DataCard.json +18 -1
  16. package/data/docs/components/dashboard/DataCardBody.json +9 -1
  17. package/data/docs/components/dashboard/DataCardHeader.json +8 -1
  18. package/data/docs/components/dashboard/DataCardListbox.json +10 -1
  19. package/data/docs/components/dashboard/DataRow.json +7 -1
  20. package/data/docs/components/dashboard/PdfExportButton.json +6 -1
  21. package/data/docs/components/dashboard/TimeSeriesBarChart.json +6 -1
  22. package/data/docs/components/dashboard/WithFilters.json +5 -1
  23. package/data/docs/components/design-system/Alert.json +8 -1
  24. package/data/docs/components/design-system/AppBar.json +6 -1
  25. package/data/docs/components/design-system/AppContent.json +8 -1
  26. package/data/docs/components/design-system/AppSidePanel.json +9 -1
  27. package/data/docs/components/design-system/Badge.json +6 -1
  28. package/data/docs/components/design-system/Breadcrumbs.json +10 -1
  29. package/data/docs/components/design-system/Button.json +10 -1
  30. package/data/docs/components/design-system/Card.json +15 -1
  31. package/data/docs/components/design-system/CardActions.json +8 -1
  32. package/data/docs/components/design-system/CardBody.json +7 -1
  33. package/data/docs/components/design-system/CardHeader.json +8 -1
  34. package/data/docs/components/design-system/DetailedCard.json +12 -1
  35. package/data/docs/components/design-system/DetailedCardHeader.json +4 -1
  36. package/data/docs/components/design-system/DetailedCardSection.json +4 -1
  37. package/data/docs/components/design-system/Flexbox.json +14 -1
  38. package/data/docs/components/design-system/Grid.json +6 -1
  39. package/data/docs/components/design-system/Heading.json +16 -1
  40. package/data/docs/components/design-system/Icon.json +6 -1
  41. package/data/docs/components/design-system/IconButton.json +14 -1
  42. package/data/docs/components/design-system/Pill.json +15 -1
  43. package/data/docs/components/design-system/Skeleton.json +10 -1
  44. package/data/docs/components/design-system/SkeletonCircle.json +6 -1
  45. package/data/docs/components/design-system/SkeletonText.json +6 -1
  46. package/data/docs/components/design-system/Tab.json +9 -1
  47. package/data/docs/components/design-system/TabPanel.json +10 -1
  48. package/data/docs/components/design-system/Tabs.json +12 -1
  49. package/data/docs/components/design-system/Text.json +14 -1
  50. package/data/docs/components/design-system/TextField.json +6 -1
  51. package/data/docs/components/pickers/Combobox.json +12 -1
  52. package/data/docs/components/pickers/ComboboxContent.json +6 -1
  53. package/data/docs/components/pickers/MenuButton.json +10 -1
  54. package/data/docs/components/pickers/MenuButtonContent.json +5 -1
  55. package/data/docs/components/pickers/Select.json +11 -1
  56. package/data/docs/components/popovers/Dialog.json +10 -1
  57. package/data/docs/components/popovers/Toggletip.json +11 -1
  58. package/data/docs/components/popovers/Tooltip.json +9 -1
  59. package/data/docs/components/table/DataGrid.json +9 -1
  60. package/data/docs/components/table/StatefulDataGrid.json +6 -1
  61. package/data/docs/components-index.json +341 -555
  62. package/data/docs/components.json +7945 -24342
  63. package/data/docs/llms-full.txt +879 -2546
  64. package/data/docs/llms.txt +55 -77
  65. package/data/docs/patterns-catalog.md +191 -0
  66. package/data/docs/patterns.json +365 -27
  67. package/data/metadata.json +2 -2
  68. package/data/patterns/drilldowned-datagrid-server-side.mdx +19 -0
  69. package/data/prompts/ds-advisor.md +103 -0
  70. package/dist/data-store.d.ts +23 -1
  71. package/dist/data-store.d.ts.map +1 -1
  72. package/dist/data-store.js +69 -15
  73. package/dist/data-store.js.map +1 -1
  74. package/dist/pattern-store.d.ts +23 -1
  75. package/dist/pattern-store.d.ts.map +1 -1
  76. package/dist/pattern-store.js +94 -22
  77. package/dist/pattern-store.js.map +1 -1
  78. package/dist/prompts.d.ts.map +1 -1
  79. package/dist/prompts.js +56 -27
  80. package/dist/prompts.js.map +1 -1
  81. package/dist/resources.d.ts.map +1 -1
  82. package/dist/resources.js +60 -6
  83. package/dist/resources.js.map +1 -1
  84. package/dist/tools.d.ts.map +1 -1
  85. package/dist/tools.js +12 -0
  86. package/dist/tools.js.map +1 -1
  87. package/dist/types.d.ts +11 -0
  88. package/dist/types.d.ts.map +1 -1
  89. package/dist/types.js.map +1 -1
  90. package/package.json +4 -2
@@ -20,11 +20,33 @@ export declare class DataStore {
20
20
  getLlmsTxt(): string;
21
21
  /** Get the llms-full.txt complete documentation */
22
22
  getLlmsFullTxt(): string;
23
+ /** Get the host app setup guide */
24
+ getHostAppSetup(): string;
23
25
  /**
24
- * Search components by name or description.
26
+ * Search components by name, description, keyword, or anti-pattern text.
25
27
  * Returns matches sorted by relevance.
28
+ *
29
+ * Scoring rules (plan §1.4):
30
+ * - Tokens: deduped union of {joined-no-space, ...split-on-space}.
31
+ * - Per split term: exact name +100, starts-with +50, contains +30;
32
+ * exact keyword +80, keyword starts-with +40, keyword contains +20;
33
+ * description contains +10.
34
+ * - Joined form is scored against NAME and KEYWORDS only (not description),
35
+ * at the same tiers as a term. The dedupe guarantees that when a single-word
36
+ * query produces joined === split[0] the bonus is awarded only once.
37
+ * - Original lowercase phrase vs description: +15 (catches "data grid
38
+ * displays tabular data" without re-tokenising).
39
+ * - Original lowercase phrase exactly equals a keyword: +80 (routes
40
+ * multi-word UI intents like "kpi card" → DataCard via its keyword).
41
+ * - Original lowercase phrase vs antiPatterns text: +10 (auto-routes MUI
42
+ * queries to DS, e.g. "skeleton from @mui/material" matches Skeleton).
26
43
  */
27
44
  searchComponents(query: string, packageFilter?: string): ComponentIndexEntry[];
45
+ /**
46
+ * Pure scoring helper. Exported as a static so it can be unit-tested without
47
+ * touching the filesystem. See {@link searchComponents} JSDoc for the rules.
48
+ */
49
+ static rankComponents(index: ComponentIndexEntry[], query: string): ComponentIndexEntry[];
28
50
  /**
29
51
  * Get full component documentation by name.
30
52
  * Optionally filter by package for disambiguation.
@@ -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;;;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"}
@@ -68,43 +68,97 @@ export class DataStore {
68
68
  getLlmsFullTxt() {
69
69
  return readTextFile('llms-full.txt');
70
70
  }
71
+ /** Get the host app setup guide */
72
+ getHostAppSetup() {
73
+ return readTextFile('host-app-setup.md');
74
+ }
71
75
  /**
72
- * Search components by name or description.
76
+ * Search components by name, description, keyword, or anti-pattern text.
73
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).
74
93
  */
75
94
  searchComponents(query, packageFilter) {
76
- const lowerQuery = query.toLowerCase();
77
- const terms = lowerQuery.split(/\s+/).filter(Boolean);
78
95
  let results = this.componentIndex;
79
- // Filter by package if specified
80
96
  if (packageFilter) {
81
97
  const pkgName = packageFilter.startsWith('@redsift/') ? packageFilter : `@redsift/${packageFilter}`;
82
98
  results = results.filter((c) => c.package === pkgName);
83
99
  }
84
- // Score each component
85
- 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
86
114
  .map((entry) => {
87
115
  const nameLower = entry.name.toLowerCase();
88
116
  const descLower = (entry.description || '').toLowerCase();
117
+ const keywordsLower = (entry.keywords || []).map((k) => k.toLowerCase());
118
+ const antiPatternsText = (entry.antiPatterns || []).join(' ').toLowerCase();
89
119
  let score = 0;
90
- for (const term of terms) {
91
- // Exact name match
92
- if (nameLower === term) {
120
+ for (const token of tokens) {
121
+ const isJoined = token === joined && terms.length > 1;
122
+ if (nameLower === token) {
93
123
  score += 100;
94
124
  }
95
- // Name starts with term
96
- else if (nameLower.startsWith(term)) {
125
+ else if (nameLower.startsWith(token)) {
97
126
  score += 50;
98
127
  }
99
- // Name contains term
100
- else if (nameLower.includes(term)) {
128
+ else if (nameLower.includes(token)) {
101
129
  score += 30;
102
130
  }
103
- // Description contains term
104
- 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)) {
105
146
  score += 10;
106
147
  }
107
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
+ }
108
162
  return { entry, score };
109
163
  })
110
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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"}
@@ -29,10 +29,32 @@ export declare class PatternStore {
29
29
  /** Get the patterns catalog markdown */
30
30
  getCatalog(): string;
31
31
  /**
32
- * Search patterns by name, description, components, tags, or whenToUse.
32
+ * Given an unknown slug, return the closest known slugs ranked by edit distance.
33
+ * Useful for "did you mean?" suggestions when an agent hallucinates a slug.
34
+ */
35
+ getSuggestions(unknownSlug: string, count?: number): Pattern[];
36
+ /**
37
+ * Search patterns by name, description, components, tags, keywords, or whenToUse.
33
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.
34
51
  */
35
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[];
36
58
  /**
37
59
  * Strip JSX imports and component tags from MDX, keeping markdown prose.
38
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;AAO3D;;;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,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"}
@@ -5,6 +5,24 @@
5
5
  import { readFileSync, existsSync } from 'node:fs';
6
6
  import { resolve } from 'node:path';
7
7
  import { resolveDataPaths } from './paths.js';
8
+ /**
9
+ * Compute the Levenshtein edit distance between two strings.
10
+ */
11
+ function levenshtein(a, b) {
12
+ const m = a.length;
13
+ const n = b.length;
14
+ const dp = Array.from({ length: n + 1 }, (_, i) => i);
15
+ for (let i = 1; i <= m; i++) {
16
+ let prev = dp[0];
17
+ dp[0] = i;
18
+ for (let j = 1; j <= n; j++) {
19
+ const temp = dp[j];
20
+ dp[j] = a[i - 1] === b[j - 1] ? prev : 1 + Math.min(prev, dp[j], dp[j - 1]);
21
+ prev = temp;
22
+ }
23
+ }
24
+ return dp[n];
25
+ }
8
26
  const { docsDir, demoDir: DEMO_DIR, patternsDir: PAGES_DIR } = resolveDataPaths();
9
27
  const DOCS_DIR = docsDir;
10
28
  const CATALOG_PATH = resolve(DOCS_DIR, 'patterns-catalog.md');
@@ -97,57 +115,111 @@ export class PatternStore {
97
115
  return this.catalog;
98
116
  }
99
117
  /**
100
- * Search patterns by name, description, components, tags, or whenToUse.
118
+ * Given an unknown slug, return the closest known slugs ranked by edit distance.
119
+ * Useful for "did you mean?" suggestions when an agent hallucinates a slug.
120
+ */
121
+ getSuggestions(unknownSlug, count = 3) {
122
+ if (this.patterns.length === 0)
123
+ return [];
124
+ const scored = this.patterns
125
+ .map((p) => ({ pattern: p, dist: levenshtein(unknownSlug, p.slug) }))
126
+ .sort((a, b) => a.dist - b.dist);
127
+ return scored.slice(0, count).map((s) => s.pattern);
128
+ }
129
+ /**
130
+ * Search patterns by name, description, components, tags, keywords, or whenToUse.
101
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.
102
144
  */
103
145
  searchPatterns(query, limit) {
104
- const lowerQuery = query.toLowerCase();
105
- const terms = lowerQuery.split(/\s+/).filter(Boolean);
106
146
  const maxResults = limit ?? 10;
107
- 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
108
161
  .map((pattern) => {
109
162
  const nameLower = pattern.name.toLowerCase();
110
163
  const descLower = pattern.description.toLowerCase();
111
164
  const componentsLower = pattern.components.map((c) => c.toLowerCase());
112
165
  const tagsLower = pattern.tags.map((t) => t.toLowerCase());
113
166
  const whenToUseLower = (pattern.whenToUse || []).map((w) => w.toLowerCase());
167
+ const keywordsLower = (pattern.keywords || []).map((k) => k.toLowerCase());
114
168
  let score = 0;
115
- for (const term of terms) {
116
- // Exact name match
117
- if (nameLower === term) {
169
+ for (const token of tokens) {
170
+ const isJoined = token === joined && terms.length > 1;
171
+ if (nameLower === token) {
118
172
  score += 100;
119
173
  }
120
- else if (nameLower.includes(term)) {
174
+ else if (nameLower.includes(token)) {
121
175
  score += 40;
122
176
  }
123
- // Tag match
124
- if (tagsLower.some((t) => t === term)) {
177
+ if (tagsLower.some((t) => t === token)) {
125
178
  score += 30;
126
179
  }
127
- else if (tagsLower.some((t) => t.includes(term))) {
180
+ else if (tagsLower.some((t) => t.includes(token))) {
128
181
  score += 15;
129
182
  }
130
- // Component match
131
- if (componentsLower.some((c) => c === term)) {
132
- 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
+ }
133
196
  }
134
- else if (componentsLower.some((c) => c.includes(term))) {
135
- score += 10;
197
+ if (componentsLower.some((c) => c === token)) {
198
+ score += 25;
136
199
  }
137
- // Description match
138
- if (descLower.includes(term)) {
200
+ else if (componentsLower.some((c) => c.includes(token))) {
139
201
  score += 10;
140
202
  }
141
- // When-to-use match
142
- if (whenToUseLower.some((w) => w.includes(term))) {
143
- 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
+ }
144
210
  }
145
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
+ }
146
218
  return { pattern, score };
147
219
  })
148
220
  .filter((s) => s.score > 0)
149
221
  .sort((a, b) => b.score - a.score);
150
- return scored.slice(0, maxResults).map((s) => s.pattern);
222
+ return scored.map((s) => s.pattern);
151
223
  }
152
224
  /**
153
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":"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"}
@@ -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,CAiVvG"}
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"}