@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
@@ -1,236 +1,7 @@
1
+ import { WORKFLOW_DOCS_CATALOG_PART_01 } from "./workflow-part01.js";
2
+ import { WORKFLOW_DOCS_CATALOG_PART_02 } from "./workflow-part02.js";
1
3
  export const WORKFLOW_DOCS_CATALOG = [
2
- {
3
- toolName: 'bijou_stepper',
4
- family: 'stepper()',
5
- category: 'Feedback and Status',
6
- summary: 'Horizontal step-progress indicator with completed and active states.',
7
- aliases: ['stepper', 'steps', 'wizard progress', 'workflow'],
8
- useWhen: [
9
- 'The process has named sequential stages.',
10
- 'You want to show both completed and upcoming steps.',
11
- ],
12
- avoidWhen: [
13
- 'The flow branches or loops like a graph.',
14
- 'Only a raw percentage matters.',
15
- ],
16
- related: ['timeline()', 'progressBar()', 'tabs()'],
17
- exampleArgs: {
18
- steps: [{ label: 'Build' }, { label: 'Test' }, { label: 'Deploy' }],
19
- current: 1,
20
- },
21
- },
22
- {
23
- toolName: 'bijou_timeline',
24
- family: 'timeline()',
25
- category: 'Feedback and Status',
26
- summary: 'Vertical sequence of timestamp-like events with status markers.',
27
- aliases: ['timeline', 'history', 'event stream', 'chronology'],
28
- useWhen: [
29
- 'Order over time is the main story.',
30
- 'Each event needs a short label and optional detail.',
31
- ],
32
- avoidWhen: [
33
- 'The relationship is graph-shaped rather than sequential.',
34
- 'You only need the current step, not the event history.',
35
- ],
36
- related: ['stepper()', 'log()', 'dag()'],
37
- exampleArgs: {
38
- events: [
39
- { label: 'Build', status: 'success' },
40
- { label: 'Deploy', description: 'Canary 25%', status: 'active' },
41
- ],
42
- },
43
- },
44
- {
45
- toolName: 'bijou_log',
46
- family: 'log()',
47
- category: 'Feedback and Status',
48
- summary: 'Single structured log line with severity treatment.',
49
- aliases: ['log', 'log line', 'event', 'status line'],
50
- useWhen: [
51
- 'You need terse operational events.',
52
- 'Severity should be visible without a full alert box.',
53
- ],
54
- avoidWhen: [
55
- 'The message needs explanation, evidence, or grouped detail.',
56
- 'You are rendering a multi-row history rather than one event.',
57
- ],
58
- related: ['timeline()', 'alert()', 'badge()'],
59
- exampleArgs: {
60
- level: 'info',
61
- message: 'Deployment completed.',
62
- },
63
- },
64
- {
65
- toolName: 'bijou_badge',
66
- family: 'badge()',
67
- category: 'Feedback and Status',
68
- summary: 'Compact inline status pill.',
69
- aliases: ['badge', 'pill', 'status chip', 'label'],
70
- useWhen: [
71
- 'A short state label should stay inline with surrounding content.',
72
- 'You need low-chrome categorical emphasis.',
73
- ],
74
- avoidWhen: [
75
- 'The message needs body text or explanation.',
76
- 'The state changes over time and deserves a richer progress surface.',
77
- ],
78
- related: ['alert()', 'log()', 'progressBar()'],
79
- exampleArgs: {
80
- text: 'LIVE',
81
- variant: 'success',
82
- },
83
- },
84
- {
85
- toolName: 'bijou_tabs',
86
- family: 'tabs()',
87
- category: 'Navigation',
88
- summary: 'Horizontal section switcher with one active tab.',
89
- aliases: ['tabs', 'tab bar', 'sections', 'navigation tabs'],
90
- useWhen: [
91
- 'People switch between peer views or sections.',
92
- 'One active choice should be visible at a glance.',
93
- ],
94
- avoidWhen: [
95
- 'The choices are sequential workflow steps.',
96
- 'The navigation is path-like rather than peer-to-peer.',
97
- ],
98
- related: ['breadcrumb()', 'paginator()', 'stepper()'],
99
- exampleArgs: {
100
- items: [{ label: 'Overview' }, { label: 'Logs' }, { label: 'Settings' }],
101
- active: 1,
102
- },
103
- },
104
- {
105
- toolName: 'bijou_breadcrumb',
106
- family: 'breadcrumb()',
107
- category: 'Navigation',
108
- summary: 'Path trail showing where the current surface sits inside a hierarchy.',
109
- aliases: ['breadcrumb', 'path', 'location trail'],
110
- useWhen: [
111
- 'Location context matters more than peer switching.',
112
- 'You need to show depth inside a hierarchy.',
113
- ],
114
- avoidWhen: [
115
- 'Users choose between peer views rather than nested locations.',
116
- 'The hierarchy is dense enough to need a tree.',
117
- ],
118
- related: ['tabs()', 'tree()', 'paginator()'],
119
- exampleArgs: {
120
- items: ['Home', 'Docs', 'API'],
121
- },
122
- },
123
- {
124
- toolName: 'bijou_paginator',
125
- family: 'paginator()',
126
- category: 'Navigation',
127
- summary: 'Compact indicator for current page or viewport position.',
128
- aliases: ['paginator', 'pagination', 'page indicator', 'page dots'],
129
- useWhen: [
130
- 'The user needs lightweight position awareness across pages.',
131
- 'Full tabs or breadcrumbs would be too heavy for the surface.',
132
- ],
133
- avoidWhen: [
134
- 'Page labels matter more than page count.',
135
- 'The navigation is hierarchical rather than sequential.',
136
- ],
137
- related: ['tabs()', 'breadcrumb()', 'stepper()'],
138
- exampleArgs: {
139
- current: 2,
140
- total: 5,
141
- style: 'dots',
142
- },
143
- },
144
- {
145
- toolName: 'bijou_explainability',
146
- family: 'explainability()',
147
- category: 'Rich Panels',
148
- summary: 'Decision card with rationale, evidence, confidence, and next action.',
149
- aliases: ['explainability', 'explanation', 'decision card', 'ai rationale'],
150
- useWhen: [
151
- 'A recommendation or decision needs supporting evidence.',
152
- 'You want the reader to audit reasoning, not just accept output.',
153
- ],
154
- avoidWhen: [
155
- 'The content is simple status or prose without structured rationale.',
156
- 'A generic box or inspector already carries enough context.',
157
- ],
158
- related: ['inspector()', 'alert()', 'note()'],
159
- exampleArgs: {
160
- title: 'Choose table()',
161
- label: 'Recommendation',
162
- rationale: 'The data is rectangular and the reader needs aligned field comparison.',
163
- evidence: [
164
- { label: 'Shape', value: 'rows × columns' },
165
- { label: 'Need', value: 'compare values side by side' },
166
- ],
167
- confidence: 'high',
168
- },
169
- },
170
- {
171
- toolName: 'bijou_inspector',
172
- family: 'inspector()',
173
- category: 'Rich Panels',
174
- summary: 'Detail panel with a primary value and structured supporting sections.',
175
- aliases: ['inspector', 'detail panel', 'detail view', 'property panel'],
176
- useWhen: [
177
- 'A single object or resource needs focused inspection.',
178
- 'You need a primary value plus labeled supporting sections.',
179
- ],
180
- avoidWhen: [
181
- 'The content is really an alert or recommendation.',
182
- 'A flat table or list is enough.',
183
- ],
184
- related: ['explainability()', 'box()', 'headerBox()'],
185
- exampleArgs: {
186
- title: 'Service',
187
- currentValue: 'healthy',
188
- currentValueLabel: 'Status',
189
- supportingText: 'us-west-2',
190
- supportingTextLabel: 'Region',
191
- sections: [{ title: 'Deploy', content: 'Canary complete.' }],
192
- },
193
- },
194
- {
195
- toolName: 'bijou_accordion',
196
- family: 'accordion()',
197
- category: 'Rich Panels',
198
- summary: 'Collapsible sections for progressive disclosure.',
199
- aliases: ['accordion', 'collapsible', 'disclosure', 'expand/collapse'],
200
- useWhen: [
201
- 'Not every section should be open at once.',
202
- 'The reader benefits from progressive disclosure.',
203
- ],
204
- avoidWhen: [
205
- 'Everything should remain visible together for comparison.',
206
- 'The user is switching peer views rather than expanding sections.',
207
- ],
208
- related: ['tabs()', 'inspector()', 'box()'],
209
- exampleArgs: {
210
- sections: [
211
- { title: 'Deploy', content: 'Roll canaries to 25%.', expanded: true },
212
- { title: 'Rollback', content: 'Restore the previous stable build.' },
213
- ],
214
- },
215
- },
216
- {
217
- toolName: 'bijou_kbd',
218
- family: 'kbd()',
219
- category: 'Utility',
220
- summary: 'Keyboard keycap renderer for inline shortcut hints.',
221
- aliases: ['kbd', 'keycap', 'shortcut key', 'keyboard hint'],
222
- useWhen: [
223
- 'You need to show a shortcut inline.',
224
- 'The key label should read like UI chrome rather than plain prose.',
225
- ],
226
- avoidWhen: [
227
- 'The shortcut is incidental and plain text is enough.',
228
- 'You need a full help table rather than one key hint.',
229
- ],
230
- related: ['hyperlink()', 'badge()', 'tabs()'],
231
- exampleArgs: {
232
- key: 'Ctrl+P',
233
- },
234
- },
4
+ ...WORKFLOW_DOCS_CATALOG_PART_01,
5
+ ...WORKFLOW_DOCS_CATALOG_PART_02,
235
6
  ];
