@flyingrobots/bijou-mcp 7.2.0 → 8.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tools/docs-catalog/authoring-part01.d.ts +3 -0
- package/dist/tools/docs-catalog/authoring-part01.d.ts.map +1 -0
- package/dist/tools/docs-catalog/authoring-part01.js +141 -0
- package/dist/tools/docs-catalog/authoring-part01.js.map +1 -0
- package/dist/tools/docs-catalog/authoring-part02.d.ts +3 -0
- package/dist/tools/docs-catalog/authoring-part02.d.ts.map +1 -0
- package/dist/tools/docs-catalog/authoring-part02.js +135 -0
- package/dist/tools/docs-catalog/authoring-part02.js.map +1 -0
- package/dist/tools/docs-catalog/authoring.d.ts +1 -1
- package/dist/tools/docs-catalog/authoring.d.ts.map +1 -1
- package/dist/tools/docs-catalog/authoring.js +4 -233
- package/dist/tools/docs-catalog/authoring.js.map +1 -1
- package/dist/tools/docs-catalog/motion-authoring.d.ts +3 -0
- package/dist/tools/docs-catalog/motion-authoring.d.ts.map +1 -0
- package/dist/tools/docs-catalog/motion-authoring.js +50 -0
- package/dist/tools/docs-catalog/motion-authoring.js.map +1 -0
- package/dist/tools/docs-catalog/motion-feedback.d.ts +3 -0
- package/dist/tools/docs-catalog/motion-feedback.d.ts.map +1 -0
- package/dist/tools/docs-catalog/motion-feedback.js +47 -0
- package/dist/tools/docs-catalog/motion-feedback.js.map +1 -0
- package/dist/tools/docs-catalog/motion-visualization.d.ts +3 -0
- package/dist/tools/docs-catalog/motion-visualization.d.ts.map +1 -0
- package/dist/tools/docs-catalog/motion-visualization.js +105 -0
- package/dist/tools/docs-catalog/motion-visualization.js.map +1 -0
- package/dist/tools/docs-catalog/motion.d.ts +1 -1
- package/dist/tools/docs-catalog/motion.d.ts.map +1 -1
- package/dist/tools/docs-catalog/motion.js +6 -171
- package/dist/tools/docs-catalog/motion.js.map +1 -1
- package/dist/tools/docs-catalog/structure-part01.d.ts +3 -0
- package/dist/tools/docs-catalog/structure-part01.d.ts.map +1 -0
- package/dist/tools/docs-catalog/structure-part01.js +135 -0
- package/dist/tools/docs-catalog/structure-part01.js.map +1 -0
- package/dist/tools/docs-catalog/structure-part02.d.ts +3 -0
- package/dist/tools/docs-catalog/structure-part02.d.ts.map +1 -0
- package/dist/tools/docs-catalog/structure-part02.js +103 -0
- package/dist/tools/docs-catalog/structure-part02.js.map +1 -0
- package/dist/tools/docs-catalog/structure.d.ts +1 -1
- package/dist/tools/docs-catalog/structure.d.ts.map +1 -1
- package/dist/tools/docs-catalog/structure.js +4 -229
- package/dist/tools/docs-catalog/structure.js.map +1 -1
- package/dist/tools/docs-catalog/workflow-part01.d.ts +3 -0
- package/dist/tools/docs-catalog/workflow-part01.d.ts.map +1 -0
- package/dist/tools/docs-catalog/workflow-part01.js +124 -0
- package/dist/tools/docs-catalog/workflow-part01.js.map +1 -0
- package/dist/tools/docs-catalog/workflow-part02.d.ts +3 -0
- package/dist/tools/docs-catalog/workflow-part02.d.ts.map +1 -0
- package/dist/tools/docs-catalog/workflow-part02.js +115 -0
- package/dist/tools/docs-catalog/workflow-part02.js.map +1 -0
- package/dist/tools/docs-catalog/workflow.d.ts +1 -1
- package/dist/tools/docs-catalog/workflow.d.ts.map +1 -1
- package/dist/tools/docs-catalog/workflow.js +4 -233
- package/dist/tools/docs-catalog/workflow.js.map +1 -1
- package/dist/tools/docs.d.ts +1 -2
- package/dist/tools/docs.d.ts.map +1 -1
- package/dist/tools/docs.js +1 -289
- package/dist/tools/docs.js.map +1 -1
- package/dist/tools/docs.part01.d.ts +23 -0
- package/dist/tools/docs.part01.d.ts.map +1 -0
- package/dist/tools/docs.part01.js +65 -0
- package/dist/tools/docs.part01.js.map +1 -0
- package/dist/tools/docs.part02.d.ts +5 -0
- package/dist/tools/docs.part02.d.ts.map +1 -0
- package/dist/tools/docs.part02.js +106 -0
- package/dist/tools/docs.part02.js.map +1 -0
- package/dist/tools/docs.part04.d.ts +3 -0
- package/dist/tools/docs.part04.d.ts.map +1 -0
- package/dist/tools/docs.part04.js +126 -0
- package/dist/tools/docs.part04.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { numbers, strings, text } from './docs-values.js';
|
|
2
|
+
function records(value) {
|
|
3
|
+
return Array.isArray(value)
|
|
4
|
+
? value.filter((item) => (typeof item === 'object' && item !== null && !Array.isArray(item)))
|
|
5
|
+
: [];
|
|
6
|
+
}
|
|
7
|
+
function guidedFlowStepStatus(value) {
|
|
8
|
+
return value === 'complete' || value === 'current' || value === 'pending' ? value : undefined;
|
|
9
|
+
}
|
|
10
|
+
function docsGuidedFlowOptions(args) {
|
|
11
|
+
return {
|
|
12
|
+
title: text(args['title'], 'Guided flow'),
|
|
13
|
+
label: text(args['label']),
|
|
14
|
+
summary: text(args['summary']),
|
|
15
|
+
metadata: strings(args['metadata']),
|
|
16
|
+
steps: records(args['steps']).map((step) => ({
|
|
17
|
+
title: text(step['title'], 'Step'),
|
|
18
|
+
detail: text(step['detail']),
|
|
19
|
+
status: guidedFlowStepStatus(step['status']),
|
|
20
|
+
})),
|
|
21
|
+
sections: records(args['sections']).map((section) => ({
|
|
22
|
+
title: text(section['title'], 'Section'),
|
|
23
|
+
content: text(section['content']),
|
|
24
|
+
tone: section['tone'] === 'muted' ? 'muted' : 'normal',
|
|
25
|
+
})),
|
|
26
|
+
nextAction: text(args['nextAction']),
|
|
27
|
+
nextActionLabel: text(args['nextActionLabel']),
|
|
28
|
+
width: Number(args['width'] ?? 48),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function preferenceRowKind(value) {
|
|
32
|
+
return value === 'toggle' || value === 'choice' || value === 'info' || value === 'action'
|
|
33
|
+
? value
|
|
34
|
+
: undefined;
|
|
35
|
+
}
|
|
36
|
+
function docsPreferenceRows(value) {
|
|
37
|
+
return records(value).map((row, rowIndex) => {
|
|
38
|
+
const kind = preferenceRowKind(row['kind']);
|
|
39
|
+
return {
|
|
40
|
+
id: text(row['id'], `row-${String(rowIndex)}`),
|
|
41
|
+
label: text(row['label'], 'Setting'),
|
|
42
|
+
description: text(row['description']),
|
|
43
|
+
valueLabel: text(row['valueLabel']),
|
|
44
|
+
checked: row['checked'] === true,
|
|
45
|
+
enabled: row['enabled'] !== false,
|
|
46
|
+
...(kind === undefined ? {} : { kind }),
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function docsPreferenceSections(value) {
|
|
51
|
+
return records(value).map((section, sectionIndex) => ({
|
|
52
|
+
id: text(section['id'], `section-${String(sectionIndex)}`),
|
|
53
|
+
title: text(section['title'], 'Settings'),
|
|
54
|
+
rows: docsPreferenceRows(section['rows']),
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
function docsStatsPanelEntries(value) {
|
|
58
|
+
return records(value).map((entry) => ({
|
|
59
|
+
label: text(entry['label'], 'metric'),
|
|
60
|
+
value: text(entry['value']),
|
|
61
|
+
sparkline: numbers(entry['sparkline']),
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
export { docsGuidedFlowOptions, docsPreferenceSections, docsStatsPanelEntries };
|
|
65
|
+
//# sourceMappingURL=docs.part01.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.part01.js","sourceRoot":"","sources":["../../src/tools/docs.part01.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DocsOnlyExampleRenderer } from './docs.part01.js';
|
|
2
|
+
declare const DOCS_ONLY_EXAMPLE_RENDERERS: Readonly<Record<string, DocsOnlyExampleRenderer>>;
|
|
3
|
+
declare function normalizeDocsTerm(value: string): string;
|
|
4
|
+
export { DOCS_ONLY_EXAMPLE_RENDERERS, normalizeDocsTerm };
|
|
5
|
+
//# sourceMappingURL=docs.part02.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.part02.d.ts","sourceRoot":"","sources":["../../src/tools/docs.part02.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,QAAA,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CA8GlF,CAAC;AAEF,iBAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { brailleChartSurface, guidedFlow, markdown, perfOverlaySurface, preferenceListSurface, sparkline, spinnerFrame, statsPanelSurface, stripAnsi, surfaceToString, timer } from '@flyingrobots/bijou';
|
|
2
|
+
import { plainStyle } from '@flyingrobots/bijou/adapters/test';
|
|
3
|
+
import { mcpContext } from '../context.js';
|
|
4
|
+
import { numbers, strings, text } from './docs-values.js';
|
|
5
|
+
import { docsGuidedFlowOptions, docsPreferenceSections, docsStatsPanelEntries } from './docs.part01.js';
|
|
6
|
+
const DOCS_ONLY_EXAMPLE_RENDERERS = {
|
|
7
|
+
bijou_markdown: (args) => stripAnsi(markdown(text(args['source']), {
|
|
8
|
+
width: typeof args['width'] === 'number' ? args['width'] : undefined,
|
|
9
|
+
ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
|
|
10
|
+
})),
|
|
11
|
+
bijou_note: (args) => {
|
|
12
|
+
const title = typeof args['title'] === 'string' ? args['title'] : undefined;
|
|
13
|
+
const message = text(args['message']);
|
|
14
|
+
return title ? `Note (${title}): ${message}` : `Note: ${message}`;
|
|
15
|
+
},
|
|
16
|
+
bijou_guided_flow: (args) => stripAnsi(guidedFlow({
|
|
17
|
+
...docsGuidedFlowOptions(args),
|
|
18
|
+
ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
|
|
19
|
+
})),
|
|
20
|
+
bijou_preference_list: (args) => surfaceToString(preferenceListSurface(docsPreferenceSections(args['sections']), {
|
|
21
|
+
width: Number(args['width'] ?? 40),
|
|
22
|
+
selectedRowId: typeof args['selectedRowId'] === 'string' ? args['selectedRowId'] : undefined,
|
|
23
|
+
ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
|
|
24
|
+
}), plainStyle()),
|
|
25
|
+
bijou_text_entry: (args) => {
|
|
26
|
+
const inputTitle = text(args['inputTitle'], 'Cluster name');
|
|
27
|
+
const inputDefault = text(args['inputDefault']);
|
|
28
|
+
const textareaTitle = text(args['textareaTitle'], 'Details');
|
|
29
|
+
const textareaValue = text(args['textareaValue']);
|
|
30
|
+
return `${inputTitle}? [${inputDefault}]\n${textareaTitle}?\n${textareaValue}`;
|
|
31
|
+
},
|
|
32
|
+
bijou_single_choice: (args) => {
|
|
33
|
+
const title = text(args['title'], 'Select one');
|
|
34
|
+
const options = strings(args['options']);
|
|
35
|
+
const selected = text(args['selected'], options[0] ?? '');
|
|
36
|
+
const numbered = options.map((option, index) => `${String(index + 1)}. ${option}`).join('\n');
|
|
37
|
+
const selectedIndex = Math.max(options.findIndex((option) => option === selected), 0) + 1;
|
|
38
|
+
return `${title}?\n${numbered}\n> ${String(selectedIndex)}\nSelected: ${selected}`;
|
|
39
|
+
},
|
|
40
|
+
bijou_multiple_choice: (args) => {
|
|
41
|
+
const title = text(args['title'], 'Select one or more');
|
|
42
|
+
const options = strings(args['options']);
|
|
43
|
+
const selected = new Set(strings(args['selected']));
|
|
44
|
+
const lines = options.map((option) => `[${selected.has(option) ? 'x' : ' '}] ${option}`);
|
|
45
|
+
return `${title}?\n${lines.join('\n')}\nSelected: ${Array.from(selected).join(', ')}`;
|
|
46
|
+
},
|
|
47
|
+
bijou_binary_decision: (args) => {
|
|
48
|
+
const title = text(args['title'], 'Continue');
|
|
49
|
+
const defaultValue = args['defaultValue'] === false ? '[y/N]' : '[Y/n]';
|
|
50
|
+
const answer = text(args['answer']);
|
|
51
|
+
return `${title}? ${defaultValue}\n> ${answer}`;
|
|
52
|
+
},
|
|
53
|
+
bijou_multi_field_forms: (args) => {
|
|
54
|
+
const stepLabel = text(args['stepLabel'], 'Step 1 of 1');
|
|
55
|
+
const stepTitle = text(args['stepTitle'], 'Details');
|
|
56
|
+
const fields = strings(args['fields']);
|
|
57
|
+
return `${stepLabel}: ${stepTitle}\n${fields.join('\n')}`;
|
|
58
|
+
},
|
|
59
|
+
bijou_spinner: (args) => spinnerFrame(Number(args['tick'] ?? 0), {
|
|
60
|
+
label: typeof args['label'] === 'string' ? args['label'] : undefined,
|
|
61
|
+
}),
|
|
62
|
+
bijou_timer: (args) => stripAnsi(timer(Number(args['ms'] ?? 0), {
|
|
63
|
+
label: typeof args['label'] === 'string' ? args['label'] : undefined,
|
|
64
|
+
ctx: mcpContext(),
|
|
65
|
+
})),
|
|
66
|
+
bijou_sparkline: (args) => sparkline(numbers(args['values']), { width: typeof args['width'] === 'number' ? args['width'] : undefined }),
|
|
67
|
+
bijou_braille_chart: (args) => surfaceToString(brailleChartSurface(numbers(args['values']), {
|
|
68
|
+
width: Number(args['width'] ?? 0),
|
|
69
|
+
height: Number(args['height'] ?? 0),
|
|
70
|
+
ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
|
|
71
|
+
}), plainStyle()),
|
|
72
|
+
bijou_stats_panel: (args) => surfaceToString(statsPanelSurface(docsStatsPanelEntries(args['entries']), {
|
|
73
|
+
title: typeof args['title'] === 'string' ? args['title'] : undefined,
|
|
74
|
+
width: Number(args['width'] ?? 28),
|
|
75
|
+
ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
|
|
76
|
+
}), plainStyle()),
|
|
77
|
+
bijou_perf_overlay: (args) => surfaceToString(perfOverlaySurface({
|
|
78
|
+
fps: Number(args['fps'] ?? 0),
|
|
79
|
+
frameTimeMs: Number(args['frameTimeMs'] ?? 0),
|
|
80
|
+
frameTimeHistory: numbers(args['frameTimeHistory']),
|
|
81
|
+
width: Number(args['width'] ?? 80),
|
|
82
|
+
height: Number(args['height'] ?? 24),
|
|
83
|
+
}, {
|
|
84
|
+
title: typeof args['title'] === 'string' ? args['title'] : undefined,
|
|
85
|
+
ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
|
|
86
|
+
}), plainStyle()),
|
|
87
|
+
bijou_branding: (args) => {
|
|
88
|
+
const logo = text(args['logo'], 'BIJOU');
|
|
89
|
+
const headline = text(args['headline']);
|
|
90
|
+
return `${logo}\n${headline}`.trimEnd();
|
|
91
|
+
},
|
|
92
|
+
bijou_mode_aware_authoring: (args) => {
|
|
93
|
+
const semanticThing = text(args['semanticThing'], 'semantic thing');
|
|
94
|
+
return [
|
|
95
|
+
`${semanticThing}:`,
|
|
96
|
+
`interactive -> ${text(args['interactive'], '[rich output]')}`,
|
|
97
|
+
`pipe -> ${text(args['pipe'], 'plain fallback')}`,
|
|
98
|
+
`accessible -> ${text(args['accessible'], 'explicit reading-order fallback')}`,
|
|
99
|
+
].join('\n');
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
function normalizeDocsTerm(value) {
|
|
103
|
+
return value.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
|
|
104
|
+
}
|
|
105
|
+
export { DOCS_ONLY_EXAMPLE_RENDERERS, normalizeDocsTerm };
|
|
106
|
+
//# sourceMappingURL=docs.part02.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.part02.js","sourceRoot":"","sources":["../../src/tools/docs.part02.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.part04.d.ts","sourceRoot":"","sources":["../../src/tools/docs.part04.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,aAAa,CAAC;AAgDhE,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,gBAAgB,CAsFnF"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { buildStructuredToolResult, structuredToolOutputShape, withOutputMode } from '../output.js';
|
|
3
|
+
import { DEFAULT_DOCS_ONLY_INTERACTION_PROFILES, DEFAULT_INTERACTION_PROFILES, MCP_DOCS_CATALOG } from './docs-catalog/index.js';
|
|
4
|
+
import { DOCS_ONLY_EXAMPLE_RENDERERS, normalizeDocsTerm } from './docs.part02.js';
|
|
5
|
+
function scoreDocsEntry(entry, normalizedQuery) {
|
|
6
|
+
if (normalizedQuery === '')
|
|
7
|
+
return 1;
|
|
8
|
+
const primaryFields = [
|
|
9
|
+
entry.toolName,
|
|
10
|
+
entry.family,
|
|
11
|
+
entry.category,
|
|
12
|
+
...entry.aliases,
|
|
13
|
+
].map(normalizeDocsTerm);
|
|
14
|
+
const secondaryFields = [
|
|
15
|
+
entry.summary,
|
|
16
|
+
...entry.related,
|
|
17
|
+
].map(normalizeDocsTerm);
|
|
18
|
+
if (primaryFields.some(value => value === normalizedQuery))
|
|
19
|
+
return 100;
|
|
20
|
+
if (primaryFields.some(value => value.startsWith(normalizedQuery)))
|
|
21
|
+
return 80;
|
|
22
|
+
let score = primaryFields.some(value => value.includes(normalizedQuery)) ? 40 : 0;
|
|
23
|
+
if (secondaryFields.some(value => value === normalizedQuery))
|
|
24
|
+
score += 20;
|
|
25
|
+
if (secondaryFields.some(value => value.includes(normalizedQuery)))
|
|
26
|
+
score += 10;
|
|
27
|
+
const tokens = normalizedQuery.split(/\s+/).filter(Boolean);
|
|
28
|
+
for (const token of tokens) {
|
|
29
|
+
if (primaryFields.some(value => value.includes(token)))
|
|
30
|
+
score += 10;
|
|
31
|
+
else if (secondaryFields.some(value => value.includes(token)))
|
|
32
|
+
score += 4;
|
|
33
|
+
}
|
|
34
|
+
return score;
|
|
35
|
+
}
|
|
36
|
+
function exampleText(result) {
|
|
37
|
+
return result.content[0]?.text
|
|
38
|
+
?? (typeof result.structuredContent?.['rendered'] === 'string'
|
|
39
|
+
? result.structuredContent['rendered']
|
|
40
|
+
: '');
|
|
41
|
+
}
|
|
42
|
+
function resolvedInteractionProfiles(entry, mcpExposed) {
|
|
43
|
+
return {
|
|
44
|
+
...(mcpExposed ? DEFAULT_INTERACTION_PROFILES : DEFAULT_DOCS_ONLY_INTERACTION_PROFILES),
|
|
45
|
+
...entry.interactionProfiles,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export function createDocsTool(tools) {
|
|
49
|
+
const toolMap = new Map(tools.map(tool => [tool.name, tool]));
|
|
50
|
+
const documentedEntries = MCP_DOCS_CATALOG.map((entry) => {
|
|
51
|
+
const tool = toolMap.get(entry.toolName);
|
|
52
|
+
const docsOnlyRenderer = DOCS_ONLY_EXAMPLE_RENDERERS[entry.toolName];
|
|
53
|
+
if (tool === undefined && docsOnlyRenderer === undefined) {
|
|
54
|
+
throw new Error(`[bijou-mcp] bijou_docs catalog entry "${entry.toolName}" has no matching tool registration or docs-only example renderer`);
|
|
55
|
+
}
|
|
56
|
+
return { entry, tool, docsOnlyRenderer, mcpExposed: tool !== undefined };
|
|
57
|
+
});
|
|
58
|
+
const inputShape = withOutputMode({
|
|
59
|
+
query: z.string().optional().describe('Tool or component query (for example "table", "dag", or "progress").'),
|
|
60
|
+
limit: z.number().int().positive().max(50).optional().describe('Maximum number of entries to return.'),
|
|
61
|
+
includeExamples: z.boolean().optional().describe('Include rendered example output and sample input for the returned entries. Defaults to true when the result set is small.'),
|
|
62
|
+
});
|
|
63
|
+
const inputSchema = z.object(inputShape);
|
|
64
|
+
return {
|
|
65
|
+
name: 'bijou_docs',
|
|
66
|
+
description: 'Query machine-readable docs for bijou-mcp render tools and public first-party Bijou component families, including docs-only families before dedicated MCP renderers exist. Returns usage guidance, interaction profiles, related tools, sample input, and optional rendered example output.',
|
|
67
|
+
inputSchema: inputShape,
|
|
68
|
+
outputSchema: structuredToolOutputShape,
|
|
69
|
+
handler: async (args) => {
|
|
70
|
+
const input = inputSchema.parse(args);
|
|
71
|
+
const normalizedQuery = normalizeDocsTerm(input.query ?? '');
|
|
72
|
+
const ranked = documentedEntries
|
|
73
|
+
.map(({ entry, tool, docsOnlyRenderer, mcpExposed }) => ({
|
|
74
|
+
entry,
|
|
75
|
+
tool,
|
|
76
|
+
docsOnlyRenderer,
|
|
77
|
+
mcpExposed,
|
|
78
|
+
score: scoreDocsEntry(entry, normalizedQuery),
|
|
79
|
+
}))
|
|
80
|
+
.filter(({ score }) => normalizedQuery === '' || score > 0)
|
|
81
|
+
.sort((a, b) => b.score - a.score || a.entry.family.localeCompare(b.entry.family));
|
|
82
|
+
const limit = input.limit ?? (normalizedQuery === '' ? ranked.length : 3);
|
|
83
|
+
const selected = ranked.slice(0, limit);
|
|
84
|
+
const includeExamples = input.includeExamples ?? normalizedQuery !== '';
|
|
85
|
+
const entries = await Promise.all(selected.map(async ({ entry, tool, docsOnlyRenderer, mcpExposed }) => {
|
|
86
|
+
const result = {
|
|
87
|
+
tool: entry.toolName,
|
|
88
|
+
mcpExposed,
|
|
89
|
+
family: entry.family,
|
|
90
|
+
category: entry.category,
|
|
91
|
+
summary: entry.summary,
|
|
92
|
+
useWhen: entry.useWhen,
|
|
93
|
+
avoidWhen: entry.avoidWhen,
|
|
94
|
+
interactionProfiles: resolvedInteractionProfiles(entry, mcpExposed),
|
|
95
|
+
related: entry.related,
|
|
96
|
+
aliases: entry.aliases,
|
|
97
|
+
};
|
|
98
|
+
if (entry.exampleArgs !== undefined) {
|
|
99
|
+
result.exampleInput = entry.exampleArgs;
|
|
100
|
+
}
|
|
101
|
+
if (includeExamples && entry.exampleArgs !== undefined) {
|
|
102
|
+
if (tool !== undefined) {
|
|
103
|
+
result.exampleOutput = exampleText(await tool.handler(entry.exampleArgs));
|
|
104
|
+
}
|
|
105
|
+
else if (docsOnlyRenderer !== undefined) {
|
|
106
|
+
result.exampleOutput = docsOnlyRenderer(entry.exampleArgs);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return result;
|
|
110
|
+
}));
|
|
111
|
+
const payload = {
|
|
112
|
+
scope: 'bijou-mcp',
|
|
113
|
+
note: 'This catalog covers the current bijou-mcp render-tool surface plus the public first-party Bijou component-family surface, including docs-only families that are documented here before they gain dedicated MCP render tools. Broader DOGFOOD-level field-guide extraction remains future expansion.',
|
|
114
|
+
documentedEntries: documentedEntries.length,
|
|
115
|
+
documentedTools: documentedEntries.filter(({ mcpExposed }) => mcpExposed).length,
|
|
116
|
+
docsOnlyEntries: documentedEntries.filter(({ mcpExposed }) => !mcpExposed).length,
|
|
117
|
+
returnedEntries: entries.length,
|
|
118
|
+
query: input.query ?? null,
|
|
119
|
+
includeExamples,
|
|
120
|
+
entries,
|
|
121
|
+
};
|
|
122
|
+
return buildStructuredToolResult(JSON.stringify(payload, null, 2), payload, input.output ?? 'text');
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=docs.part04.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.part04.js","sourceRoot":"","sources":["../../src/tools/docs.part04.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flyingrobots/bijou-mcp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0-rc.1",
|
|
4
4
|
"description": "MCP server exposing Bijou terminal components as rendering tools.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"zod": "^3.24.0"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@flyingrobots/bijou": "
|
|
35
|
+
"@flyingrobots/bijou": "8.0.0-rc.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^22.0.0",
|