@nanisoft/prism-mcp-server 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +66 -0
  2. package/THIRD-PARTY-NOTICES.md +48 -0
  3. package/dist/descriptions.d.ts +22 -0
  4. package/dist/descriptions.js +33 -0
  5. package/dist/generated/built.d.ts +2 -0
  6. package/dist/generated/built.js +6 -0
  7. package/dist/generated/server-version.d.ts +1 -0
  8. package/dist/generated/server-version.js +5 -0
  9. package/dist/index.d.ts +11 -10
  10. package/dist/index.js +10 -9
  11. package/dist/render.d.ts +69 -44
  12. package/dist/render.js +422 -145
  13. package/dist/rules.d.ts +12 -0
  14. package/dist/rules.js +14 -0
  15. package/dist/schemas.d.ts +104 -0
  16. package/dist/schemas.js +102 -0
  17. package/dist/server.d.ts +22 -0
  18. package/dist/server.js +75 -0
  19. package/dist/version.d.ts +1 -10
  20. package/dist/version.js +10 -7
  21. package/dist/vocab.d.ts +13 -0
  22. package/dist/vocab.js +19 -0
  23. package/package.json +32 -23
  24. package/dist/factory.d.ts +0 -31
  25. package/dist/factory.d.ts.map +0 -1
  26. package/dist/factory.js +0 -33
  27. package/dist/factory.js.map +0 -1
  28. package/dist/index.d.ts.map +0 -1
  29. package/dist/index.js.map +0 -1
  30. package/dist/lookup.d.ts +0 -68
  31. package/dist/lookup.d.ts.map +0 -1
  32. package/dist/lookup.js +0 -113
  33. package/dist/lookup.js.map +0 -1
  34. package/dist/render.d.ts.map +0 -1
  35. package/dist/render.js.map +0 -1
  36. package/dist/search.d.ts +0 -34
  37. package/dist/search.d.ts.map +0 -1
  38. package/dist/search.js +0 -68
  39. package/dist/search.js.map +0 -1
  40. package/dist/store.d.ts +0 -62
  41. package/dist/store.d.ts.map +0 -1
  42. package/dist/store.js +0 -80
  43. package/dist/store.js.map +0 -1
  44. package/dist/tools.d.ts +0 -22
  45. package/dist/tools.d.ts.map +0 -1
  46. package/dist/tools.js +0 -120
  47. package/dist/tools.js.map +0 -1
  48. package/dist/version.d.ts.map +0 -1
  49. package/dist/version.js.map +0 -1