236
7
  //# sourceMappingURL=workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/tools/docs-catalog/workflow.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAoC;IACpE;QACE,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,sEAAsE;QAC/E,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,CAAC;QAC5D,OAAO,EAAE;YACP,0CAA0C;YAC1C,qDAAqD;SACtD;QACD,SAAS,EAAE;YACT,0CAA0C;YAC1C,gCAAgC;SACjC;QACD,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC;QAClD,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnE,OAAO,EAAE,CAAC;SACX;KACF;IACD;QACE,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,iEAAiE;QAC1E,OAAO,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,CAAC;QAC9D,OAAO,EAAE;YACP,oCAAoC;YACpC,qDAAqD;SACtD;QACD,SAAS,EAAE;YACT,0DAA0D;YAC1D,wDAAwD;SACzD;QACD,OAAO,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC;QACxC,WAAW,EAAE;YACX,MAAM,EAAE;gBACN,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE;gBACrC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE;aACjE;SACF;KACF;IACD;QACE,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,qDAAqD;QAC9D,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC;QACpD,OAAO,EAAE;YACP,oCAAoC;YACpC,sDAAsD;SACvD;QACD,SAAS,EAAE;YACT,6DAA6D;YAC7D,8DAA8D;SAC/D;QACD,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC;QAC7C,WAAW,EAAE;YACX,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,uBAAuB;SACjC;KACF;IACD;QACE,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,6BAA6B;QACtC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC;QAClD,OAAO,EAAE;YACP,kEAAkE;YAClE,2CAA2C;SAC5C;QACD,SAAS,EAAE;YACT,6CAA6C;YAC7C,qEAAqE;SACtE;QACD,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC;QAC9C,WAAW,EAAE;YACX,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,SAAS;SACnB;KACF;IACD;QACE,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,kDAAkD;QAC3D,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,CAAC;QAC3D,OAAO,EAAE;YACP,+CAA+C;YAC/C,kDAAkD;SACnD;QACD,SAAS,EAAE;YACT,4CAA4C;YAC5C,uDAAuD;SACxD;QACD,OAAO,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC;QACrD,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YACxE,MAAM,EAAE,CAAC;SACV;KACF;IACD;QACE,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,uEAAuE;QAChF,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,gBAAgB,CAAC;QACjD,OAAO,EAAE;YACP,oDAAoD;YACpD,4CAA4C;SAC7C;QACD,SAAS,EAAE;YACT,+DAA+D;YAC/D,+CAA+C;SAChD;QACD,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC;QAC5C,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;SAC/B;KACF;IACD;QACE,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,0DAA0D;QACnE,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,CAAC;QACnE,OAAO,EAAE;YACP,6DAA6D;YAC7D,8DAA8D;SAC/D;QACD,SAAS,EAAE;YACT,0CAA0C;YAC1C,wDAAwD;SACzD;QACD,OAAO,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC;QAChD,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,MAAM;SACd;KACF;IACD;QACE,QAAQ,EAAE,sBAAsB;QAChC,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,sEAAsE;QAC/E,OAAO,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC;QAC3E,OAAO,EAAE;YACP,yDAAyD;YACzD,iEAAiE;SAClE;QACD,SAAS,EAAE;YACT,qEAAqE;YACrE,4DAA4D;SAC7D;QACD,OAAO,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC7C,WAAW,EAAE;YACX,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,gBAAgB;YACvB,SAAS,EAAE,wEAAwE;YACnF,QAAQ,EAAE;gBACR,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAC3C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,6BAA6B,EAAE;aACxD;YACD,UAAU,EAAE,MAAM;SACnB;KACF;IACD;QACE,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,uEAAuE;QAChF,OAAO,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC;QACvE,OAAO,EAAE;YACP,uDAAuD;YACvD,4DAA4D;SAC7D;QACD,SAAS,EAAE;YACT,mDAAmD;YACnD,iCAAiC;SAClC;QACD,OAAO,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,aAAa,CAAC;QACrD,WAAW,EAAE;YACX,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,SAAS;YACvB,iBAAiB,EAAE,QAAQ;YAC3B,cAAc,EAAE,WAAW;YAC3B,mBAAmB,EAAE,QAAQ;YAC7B,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;SAC7D;KACF;IACD;QACE,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kDAAkD;QAC3D,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,CAAC;QACtE,OAAO,EAAE;YACP,2CAA2C;YAC3C,kDAAkD;SACnD;QACD,SAAS,EAAE;YACT,2DAA2D;YAC3D,kEAAkE;SACnE;QACD,OAAO,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC;QAC3C,WAAW,EAAE;YACX,QAAQ,EAAE;gBACR,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACrE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,oCAAoC,EAAE;aACrE;SACF;KACF;IACD;QACE,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,qDAAqD;QAC9D,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC;QAC3D,OAAO,EAAE;YACP,qCAAqC;YACrC,mEAAmE;SACpE;QACD,SAAS,EAAE;YACT,sDAAsD;YACtD,sDAAsD;SACvD;QACD,OAAO,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC7C,WAAW,EAAE;YACX,GAAG,EAAE,QAAQ;SACd;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/tools/docs-catalog/workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAErE,MAAM,CAAC,MAAM,qBAAqB,GAAoC;IACpE,GAAG,6BAA6B;IAChC,GAAG,6BAA6B;CACjC,CAAC"}
