@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.
Files changed (69) hide show
  1. package/dist/tools/docs-catalog/authoring-part01.d.ts +3 -0
  2. package/dist/tools/docs-catalog/authoring-part01.d.ts.map +1 -0
  3. package/dist/tools/docs-catalog/authoring-part01.js +141 -0
  4. package/dist/tools/docs-catalog/authoring-part01.js.map +1 -0
  5. package/dist/tools/docs-catalog/authoring-part02.d.ts +3 -0
  6. package/dist/tools/docs-catalog/authoring-part02.d.ts.map +1 -0
  7. package/dist/tools/docs-catalog/authoring-part02.js +135 -0
  8. package/dist/tools/docs-catalog/authoring-part02.js.map +1 -0
  9. package/dist/tools/docs-catalog/authoring.d.ts +1 -1
  10. package/dist/tools/docs-catalog/authoring.d.ts.map +1 -1
  11. package/dist/tools/docs-catalog/authoring.js +4 -233
  12. package/dist/tools/docs-catalog/authoring.js.map +1 -1
  13. package/dist/tools/docs-catalog/motion-authoring.d.ts +3 -0
  14. package/dist/tools/docs-catalog/motion-authoring.d.ts.map +1 -0
  15. package/dist/tools/docs-catalog/motion-authoring.js +50 -0
  16. package/dist/tools/docs-catalog/motion-authoring.js.map +1 -0
  17. package/dist/tools/docs-catalog/motion-feedback.d.ts +3 -0
  18. package/dist/tools/docs-catalog/motion-feedback.d.ts.map +1 -0
  19. package/dist/tools/docs-catalog/motion-feedback.js +47 -0
  20. package/dist/tools/docs-catalog/motion-feedback.js.map +1 -0
  21. package/dist/tools/docs-catalog/motion-visualization.d.ts +3 -0
  22. package/dist/tools/docs-catalog/motion-visualization.d.ts.map +1 -0
  23. package/dist/tools/docs-catalog/motion-visualization.js +105 -0
  24. package/dist/tools/docs-catalog/motion-visualization.js.map +1 -0
  25. package/dist/tools/docs-catalog/motion.d.ts +1 -1
  26. package/dist/tools/docs-catalog/motion.d.ts.map +1 -1
  27. package/dist/tools/docs-catalog/motion.js +6 -171
  28. package/dist/tools/docs-catalog/motion.js.map +1 -1
  29. package/dist/tools/docs-catalog/structure-part01.d.ts +3 -0
  30. package/dist/tools/docs-catalog/structure-part01.d.ts.map +1 -0
  31. package/dist/tools/docs-catalog/structure-part01.js +135 -0
  32. package/dist/tools/docs-catalog/structure-part01.js.map +1 -0
  33. package/dist/tools/docs-catalog/structure-part02.d.ts +3 -0
  34. package/dist/tools/docs-catalog/structure-part02.d.ts.map +1 -0
  35. package/dist/tools/docs-catalog/structure-part02.js +103 -0
  36. package/dist/tools/docs-catalog/structure-part02.js.map +1 -0
  37. package/dist/tools/docs-catalog/structure.d.ts +1 -1
  38. package/dist/tools/docs-catalog/structure.d.ts.map +1 -1
  39. package/dist/tools/docs-catalog/structure.js +4 -229
  40. package/dist/tools/docs-catalog/structure.js.map +1 -1
  41. package/dist/tools/docs-catalog/workflow-part01.d.ts +3 -0
  42. package/dist/tools/docs-catalog/workflow-part01.d.ts.map +1 -0
  43. package/dist/tools/docs-catalog/workflow-part01.js +124 -0
  44. package/dist/tools/docs-catalog/workflow-part01.js.map +1 -0
  45. package/dist/tools/docs-catalog/workflow-part02.d.ts +3 -0
  46. package/dist/tools/docs-catalog/workflow-part02.d.ts.map +1 -0
  47. package/dist/tools/docs-catalog/workflow-part02.js +115 -0
  48. package/dist/tools/docs-catalog/workflow-part02.js.map +1 -0
  49. package/dist/tools/docs-catalog/workflow.d.ts +1 -1
  50. package/dist/tools/docs-catalog/workflow.d.ts.map +1 -1
  51. package/dist/tools/docs-catalog/workflow.js +4 -233
  52. package/dist/tools/docs-catalog/workflow.js.map +1 -1
  53. package/dist/tools/docs.d.ts +1 -2
  54. package/dist/tools/docs.d.ts.map +1 -1
  55. package/dist/tools/docs.js +1 -289
  56. package/dist/tools/docs.js.map +1 -1
  57. package/dist/tools/docs.part01.d.ts +23 -0
  58. package/dist/tools/docs.part01.d.ts.map +1 -0
  59. package/dist/tools/docs.part01.js +65 -0
  60. package/dist/tools/docs.part01.js.map +1 -0
  61. package/dist/tools/docs.part02.d.ts +5 -0
  62. package/dist/tools/docs.part02.d.ts.map +1 -0
  63. package/dist/tools/docs.part02.js +106 -0
  64. package/dist/tools/docs.part02.js.map +1 -0
  65. package/dist/tools/docs.part04.d.ts +3 -0
  66. package/dist/tools/docs.part04.d.ts.map +1 -0
  67. package/dist/tools/docs.part04.js +126 -0
  68. package/dist/tools/docs.part04.js.map +1 -0
  69. 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":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAoB1D,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAA6C,EAAE,CAAC,CAClE,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAClE,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAChG,CAAC;AAED,SAAS,qBAAqB,CAAC,IAA6B;IAC1D,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;QACzC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC;YAC3D,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAClC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7C,CAAC,CAAC;QACH,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,CAAC;YACvE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;SACvD,CAAC,CAAC;QACH,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ;QACvF,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;YACpC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACrC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACnC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI;YAChC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK;YACjC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SACxC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QACpD,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1D,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;QACzC,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KAC1C,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;QACrC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KACvC,CAAC,CAAC,CAAC;AACN,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -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,3 @@
1
+ import type { ToolRegistration } from '../types.js';
2
+ export declare function createDocsTool(tools: readonly ToolRegistration[]): ToolRegistration;
3
+ //# sourceMappingURL=docs.part04.d.ts.map
@@ -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": "7.2.0",
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": "7.2.0"
35
+ "@flyingrobots/bijou": "8.0.0-rc.1"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "^22.0.0",