package/dist/lookup.js DELETED
@@ -1,113 +0,0 @@
1
- /**
2
- * Case-insensitive resolution over the bundled corpus, with did-you-mean
3
- * suggestions on a miss (ADR-0004 §2: lookups are case-insensitive and a miss
4
- * returns the closest matches plus a browse pointer — never a throw).
5
- *
6
- * Maps are built once per `createPrismMcpServer()` call — per request on the
7
- * Worker lane, never at isolate scope (ticket 05's startup-limit rule).
8
- */
9
- /** Order the catalog tools group and count kinds in. */
10
- export const ITEM_KINDS = ['component', 'block', 'page'];
11
- /** The theme atom a bare `get_theme_doc()` answers with. */
12
- export const DEFAULT_PACK = 'blue';
13
- export const DEFAULT_MODE = 'light';
14
- /** Lower-cased, trimmed lookup key. */
15
- const fold = (value) => value.trim().toLowerCase();
16
- /** Smallest-edit-distance suggestions, closest and shortest first. */
17
- export function didYouMean(query, candidates, limit = 3) {
18
- const target = fold(query);
19
- return candidates
20
- .map((candidate) => {
21
- const folded = fold(candidate);
22
- // A substring hit is a better lead than its raw edit distance suggests.
23
- const distance = folded.includes(target) ? Math.min(levenshtein(target, folded), 1) : levenshtein(target, folded);
24
- return { candidate, distance };
25
- })
26
- .filter((entry) => entry.distance <= 3)
27
- .sort((a, b) => a.distance - b.distance || a.candidate.length - b.candidate.length)
28
- .slice(0, limit)
29
- .map((entry) => entry.candidate);
30
- }
31
- /** Classic two-row Levenshtein distance, case-folded by the caller. */
32
- function levenshtein(a, b) {
33
- if (a === b)
34
- return 0;
35
- if (a.length === 0)
36
- return b.length;
37
- if (b.length === 0)
38
- return a.length;
39
- let previous = Array.from({ length: b.length + 1 }, (_, index) => index);
40
- for (let i = 1; i <= a.length; i += 1) {
41
- const current = [i];
42
- for (let j = 1; j <= b.length; j += 1) {
43
- const substitution = (previous[j - 1] ?? 0) + (a[i - 1] === b[j - 1] ? 0 : 1);
44
- current.push(Math.min((previous[j] ?? 0) + 1, (current[j - 1] ?? 0) + 1, substitution));
45
- }
46
- previous = current;
47
- }
48
- return previous[b.length] ?? a.length + b.length;
49
- }
50
- export function createItemLookup(items) {
51
- const byKey = new Map(items.map((item) => [fold(item.name), item]));
52
- const names = items.map((item) => item.name);
53
- return {
54
- names,
55
- find(name, kind) {
56
- const item = byKey.get(fold(name));
57
- if (!item)
58
- return { status: 'miss', suggestions: didYouMean(name, names) };
59
- // `kind` is a disambiguator, not a filter: a wrong one is a miss the
60
- // agent must hear about, not a silent hit for the wrong entity.
61
- if (kind && item.kind !== kind)
62
- return { status: 'kind-mismatch', item };
63
- return { status: 'ok', item };
64
- },
65
- suggest: (name) => didYouMean(name, names),
66
- };
67
- }
68
- /**
69
- * Site-pathname lookup (`/docs/theming`), tolerant of case, trailing slashes,
70
- * and absolute site URLs (`https://prism.nanisoft.com/docs/theming`).
71
- */
72
- export function createPageLookup(pages, baseUrl) {
73
- const origin = baseUrl.replace(/\/+$/, '');
74
- const keyOf = (url) => {
75
- let path = url.trim();
76
- if (path.toLowerCase().startsWith(origin.toLowerCase()))
77
- path = path.slice(origin.length) || '/';
78
- if (path.length > 1)
79
- path = path.replace(/\/+$/, '');
80
- return fold(path);
81
- };
82
- const byKey = new Map(pages.map((page) => [keyOf(page.url), page]));
83
- const urls = pages.map((page) => page.url);
84
- return {
85
- urls,
86
- find: (url) => byKey.get(keyOf(url)),
87
- suggest: (url) => didYouMean(keyOf(url), urls),
88
- };
89
- }
90
- /** Theme atoms are slugged `<pack>-<mode>` (prism-llms emits four). */
91
- export const themeSlug = (pack, mode) => `${pack}-${mode}`;
92
- export function createThemeLookup(themes) {
93
- const byKey = new Map(themes.map((theme) => [fold(theme.slug), theme]));
94
- const slugs = themes.map((theme) => theme.slug);
95
- return {
96
- slugs,
97
- find: (pack, mode) => byKey.get(fold(themeSlug(pack, mode))),
98
- suggest: (slug) => didYouMean(slug, slugs),
99
- };
100
- }
101
- export function resolveExample(item, slug) {
102
- const examples = item.examples ?? [];
103
- if (examples.length === 0)
104
- return { status: 'none' };
105
- if (slug === undefined)
106
- return { status: 'ok', example: examples[0] };
107
- const byKey = new Map(examples.map((example) => [fold(example.slug), example]));
108
- const example = byKey.get(fold(slug));
109
- if (example)
110
- return { status: 'ok', example };
111
- return { status: 'miss', suggestions: didYouMean(slug, examples.map((entry) => entry.slug)) };
112
- }
113
- //# sourceMappingURL=lookup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../src/lookup.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,oEAAoE;AACpE,eAAO,MAAM,WAAW,uEAAuE,CAAC;AAOhG;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAqB7F;AAOD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAM3D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAoB7D;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAelJ;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,CAI3F;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAc3F;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAavF;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAKvG;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM,CAErF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
package/dist/search.d.ts DELETED
@@ -1,34 +0,0 @@
1
- /**
2
- * `search_docs` — dependency-free term-frequency ranking over the bundled
3
- * corpus (ADR-0004 §1: plasma's recipe; the corpus is small enough that no
4
- * search index earns its bundle size). One entry point over items and docs
5
- * pages; the component/block/page/doc distinction is a `kind` filter.
6
- */
7
- import type { PrismDocsItem, PrismDocsStore } from './store.js';
8
- import type { ItemKind } from './lookup.js';
9
- /** `SearchKind`'s `'doc'` means a docs page, not a `page`-kind catalog item. */
10
- export type SearchKind = ItemKind | 'doc';
11
- export interface SearchHit {
12
- /** The item name or the page title, as the result heading shows it. */
13
- readonly title: string;
14
- /** `component | block | page` for catalog items, `doc` for docs pages. */
15
- readonly kind: SearchKind;
16
- /** The one-liner the hit is sold with — the same text llms.txt bullets use. */
17
- readonly snippet: string;
18
- /** The exact follow-up call the result prints for the agent to make. */
19
- readonly followUp: string;
20
- }
21
- export interface SearchQuery {
22
- readonly query: string;
23
- readonly kind?: SearchKind;
24
- readonly limit?: number;
25
- }
26
- /** Default cap — ADR-0004 §7: "search caps at 5 hits with snippets". */
27
- export declare const DEFAULT_SEARCH_LIMIT = 5;
28
- export declare const MAX_SEARCH_LIMIT = 10;
29
- export declare function searchCorpus(docs: PrismDocsStore, { query, kind, limit }: SearchQuery): SearchHit[];
30
- /** The next call a search hit (or doc footer) prints, steered by the data. */
31
- export declare function followUpForItem(item: PrismDocsItem): string;
32
- /** Lower-case word tokens; empty for a whitespace-only query. */
33
- export declare function tokenize(query: string): string[];
34
- //# sourceMappingURL=search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE1C,MAAM,WAAW,SAAS;IACxB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAA4B,EAAE,EAAE,WAAW,GAAG,SAAS,EAAE,CA8C1H;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAI3D;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhD"}
package/dist/search.js DELETED
@@ -1,68 +0,0 @@
1
- /**
2
- * `search_docs` — dependency-free term-frequency ranking over the bundled
3
- * corpus (ADR-0004 §1: plasma's recipe; the corpus is small enough that no
4
- * search index earns its bundle size). One entry point over items and docs
5
- * pages; the component/block/page/doc distinction is a `kind` filter.
6
- */
7
- /** Field weights: a name hit outranks a description hit outranks a body hit. */
8
- const WEIGHTS = { name: 8, summary: 3, body: 1 };
9
- /** Default cap — ADR-0004 §7: "search caps at 5 hits with snippets". */
10
- export const DEFAULT_SEARCH_LIMIT = 5;
11
- export const MAX_SEARCH_LIMIT = 10;
12
- export function searchCorpus(docs, { query, kind, limit = DEFAULT_SEARCH_LIMIT }) {
13
- const terms = tokenize(query);
14
- const capped = Math.min(Math.max(limit, 1), MAX_SEARCH_LIMIT);
15
- const scoreItem = (item) => terms.reduce((total, term) => total +
16
- WEIGHTS.name * countOccurrences(item.name.toLowerCase(), term) +
17
- WEIGHTS.summary * countOccurrences(item.description.toLowerCase(), term) +
18
- WEIGHTS.body * countOccurrences(item.doc.toLowerCase(), term), 0);
19
- const scorePage = (page) => terms.reduce((total, term) => total +
20
- WEIGHTS.name * countOccurrences(page.title.toLowerCase(), term) +
21
- WEIGHTS.summary * countOccurrences((page.description ?? '').toLowerCase(), term) +
22
- WEIGHTS.body * countOccurrences(page.markdown.toLowerCase(), term), 0);
23
- const wantItems = kind === undefined || kind !== 'doc';
24
- const wantPages = kind === undefined || kind === 'doc';
25
- const candidates = [];
26
- if (wantItems) {
27
- for (const item of docs.items) {
28
- if (kind !== undefined && item.kind !== kind)
29
- continue;
30
- const score = scoreItem(item);
31
- if (score > 0)
32
- candidates.push({ score, title: item.name, kind: item.kind, snippet: item.description, followUp: followUpForItem(item) });
33
- }
34
- }
35
- if (wantPages) {
36
- for (const page of docs.pages) {
37
- const score = scorePage(page);
38
- if (score > 0)
39
- candidates.push({ score, title: page.title, kind: 'doc', snippet: page.description ?? page.title, followUp: `get_page { "url": "${page.url}" }` });
40
- }
41
- }
42
- return candidates
43
- .sort((a, b) => b.score - a.score || a.title.localeCompare(b.title))
44
- .slice(0, capped)
45
- .map(({ score: _score, ...hit }) => hit);
46
- }
47
- /** The next call a search hit (or doc footer) prints, steered by the data. */
48
- export function followUpForItem(item) {
49
- if ((item.examples?.length ?? 0) > 0)
50
- return `get_item_source { "name": "${item.name}" }`;
51
- if (item.antdBase)
52
- return `antd_info ${item.antdBase} (antd MCP)`;
53
- return `get_item_doc { "name": "${item.name}" }`;
54
- }
55
- /** Lower-case word tokens; empty for a whitespace-only query. */
56
- export function tokenize(query) {
57
- return query.toLowerCase().split(/[^a-z0-9]+/).filter((term) => term.length > 0);
58
- }
59
- function countOccurrences(haystack, needle) {
60
- let count = 0;
61
- let from = haystack.indexOf(needle);
62
- while (from !== -1) {
63
- count += 1;
64
- from = haystack.indexOf(needle, from + needle.length);
65
- }
66
- return count;
67
- }
68
- //# sourceMappingURL=search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts DELETED
@@ -1,62 +0,0 @@
1
- /**
2
- * The corpus contract (ADR-0004 §5): the single backing store every MCP tool
3
- * reads. `@nanisoft/prism-llms` emits its projection into this shape at build
4
- * time (`dist/data.json`) and validates against it type-only; this package is
5
- * the canonical home because it is the consumer — the tools make exactly one
6
- * assumption about the corpus, and it is this interface.
7
- */
8
- /** One catalog item — a component, block, or page from prism-ui. */
9
- export interface PrismDocsItem {
10
- /** The prism-ui export name, e.g. `Button`, `PageHeader`, `DocsShell`. */
11
- readonly name: string;
12
- readonly kind: 'component' | 'block' | 'page';
13
- /** The one-liner that becomes the llms.txt bullet and the search hit. */
14
- readonly description: string;
15
- /** Full per-item Markdown: usage rules, Prism props, example. */
16
- readonly doc: string;
17
- /** The extracted Prism-added props section — absent for pass-throughs. */
18
- readonly props?: string;
19
- /** Documented examples; `code` is the verbatim `demos/<slug>.tsx` source. */
20
- readonly examples?: ReadonlyArray<{
21
- readonly slug: string;
22
- readonly title?: string;
23
- readonly code: string;
24
- }>;
25
- /**
26
- * The antd surface this item passes through unchanged (`Button`), absent for
27
- * wrappers and prism-original items — a wrapper's base rides its doc's
28
- * `> Extends:` note.
29
- */
30
- readonly antdBase?: string;
31
- }
32
- /** One docs page (guides only — blog is lane-only, excluded from the store). */
33
- export interface PrismDocsPage {
34
- /** Site pathname, e.g. `/docs/theming`. */
35
- readonly url: string;
36
- readonly title: string;
37
- readonly description?: string;
38
- readonly markdown: string;
39
- }
40
- /** One theme atom per pack × mode (`blue-light`, …), as Markdown. */
41
- export interface PrismDocsTheme {
42
- readonly slug: string;
43
- readonly markdown: string;
44
- }
45
- export interface PrismDocsStore {
46
- /** The resolved prism-ui version — echoed by `list_items` for mismatch detection. */
47
- readonly prismVersion: string;
48
- /** `https://prism.nanisoft.com`, interpolated at build. */
49
- readonly baseUrl: string;
50
- readonly items: ReadonlyArray<PrismDocsItem>;
51
- readonly pages: ReadonlyArray<PrismDocsPage>;
52
- readonly themes: ReadonlyArray<PrismDocsTheme>;
53
- }
54
- /**
55
- * Validate an unknown value (typically the parsed `dist/data.json`) against
56
- * the store contract and return it typed. A JSON import type-widens `kind` to
57
- * `string`, so only a runtime guard validates the literals — prism-llms'
58
- * check gate runs this over its emit, and the server factory runs it over its
59
- * bundled corpus at the door.
60
- */
61
- export declare function parsePrismDocsStore(value: unknown): PrismDocsStore;
62
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IAC9C,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAiElE"}
package/dist/store.js DELETED
@@ -1,80 +0,0 @@
1
- /**
2
- * The corpus contract (ADR-0004 §5): the single backing store every MCP tool
3
- * reads. `@nanisoft/prism-llms` emits its projection into this shape at build
4
- * time (`dist/data.json`) and validates against it type-only; this package is
5
- * the canonical home because it is the consumer — the tools make exactly one
6
- * assumption about the corpus, and it is this interface.
7
- */
8
- /**
9
- * Validate an unknown value (typically the parsed `dist/data.json`) against
10
- * the store contract and return it typed. A JSON import type-widens `kind` to
11
- * `string`, so only a runtime guard validates the literals — prism-llms'
12
- * check gate runs this over its emit, and the server factory runs it over its
13
- * bundled corpus at the door.
14
- */
15
- export function parsePrismDocsStore(value) {
16
- const fail = (path, expected) => {
17
- throw new TypeError(`PrismDocsStore: ${path} must be ${expected}`);
18
- };
19
- const str = (path, v) => (typeof v === 'string' ? v : fail(path, 'a string'));
20
- const arr = (path, v) => (Array.isArray(v) ? v : fail(path, 'an array'));
21
- if (typeof value !== 'object' || value === null)
22
- fail('store', 'an object');
23
- const store = value;
24
- const items = arr('items', store.items).map((entry, index) => {
25
- if (typeof entry !== 'object' || entry === null)
26
- fail(`items[${index}]`, 'an object');
27
- const item = entry;
28
- const rawKind = str(`items[${index}].kind`, item.kind);
29
- const kind = rawKind === 'component' || rawKind === 'block' || rawKind === 'page' ? rawKind : fail(`items[${index}].kind`, "one of 'component' | 'block' | 'page'");
30
- const examples = item.examples === undefined
31
- ? undefined
32
- : arr(`items[${index}].examples`, item.examples).map((example, exampleIndex) => {
33
- if (typeof example !== 'object' || example === null)
34
- fail(`items[${index}].examples[${exampleIndex}]`, 'an object');
35
- const demo = example;
36
- return {
37
- slug: str(`items[${index}].examples[${exampleIndex}].slug`, demo.slug),
38
- ...(demo.title !== undefined ? { title: str(`items[${index}].examples[${exampleIndex}].title`, demo.title) } : {}),
39
- code: str(`items[${index}].examples[${exampleIndex}].code`, demo.code),
40
- };
41
- });
42
- return {
43
- name: str(`items[${index}].name`, item.name),
44
- kind,
45
- description: str(`items[${index}].description`, item.description),
46
- doc: str(`items[${index}].doc`, item.doc),
47
- ...(item.props !== undefined ? { props: str(`items[${index}].props`, item.props) } : {}),
48
- ...(examples !== undefined ? { examples } : {}),
49
- ...(item.antdBase !== undefined ? { antdBase: str(`items[${index}].antdBase`, item.antdBase) } : {}),
50
- };
51
- });
52
- const pages = arr('pages', store.pages).map((entry, index) => {
53
- if (typeof entry !== 'object' || entry === null)
54
- fail(`pages[${index}]`, 'an object');
55
- const page = entry;
56
- return {
57
- url: str(`pages[${index}].url`, page.url),
58
- title: str(`pages[${index}].title`, page.title),
59
- ...(page.description !== undefined ? { description: str(`pages[${index}].description`, page.description) } : {}),
60
- markdown: str(`pages[${index}].markdown`, page.markdown),
61
- };
62
- });
63
- const themes = arr('themes', store.themes).map((entry, index) => {
64
- if (typeof entry !== 'object' || entry === null)
65
- fail(`themes[${index}]`, 'an object');
66
- const theme = entry;
67
- return {
68
- slug: str(`themes[${index}].slug`, theme.slug),
69
- markdown: str(`themes[${index}].markdown`, theme.markdown),
70
- };
71
- });
72
- return {
73
- prismVersion: str('prismVersion', store.prismVersion),
74
- baseUrl: str('baseUrl', store.baseUrl),
75
- items,
76
- pages,
77
- themes,
78
- };
79
- }
80
- //# sourceMappingURL=store.js.map
package/dist/store.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts DELETED
@@ -1,22 +0,0 @@
1
- /**
2
- * The eight read-only tools (ADR-0004 §1/§2) — unprefixed names, markdown in
3
- * and out, `isError: true` for lookup misses (never a throw), tools only (no
4
- * resources/prompts in v1). Descriptions are the steering surface most clients
5
- * show, so each carries the scope, the antd delegation rule, and the import
6
- * invariant.
7
- */
8
- import type { McpServer } from '@modelcontextprotocol/server';
9
- import { type ItemLookup, type PageLookup, type ThemeLookup } from './lookup.js';
10
- import type { PrismDocsStore } from './store.js';
11
- /** Everything a handler reads — built fresh per `createPrismMcpServer()` call. */
12
- export interface PrismToolContext {
13
- readonly docs: PrismDocsStore;
14
- readonly items: ItemLookup;
15
- readonly pages: PageLookup;
16
- readonly themes: ThemeLookup;
17
- /** Corpus build date (YYYY-MM-DD) for the `list_items` header, when known. */
18
- readonly built?: string;
19
- }
20
- /** Registers exactly the eight v1 tools; nothing else (no resources/prompts). */
21
- export declare function registerPrismTools(server: McpServer, ctx: PrismToolContext): void;
22
- //# sourceMappingURL=tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,8BAA8B,CAAC;AAG9E,OAAO,EAML,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAerB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAYjD,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAmJjF"}
package/dist/tools.js DELETED
@@ -1,120 +0,0 @@
1
- /**
2
- * The eight read-only tools (ADR-0004 §1/§2) — unprefixed names, markdown in
3
- * and out, `isError: true` for lookup misses (never a throw), tools only (no
4
- * resources/prompts in v1). Descriptions are the steering surface most clients
5
- * show, so each carries the scope, the antd delegation rule, and the import
6
- * invariant.
7
- */
8
- import { z } from 'zod';
9
- import { DEFAULT_MODE, DEFAULT_PACK, resolveExample, themeSlug, } from './lookup.js';
10
- import { catalogMarkdown, itemDocMarkdown, itemPropsMarkdown, itemSourceMarkdown, kindMismatchMarkdown, missMarkdown, pageMarkdown, pagesIndexMarkdown, searchResultsMarkdown, themeMarkdown, IMPORT_RULE, } from './render.js';
11
- import { searchCorpus } from './search.js';
12
- /** Prism-owned surface only; the upstream antd surface delegates. */
13
- const ANTD_RULE = 'Prism answers its own surface only — inherited antd props, demos, and tokens belong to the antd MCP.';
14
- const Kind = z.enum(['component', 'block', 'page']);
15
- const SearchKind = z.enum(['component', 'block', 'page', 'doc']);
16
- const NAME_DESC = "e.g. 'Button', 'PageHeader', 'SettingsPage'";
17
- const KIND_DESC = 'Disambiguate when the name exists as more than one kind.';
18
- const CATALOG_HINT = 'Browse the catalog: `list_items`.';
19
- /** The one response shape: markdown text, with lookup misses flagged as errors. */
20
- const markdown = (text, isError = false) => ({ content: [{ type: 'text', text }], isError });
21
- /** Registers exactly the eight v1 tools; nothing else (no resources/prompts). */
22
- export function registerPrismTools(server, ctx) {
23
- server.registerTool('list_items', {
24
- description: `Catalog of every Prism item — components, blocks, and pages — with kind, one-liner, and antd base. ` +
25
- `Start here to learn Prism's vocabulary; the header carries the Prism version and the corpus build ` +
26
- `date, so you can detect a corpus/installed-version mismatch before trusting the answer. ` +
27
- `${ANTD_RULE} ${IMPORT_RULE}`,
28
- inputSchema: { kind: Kind.optional().describe('Filter to one kind; omit for the whole catalog.') },
29
- }, ({ kind }) => markdown(catalogMarkdown(ctx.docs, kind, ctx.built)));
30
- server.registerTool('get_item_doc', {
31
- description: `Full Prism documentation for one component, block, or page: usage rules (RFC-2119), Prism-added props, ` +
32
- `and an example. Covers Prism's own surface only — for inherited antd props on pass-through re-exports ` +
33
- `use the antd MCP. ${IMPORT_RULE}`,
34
- inputSchema: { name: z.string().describe(NAME_DESC), kind: Kind.optional().describe(KIND_DESC) },
35
- }, ({ name, kind }) => {
36
- const match = ctx.items.find(name, kind);
37
- if (match.status === 'miss')
38
- return markdown(missMarkdown(name, match.suggestions, CATALOG_HINT), true);
39
- if (match.status === 'kind-mismatch')
40
- return markdown(kindMismatchMarkdown(match.item, kind), true);
41
- return markdown(itemDocMarkdown(match.item));
42
- });
43
- server.registerTool('get_item_props', {
44
- description: `Prism-added props for one component, block, or page, as Markdown — the API delta Prism adds on top of ` +
45
- `antd, not the inherited antd table. A pass-through re-export answers with the antd MCP pointer instead. ${IMPORT_RULE}`,
46
- inputSchema: { name: z.string().describe(NAME_DESC), kind: Kind.optional().describe(KIND_DESC) },
47
- }, ({ name, kind }) => {
48
- const match = ctx.items.find(name, kind);
49
- if (match.status === 'miss')
50
- return markdown(missMarkdown(name, match.suggestions, CATALOG_HINT), true);
51
- if (match.status === 'kind-mismatch')
52
- return markdown(kindMismatchMarkdown(match.item, kind), true);
53
- return markdown(itemPropsMarkdown(match.item));
54
- });
55
- server.registerTool('get_item_source', {
56
- description: `Documented example source for one item — verbatim, self-contained TSX in one fenced block, ready to paste. ` +
57
- `Returns documented usage, never prism-ui implementation files; raw antd demos belong to the antd MCP's ` +
58
- `antd_demo. ${IMPORT_RULE}`,
59
- inputSchema: {
60
- name: z.string().describe(NAME_DESC),
61
- example: z.string().optional().describe("Example slug; omit for the item's first example."),
62
- },
63
- }, ({ name, example }) => {
64
- const match = ctx.items.find(name);
65
- if (match.status === 'miss')
66
- return markdown(missMarkdown(name, match.suggestions, CATALOG_HINT), true);
67
- const item = match.item;
68
- const resolved = resolveExample(item, example);
69
- if (resolved.status === 'none') {
70
- return markdown(`\`${item.name}\` documents no examples in this build — its usage rules live in the full doc: \`get_item_doc { "name": "${item.name}" }\`.`, true);
71
- }
72
- if (resolved.status === 'miss') {
73
- return markdown(missMarkdown(`example "${example}" of ${item.name}`, resolved.suggestions, `Available examples of \`${item.name}\` are listed by its doc: \`get_item_doc { "name": "${item.name}" }\`.`), true);
74
- }
75
- return markdown(itemSourceMarkdown(item, resolved.example));
76
- });
77
- server.registerTool('get_theme_doc', {
78
- description: `Theme and token documentation for one Prism brand pack × mode (blue | green × light | dark), including the ` +
79
- `createPrismTheme() snippet. Prism's multi-pack theming is not answerable by antd's antd_token. ` +
80
- `${ANTD_RULE} ${IMPORT_RULE}`,
81
- inputSchema: {
82
- pack: z.enum(['blue', 'green']).optional().describe(`Brand pack (default '${DEFAULT_PACK}').`),
83
- mode: z.enum(['light', 'dark']).optional().describe(`Mode (default '${DEFAULT_MODE}').`),
84
- },
85
- }, ({ pack, mode }) => {
86
- const resolvedPack = pack ?? DEFAULT_PACK;
87
- const resolvedMode = mode ?? DEFAULT_MODE;
88
- const theme = ctx.themes.find(resolvedPack, resolvedMode);
89
- if (!theme) {
90
- const slug = themeSlug(resolvedPack, resolvedMode);
91
- return markdown(missMarkdown(slug, ctx.themes.suggest(slug), `Available theme atoms: ${ctx.themes.slugs.map((entry) => `\`${entry}\``).join(', ')}.`), true);
92
- }
93
- return markdown(themeMarkdown(theme, ctx.docs.themes));
94
- });
95
- server.registerTool('list_pages', {
96
- description: `Index of the Prism docs pages (guides): title, url, and one-liner — the site's llms.txt body. ` +
97
- `For the component/block/page catalog use list_items. ${IMPORT_RULE}`,
98
- inputSchema: {},
99
- }, () => markdown(pagesIndexMarkdown(ctx.docs.pages, ctx.docs.baseUrl)));
100
- server.registerTool('get_page', {
101
- description: `One Prism docs page as Markdown, by site pathname (e.g. '/docs/theming') — mirrors fumadocs' get_page ` +
102
- `contract exactly. Docs describe Prism behaviour; inherited antd surface stays with the antd MCP. ${IMPORT_RULE}`,
103
- inputSchema: { url: z.string().describe("Site pathname, e.g. '/docs/theming'.") },
104
- }, ({ url }) => {
105
- const page = ctx.pages.find(url);
106
- if (!page)
107
- return markdown(missMarkdown(url, ctx.pages.suggest(url), 'Index of pages: `list_pages`.'), true);
108
- return markdown(pageMarkdown(page, ctx.docs.baseUrl));
109
- });
110
- server.registerTool('search_docs', {
111
- description: `One search entry point over the whole Prism corpus — components, blocks, pages, and docs pages. Ranked ` +
112
- `hits with kind, snippet, and the suggested follow-up call. ${ANTD_RULE} ${IMPORT_RULE}`,
113
- inputSchema: {
114
- query: z.string().describe('Free text — item names, features, guide topics.'),
115
- kind: SearchKind.optional().describe("'doc' means a docs page; the other three filter catalog items."),
116
- limit: z.number().int().min(1).max(10).optional().describe('Max hits, 1–10 (default 5).'),
117
- },
118
- }, ({ query, kind, limit }) => markdown(searchResultsMarkdown(query, searchCorpus(ctx.docs, { query, kind, limit }))));
119
- }
120
- //# sourceMappingURL=tools.js.map
package/dist/tools.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,cAAc,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}