@@ -1,4 +1,3 @@
1
- import type { ToolRegistration } from '../types.js';
2
1
  export { MCP_DOCS_CATALOG } from './docs-catalog/index.js';
3
- export declare function createDocsTool(tools: readonly ToolRegistration[]): ToolRegistration;
2
+ export { createDocsTool } from './docs.part04.js';
4
3
  //# sourceMappingURL=docs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,aAAa,CAAC;AAUhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAuP3D,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,gBAAgB,CAsFnF"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,291 +1,3 @@
1
- import { z } from 'zod';
2
- import { brailleChartSurface, guidedFlow, markdown, perfOverlaySurface, preferenceListSurface, sparkline, spinnerFrame, statsPanelSurface, stripAnsi, surfaceToString, timer, } from '@flyingrobots/bijou';
3
- import { plainStyle } from '@flyingrobots/bijou/adapters/test';
4
- import { mcpContext } from '../context.js';
5
- import { buildStructuredToolResult, structuredToolOutputShape, withOutputMode, } from '../output.js';
6
- import { numbers, strings, text } from './docs-values.js';
7
- import { DEFAULT_DOCS_ONLY_INTERACTION_PROFILES, DEFAULT_INTERACTION_PROFILES, MCP_DOCS_CATALOG, } from './docs-catalog/index.js';
8
1
  export { MCP_DOCS_CATALOG } from './docs-catalog/index.js';
9
- const DOCS_ONLY_EXAMPLE_RENDERERS = {
10
- bijou_markdown: (args) => stripAnsi(markdown(text(args['source']), {
11
- width: typeof args['width'] === 'number' ? args['width'] : undefined,
12
- ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
13
- })),
14
- bijou_note: (args) => {
15
- const title = typeof args['title'] === 'string' ? args['title'] : undefined;
16
- const message = text(args['message']);
17
- return title ? `Note (${title}): ${message}` : `Note: ${message}`;
18
- },
19
- bijou_guided_flow: (args) => stripAnsi(guidedFlow({
20
- ...docsGuidedFlowOptions(args),
21
- ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
22
- })),
23
- bijou_preference_list: (args) => surfaceToString(preferenceListSurface(docsPreferenceSections(args['sections']), {
24
- width: Number(args['width'] ?? 40),
25
- selectedRowId: typeof args['selectedRowId'] === 'string' ? args['selectedRowId'] : undefined,
26
- ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
27
- }), plainStyle()),
28
- bijou_text_entry: (args) => {
29
- const inputTitle = text(args['inputTitle'], 'Cluster name');
30
- const inputDefault = text(args['inputDefault']);
31
- const textareaTitle = text(args['textareaTitle'], 'Details');
32
- const textareaValue = text(args['textareaValue']);
33
- return `${inputTitle}? [${inputDefault}]\n${textareaTitle}?\n${textareaValue}`;
34
- },
35
- bijou_single_choice: (args) => {
36
- const title = text(args['title'], 'Select one');
37
- const options = strings(args['options']);
38
- const selected = text(args['selected'], options[0] ?? '');
39
- const numbered = options.map((option, index) => `${String(index + 1)}. ${option}`).join('\n');
40
- const selectedIndex = Math.max(options.findIndex((option) => option === selected), 0) + 1;
41
- return `${title}?\n${numbered}\n> ${String(selectedIndex)}\nSelected: ${selected}`;
42
- },
43
- bijou_multiple_choice: (args) => {
44
- const title = text(args['title'], 'Select one or more');
45
- const options = strings(args['options']);
46
- const selected = new Set(strings(args['selected']));
47
- const lines = options.map((option) => `[${selected.has(option) ? 'x' : ' '}] ${option}`);
48
- return `${title}?\n${lines.join('\n')}\nSelected: ${Array.from(selected).join(', ')}`;
49
- },
50
- bijou_binary_decision: (args) => {
51
- const title = text(args['title'], 'Continue');
52
- const defaultValue = args['defaultValue'] === false ? '[y/N]' : '[Y/n]';
53
- const answer = text(args['answer']);
54
- return `${title}? ${defaultValue}\n> ${answer}`;
55
- },
56
- bijou_multi_field_forms: (args) => {
57
- const stepLabel = text(args['stepLabel'], 'Step 1 of 1');
58
- const stepTitle = text(args['stepTitle'], 'Details');
59
- const fields = strings(args['fields']);
60
- return `${stepLabel}: ${stepTitle}\n${fields.join('\n')}`;
61
- },
62
- bijou_spinner: (args) => spinnerFrame(Number(args['tick'] ?? 0), {
63
- label: typeof args['label'] === 'string' ? args['label'] : undefined,
64
- }),
65
- bijou_timer: (args) => stripAnsi(timer(Number(args['ms'] ?? 0), {
66
- label: typeof args['label'] === 'string' ? args['label'] : undefined,
67
- ctx: mcpContext(),
68
- })),
69
- bijou_sparkline: (args) => sparkline(numbers(args['values']), { width: typeof args['width'] === 'number' ? args['width'] : undefined }),
70
- bijou_braille_chart: (args) => surfaceToString(brailleChartSurface(numbers(args['values']), {
71
- width: Number(args['width'] ?? 0),
72
- height: Number(args['height'] ?? 0),
73
- ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
74
- }), plainStyle()),
75
- bijou_stats_panel: (args) => surfaceToString(statsPanelSurface(docsStatsPanelEntries(args['entries']), {
76
- title: typeof args['title'] === 'string' ? args['title'] : undefined,
77
- width: Number(args['width'] ?? 28),
78
- ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
79
- }), plainStyle()),
80
- bijou_perf_overlay: (args) => surfaceToString(perfOverlaySurface({
81
- fps: Number(args['fps'] ?? 0),
82
- frameTimeMs: Number(args['frameTimeMs'] ?? 0),
83
- frameTimeHistory: numbers(args['frameTimeHistory']),
84
- width: Number(args['width'] ?? 80),
85
- height: Number(args['height'] ?? 24),
86
- }, {
87
- title: typeof args['title'] === 'string' ? args['title'] : undefined,
88
- ctx: mcpContext(typeof args['width'] === 'number' ? args['width'] : undefined),
89
- }), plainStyle()),
90
- bijou_branding: (args) => {
91
- const logo = text(args['logo'], 'BIJOU');
92
- const headline = text(args['headline']);
93
- return `${logo}\n${headline}`.trimEnd();
94
- },
95
- bijou_mode_aware_authoring: (args) => {
96
- const semanticThing = text(args['semanticThing'], 'semantic thing');
97
- return [
98
- `${semanticThing}:`,
99
- `interactive -> ${text(args['interactive'], '[rich output]')}`,
100
- `pipe -> ${text(args['pipe'], 'plain fallback')}`,
101
- `accessible -> ${text(args['accessible'], 'explicit reading-order fallback')}`,
102
- ].join('\n');
103
- },
104
- };
105
- function docsGuidedFlowOptions(args) {
106
- return {
107
- title: text(args['title'], 'Guided flow'),
108
- label: text(args['label']),
109
- summary: text(args['summary']),
110
- metadata: strings(args['metadata']),
111
- steps: records(args['steps']).map((step) => ({
112
- title: text(step['title'], 'Step'),
113
- detail: text(step['detail']),
114
- status: guidedFlowStepStatus(step['status']),
115
- })),
116
- sections: records(args['sections']).map((section) => ({
117
- title: text(section['title'], 'Section'),
118
- content: text(section['content']),
119
- tone: section['tone'] === 'muted' ? 'muted' : 'normal',
120
- })),
121
- nextAction: text(args['nextAction']),
122
- nextActionLabel: text(args['nextActionLabel']),
123
- width: Number(args['width'] ?? 48),
124
- };
125
- }
126
- function docsPreferenceSections(value) {
127
- return records(value).map((section, sectionIndex) => ({
128
- id: text(section['id'], `section-${String(sectionIndex)}`),
129
- title: text(section['title'], 'Settings'),
130
- rows: docsPreferenceRows(section['rows']),
131
- }));
132
- }
133
- function docsPreferenceRows(value) {
134
- return records(value).map((row, rowIndex) => {
135
- const kind = preferenceRowKind(row['kind']);
136
- return {
137
- id: text(row['id'], `row-${String(rowIndex)}`),
138
- label: text(row['label'], 'Setting'),
139
- description: text(row['description']),
140
- valueLabel: text(row['valueLabel']),
141
- checked: row['checked'] === true,
142
- enabled: row['enabled'] !== false,
143
- ...(kind === undefined ? {} : { kind }),
144
- };
145
- });
146
- }
147
- function docsStatsPanelEntries(value) {
148
- return records(value).map((entry) => ({
149
- label: text(entry['label'], 'metric'),
150
- value: text(entry['value']),
151
- sparkline: numbers(entry['sparkline']),
152
- }));
153
- }
154
- function records(value) {
155
- return Array.isArray(value)
156
- ? value.filter((item) => (typeof item === 'object' && item !== null && !Array.isArray(item)))
157
- : [];
158
- }
159
- function guidedFlowStepStatus(value) {
160
- return value === 'complete' || value === 'current' || value === 'pending' ? value : undefined;
161
- }
162
- function preferenceRowKind(value) {
163
- return value === 'toggle' || value === 'choice' || value === 'info' || value === 'action'
164
- ? value
165
- : undefined;
166
- }
167
- function normalizeDocsTerm(value) {
168
- return value.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
169
- }
170
- function scoreDocsEntry(entry, normalizedQuery) {
171
- if (normalizedQuery === '')
172
- return 1;
173
- const primaryFields = [
174
- entry.toolName,
175
- entry.family,
176
- entry.category,
177
- ...entry.aliases,
178
- ].map(normalizeDocsTerm);
179
- const secondaryFields = [
180
- entry.summary,
181
- ...entry.related,
182
- ].map(normalizeDocsTerm);
183
- if (primaryFields.some(value => value === normalizedQuery))
184
- return 100;
185
- if (primaryFields.some(value => value.startsWith(normalizedQuery)))
186
- return 80;
187
- let score = primaryFields.some(value => value.includes(normalizedQuery)) ? 40 : 0;
188
- if (secondaryFields.some(value => value === normalizedQuery))
189
- score += 20;
190
- if (secondaryFields.some(value => value.includes(normalizedQuery)))
191
- score += 10;
192
- const tokens = normalizedQuery.split(/\s+/).filter(Boolean);
193
- for (const token of tokens) {
194
- if (primaryFields.some(value => value.includes(token)))
195
- score += 10;
196
- else if (secondaryFields.some(value => value.includes(token)))
197
- score += 4;
198
- }
199
- return score;
200
- }
201
- function exampleText(result) {
202
- return result.content[0]?.text
203
- ?? (typeof result.structuredContent?.['rendered'] === 'string'
204
- ? result.structuredContent['rendered']
205
- : '');
206
- }
207
- function resolvedInteractionProfiles(entry, mcpExposed) {
208
- return {
209
- ...(mcpExposed ? DEFAULT_INTERACTION_PROFILES : DEFAULT_DOCS_ONLY_INTERACTION_PROFILES),
210
- ...entry.interactionProfiles,
211
- };
212
- }
213
- export function createDocsTool(tools) {
214
- const toolMap = new Map(tools.map(tool => [tool.name, tool]));
215
- const documentedEntries = MCP_DOCS_CATALOG.map((entry) => {
216
- const tool = toolMap.get(entry.toolName);
217
- const docsOnlyRenderer = DOCS_ONLY_EXAMPLE_RENDERERS[entry.toolName];
218
- if (tool === undefined && docsOnlyRenderer === undefined) {
219
- throw new Error(`[bijou-mcp] bijou_docs catalog entry "${entry.toolName}" has no matching tool registration or docs-only example renderer`);
220
- }
221
- return { entry, tool, docsOnlyRenderer, mcpExposed: tool !== undefined };
222
- });
223
- const inputShape = withOutputMode({
224
- query: z.string().optional().describe('Tool or component query (for example "table", "dag", or "progress").'),
225
- limit: z.number().int().positive().max(50).optional().describe('Maximum number of entries to return.'),
226
- 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.'),
227
- });
228
- const inputSchema = z.object(inputShape);
229
- return {
230
- name: 'bijou_docs',
231
- 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.',
232
- inputSchema: inputShape,
233
- outputSchema: structuredToolOutputShape,
234
- handler: async (args) => {
235
- const input = inputSchema.parse(args);
236
- const normalizedQuery = normalizeDocsTerm(input.query ?? '');
237
- const ranked = documentedEntries
238
- .map(({ entry, tool, docsOnlyRenderer, mcpExposed }) => ({
239
- entry,
240
- tool,
241
- docsOnlyRenderer,
242
- mcpExposed,
243
- score: scoreDocsEntry(entry, normalizedQuery),
244
- }))
245
- .filter(({ score }) => normalizedQuery === '' || score > 0)
246
- .sort((a, b) => b.score - a.score || a.entry.family.localeCompare(b.entry.family));
247
- const limit = input.limit ?? (normalizedQuery === '' ? ranked.length : 3);
248
- const selected = ranked.slice(0, limit);
249
- const includeExamples = input.includeExamples ?? normalizedQuery !== '';
250
- const entries = await Promise.all(selected.map(async ({ entry, tool, docsOnlyRenderer, mcpExposed }) => {
251
- const result = {
252
- tool: entry.toolName,
253
- mcpExposed,
254
- family: entry.family,
255
- category: entry.category,
256
- summary: entry.summary,
257
- useWhen: entry.useWhen,
258
- avoidWhen: entry.avoidWhen,
259
- interactionProfiles: resolvedInteractionProfiles(entry, mcpExposed),
260
- related: entry.related,
261
- aliases: entry.aliases,
262
- };
263
- if (entry.exampleArgs !== undefined) {
264
- result.exampleInput = entry.exampleArgs;
265
- }
266
- if (includeExamples && entry.exampleArgs !== undefined) {
267
- if (tool !== undefined) {
268
- result.exampleOutput = exampleText(await tool.handler(entry.exampleArgs));
269
- }
270
- else if (docsOnlyRenderer !== undefined) {
271
- result.exampleOutput = docsOnlyRenderer(entry.exampleArgs);
272
- }
273
- }
274
- return result;
275
- }));
276
- const payload = {
277
- scope: 'bijou-mcp',
278
- 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.',
279
- documentedEntries: documentedEntries.length,
280
- documentedTools: documentedEntries.filter(({ mcpExposed }) => mcpExposed).length,
281
- docsOnlyEntries: documentedEntries.filter(({ mcpExposed }) => !mcpExposed).length,
282
- returnedEntries: entries.length,
283
- query: input.query ?? null,
284
- includeExamples,
285
- entries,
286
- };
287
- return buildStructuredToolResult(JSON.stringify(payload, null, 2), payload, input.output ?? 'text');
288
- },
289
- };
290
- }
2
+ export { createDocsTool } from './docs.part04.js';
291
3
  //# sourceMappingURL=docs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { GuidedFlowOptions, PreferenceSection, StatsPanelEntry } from '@flyingrobots/bijou';
2
+ import type { ToolInteractionProfiles } from './docs-catalog/index.js';
3
+ interface SerializedToolDocsEntry {
4
+ readonly tool: string;
5
+ readonly mcpExposed: boolean;
6
+ readonly family: string;
7
+ readonly category: string;
8
+ readonly summary: string;
9
+ readonly useWhen: readonly string[];
10
+ readonly avoidWhen: readonly string[];
11
+ readonly interactionProfiles: ToolInteractionProfiles;
12
+ readonly related: readonly string[];
13
+ readonly aliases: readonly string[];
14
+ exampleInput?: Record<string, unknown>;
15
+ exampleOutput?: string;
16
+ }
17
+ type DocsOnlyExampleRenderer = (args: Record<string, unknown>) => string;
18
+ declare function docsGuidedFlowOptions(args: Record<string, unknown>): GuidedFlowOptions;
19
+ declare function docsPreferenceSections(value: unknown): readonly PreferenceSection[];
20
+ declare function docsStatsPanelEntries(value: unknown): readonly StatsPanelEntry[];
21
+ export type { DocsOnlyExampleRenderer, SerializedToolDocsEntry };
22
+ export { docsGuidedFlowOptions, docsPreferenceSections, docsStatsPanelEntries };
23
+ //# sourceMappingURL=docs.part01.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.part01.d.ts","sourceRoot":"","sources":["../../src/tools/docs.part01.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAuE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtK,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,KAAK,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAczE,iBAAS,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,iBAAiB,CAoB/E;AAuBD,iBAAS,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,iBAAiB,EAAE,CAM5E;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,eAAe,EAAE,CAMzE;AAED,YAAY,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAC"}