@framingui/mcp-server 0.6.9 → 0.6.10
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/README.md +52 -10
- package/dist/cli/commands.d.ts +2 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +20 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/help.d.ts +5 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +59 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +47 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +3 -13
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/package-manager.d.ts +5 -0
- package/dist/cli/package-manager.d.ts.map +1 -0
- package/dist/cli/package-manager.js +34 -0
- package/dist/cli/package-manager.js.map +1 -0
- package/dist/cli/update.d.ts +8 -0
- package/dist/cli/update.d.ts.map +1 -0
- package/dist/cli/update.js +53 -0
- package/dist/cli/update.js.map +1 -0
- package/dist/commands/slash-command-adapters.d.ts +9 -0
- package/dist/commands/slash-command-adapters.d.ts.map +1 -0
- package/dist/commands/slash-command-adapters.js +113 -0
- package/dist/commands/slash-command-adapters.js.map +1 -0
- package/dist/commands/slash-command-registry.d.ts +25 -0
- package/dist/commands/slash-command-registry.d.ts.map +1 -0
- package/dist/commands/slash-command-registry.js +330 -0
- package/dist/commands/slash-command-registry.js.map +1 -0
- package/dist/data/component-props.d.ts +30 -0
- package/dist/data/component-props.d.ts.map +1 -0
- package/dist/data/component-props.js +537 -0
- package/dist/data/component-props.js.map +1 -0
- package/dist/data/component-registry.d.ts +30 -0
- package/dist/data/component-registry.d.ts.map +1 -0
- package/dist/data/component-registry.js +320 -0
- package/dist/data/component-registry.js.map +1 -0
- package/dist/data/examples/screen-examples.d.ts +38 -0
- package/dist/data/examples/screen-examples.d.ts.map +1 -0
- package/dist/data/examples/screen-examples.js +500 -0
- package/dist/data/examples/screen-examples.js.map +1 -0
- package/dist/index.js +7 -22
- package/dist/index.js.map +1 -1
- package/dist/prompts/a11y-workflow.d.ts +10 -0
- package/dist/prompts/a11y-workflow.d.ts.map +1 -0
- package/dist/prompts/a11y-workflow.js +46 -0
- package/dist/prompts/a11y-workflow.js.map +1 -0
- package/dist/prompts/command-help.d.ts +10 -0
- package/dist/prompts/command-help.d.ts.map +1 -0
- package/dist/prompts/command-help.js +87 -0
- package/dist/prompts/command-help.js.map +1 -0
- package/dist/prompts/doctor-workflow.d.ts +10 -0
- package/dist/prompts/doctor-workflow.d.ts.map +1 -0
- package/dist/prompts/doctor-workflow.js +37 -0
- package/dist/prompts/doctor-workflow.js.map +1 -0
- package/dist/prompts/getting-started.d.ts.map +1 -1
- package/dist/prompts/getting-started.js +18 -1
- package/dist/prompts/getting-started.js.map +1 -1
- package/dist/prompts/prompt-catalog.d.ts +26 -0
- package/dist/prompts/prompt-catalog.d.ts.map +1 -0
- package/dist/prompts/prompt-catalog.js +82 -0
- package/dist/prompts/prompt-catalog.js.map +1 -0
- package/dist/prompts/responsive-workflow.d.ts +10 -0
- package/dist/prompts/responsive-workflow.d.ts.map +1 -0
- package/dist/prompts/responsive-workflow.js +52 -0
- package/dist/prompts/responsive-workflow.js.map +1 -0
- package/dist/prompts/slash-commands.d.ts +10 -0
- package/dist/prompts/slash-commands.d.ts.map +1 -0
- package/dist/prompts/slash-commands.js +31 -0
- package/dist/prompts/slash-commands.js.map +1 -0
- package/dist/prompts/theme-swap-workflow.d.ts +10 -0
- package/dist/prompts/theme-swap-workflow.d.ts.map +1 -0
- package/dist/prompts/theme-swap-workflow.js +35 -0
- package/dist/prompts/theme-swap-workflow.js.map +1 -0
- package/dist/prompts/update-workflow.d.ts +10 -0
- package/dist/prompts/update-workflow.d.ts.map +1 -0
- package/dist/prompts/update-workflow.js +36 -0
- package/dist/prompts/update-workflow.js.map +1 -0
- package/dist/schemas/mcp-schemas.d.ts +220 -220
- package/dist/tools/generate-screen.d.ts.map +1 -1
- package/dist/tools/generate-screen.js +36 -28
- package/dist/tools/generate-screen.js.map +1 -1
- package/dist/tools/validate-screen-definition.d.ts.map +1 -1
- package/dist/tools/validate-screen-definition.js +38 -95
- package/dist/tools/validate-screen-definition.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type SlashCommandName = '/screen' | '/section' | '/draft' | '/responsive' | '/a11y' | '/theme-swap' | '/doctor' | '/install-check' | '/export' | '/update';
|
|
2
|
+
export interface SlashCommandArgument {
|
|
3
|
+
name: string;
|
|
4
|
+
required: boolean;
|
|
5
|
+
description: string;
|
|
6
|
+
}
|
|
7
|
+
export interface SlashCommandOption {
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
values?: string[];
|
|
11
|
+
}
|
|
12
|
+
export interface SlashCommandDefinition {
|
|
13
|
+
name: SlashCommandName;
|
|
14
|
+
summary: string;
|
|
15
|
+
usage: string;
|
|
16
|
+
args: SlashCommandArgument[];
|
|
17
|
+
options: SlashCommandOption[];
|
|
18
|
+
examples: string[];
|
|
19
|
+
workflow: string[];
|
|
20
|
+
promptRecipe: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function listSlashCommands(): SlashCommandDefinition[];
|
|
23
|
+
export declare function normalizeSlashCommandName(command: string): string;
|
|
24
|
+
export declare function getSlashCommand(command: string): SlashCommandDefinition | undefined;
|
|
25
|
+
//# sourceMappingURL=slash-command-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash-command-registry.d.ts","sourceRoot":"","sources":["../../src/commands/slash-command-registry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,UAAU,GACV,QAAQ,GACR,aAAa,GACb,OAAO,GACP,aAAa,GACb,SAAS,GACT,gBAAgB,GAChB,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC7B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAkUD,wBAAgB,iBAAiB,IAAI,sBAAsB,EAAE,CAE5D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAGnF"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
const slashCommandRegistry = [
|
|
2
|
+
{
|
|
3
|
+
name: '/screen',
|
|
4
|
+
summary: 'Generate a full screen from a natural-language description.',
|
|
5
|
+
usage: '/screen <description> [--theme <themeId>] [--platform web|mobile] [--template <id>] [--output draft|code]',
|
|
6
|
+
args: [
|
|
7
|
+
{
|
|
8
|
+
name: 'description',
|
|
9
|
+
required: true,
|
|
10
|
+
description: 'Natural-language screen description.',
|
|
11
|
+
},
|
|
12
|
+
],
|
|
13
|
+
options: [
|
|
14
|
+
{
|
|
15
|
+
name: '--theme',
|
|
16
|
+
description: 'Apply a specific FramingUI theme.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: '--platform',
|
|
20
|
+
description: 'Target platform.',
|
|
21
|
+
values: ['web', 'mobile'],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: '--template',
|
|
25
|
+
description: 'Prefer a specific screen template id when one is known.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: '--output',
|
|
29
|
+
description: 'Return only a draft or full generated code.',
|
|
30
|
+
values: ['draft', 'code'],
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
examples: [
|
|
34
|
+
'/screen "B2B analytics dashboard with KPI cards and recent activity" --theme minimal-workspace',
|
|
35
|
+
'/screen "mobile login screen with social auth" --platform mobile',
|
|
36
|
+
],
|
|
37
|
+
workflow: [
|
|
38
|
+
'get-screen-generation-context',
|
|
39
|
+
'validate-screen-definition',
|
|
40
|
+
'generate_screen',
|
|
41
|
+
'validate-environment',
|
|
42
|
+
],
|
|
43
|
+
promptRecipe: 'screen-workflow',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: '/section',
|
|
47
|
+
summary: 'Generate or replace a section inside an existing screen.',
|
|
48
|
+
usage: '/section <description> [--slot header|main|sidebar|footer] [--into <screen-id|file>] [--replace <section-id>]',
|
|
49
|
+
args: [
|
|
50
|
+
{
|
|
51
|
+
name: 'description',
|
|
52
|
+
required: true,
|
|
53
|
+
description: 'Natural-language section description.',
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
options: [
|
|
57
|
+
{
|
|
58
|
+
name: '--slot',
|
|
59
|
+
description: 'Preferred layout slot for the section.',
|
|
60
|
+
values: ['header', 'main', 'sidebar', 'footer'],
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: '--into',
|
|
64
|
+
description: 'Target screen id or file path.',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: '--replace',
|
|
68
|
+
description: 'Existing section id to replace.',
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
examples: [
|
|
72
|
+
'/section "stats summary with 4 KPI cards" --slot main --into dashboard.json',
|
|
73
|
+
'/section "pricing comparison table" --replace hero-pricing',
|
|
74
|
+
],
|
|
75
|
+
workflow: [
|
|
76
|
+
'list-components',
|
|
77
|
+
'preview-component',
|
|
78
|
+
'validate-screen-definition',
|
|
79
|
+
'generate_screen',
|
|
80
|
+
],
|
|
81
|
+
promptRecipe: 'screen-workflow',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: '/draft',
|
|
85
|
+
summary: 'Create a screen draft before code generation.',
|
|
86
|
+
usage: '/draft <description> [--theme <themeId>] [--platform web|mobile] [--variants <n>]',
|
|
87
|
+
args: [
|
|
88
|
+
{
|
|
89
|
+
name: 'description',
|
|
90
|
+
required: true,
|
|
91
|
+
description: 'Natural-language screen description.',
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
options: [
|
|
95
|
+
{
|
|
96
|
+
name: '--theme',
|
|
97
|
+
description: 'Apply a specific FramingUI theme.',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: '--platform',
|
|
101
|
+
description: 'Target platform.',
|
|
102
|
+
values: ['web', 'mobile'],
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: '--variants',
|
|
106
|
+
description: 'Number of draft alternatives to propose.',
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
examples: [
|
|
110
|
+
'/draft "settings page for team permissions" --theme neutral-workspace',
|
|
111
|
+
'/draft "creator profile page" --variants 3',
|
|
112
|
+
],
|
|
113
|
+
workflow: ['get-screen-generation-context', 'list-screen-templates', 'preview-screen-template'],
|
|
114
|
+
promptRecipe: 'screen-workflow',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: '/responsive',
|
|
118
|
+
summary: 'Optimize an existing screen for responsive layouts.',
|
|
119
|
+
usage: '/responsive <target> [--mode mobile-first|tablet-safe|touch-optimized] [--density preserve|denser|lighter] [--breakpoint sm|md|lg]',
|
|
120
|
+
args: [
|
|
121
|
+
{
|
|
122
|
+
name: 'target',
|
|
123
|
+
required: true,
|
|
124
|
+
description: 'Screen file, definition, or current selection context.',
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
options: [
|
|
128
|
+
{
|
|
129
|
+
name: '--mode',
|
|
130
|
+
description: 'Primary responsive optimization strategy.',
|
|
131
|
+
values: ['mobile-first', 'tablet-safe', 'touch-optimized'],
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
name: '--density',
|
|
135
|
+
description: 'Information density strategy.',
|
|
136
|
+
values: ['preserve', 'denser', 'lighter'],
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
name: '--breakpoint',
|
|
140
|
+
description: 'Primary breakpoint to focus on first.',
|
|
141
|
+
values: ['sm', 'md', 'lg'],
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
examples: [
|
|
145
|
+
'/responsive ./screen.json --mode mobile-first',
|
|
146
|
+
'/responsive dashboard.tsx --mode touch-optimized --density lighter',
|
|
147
|
+
],
|
|
148
|
+
workflow: ['list_tokens', 'validate-screen-definition', 'generate_screen'],
|
|
149
|
+
promptRecipe: 'responsive-workflow',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
name: '/a11y',
|
|
153
|
+
summary: 'Audit and optionally fix accessibility issues.',
|
|
154
|
+
usage: '/a11y <target> [--fix] [--scope full|form|dialog|nav]',
|
|
155
|
+
args: [
|
|
156
|
+
{
|
|
157
|
+
name: 'target',
|
|
158
|
+
required: true,
|
|
159
|
+
description: 'Screen file, definition, or current selection context.',
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
options: [
|
|
163
|
+
{
|
|
164
|
+
name: '--fix',
|
|
165
|
+
description: 'Regenerate output or return a patch when safe fixes are available.',
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
name: '--scope',
|
|
169
|
+
description: 'Limit the audit to a subset of the UI.',
|
|
170
|
+
values: ['full', 'form', 'dialog', 'nav'],
|
|
171
|
+
},
|
|
172
|
+
],
|
|
173
|
+
examples: ['/a11y ./screen.json', '/a11y app/dashboard/page.tsx --fix --scope form'],
|
|
174
|
+
workflow: ['validate-screen-definition', 'preview-component', 'generate_screen'],
|
|
175
|
+
promptRecipe: 'a11y-workflow',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
name: '/theme-swap',
|
|
179
|
+
summary: 'Reapply the same screen structure under a different theme.',
|
|
180
|
+
usage: '/theme-swap <target> --to <themeId> [--from <themeId>] [--output code|diff]',
|
|
181
|
+
args: [
|
|
182
|
+
{
|
|
183
|
+
name: 'target',
|
|
184
|
+
required: true,
|
|
185
|
+
description: 'Screen file, definition, or current selection context.',
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
options: [
|
|
189
|
+
{
|
|
190
|
+
name: '--to',
|
|
191
|
+
description: 'Target theme id.',
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
name: '--from',
|
|
195
|
+
description: 'Current theme id if known.',
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
name: '--output',
|
|
199
|
+
description: 'Return full code or only a diff-style summary.',
|
|
200
|
+
values: ['code', 'diff'],
|
|
201
|
+
},
|
|
202
|
+
],
|
|
203
|
+
examples: [
|
|
204
|
+
'/theme-swap ./screen.json --to classic-magazine',
|
|
205
|
+
'/theme-swap dashboard.tsx --from minimal-workspace --to square-minimalism --output diff',
|
|
206
|
+
],
|
|
207
|
+
workflow: ['list-themes', 'preview-theme', 'generate_screen', 'validate-environment'],
|
|
208
|
+
promptRecipe: 'theme-swap-workflow',
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
name: '/doctor',
|
|
212
|
+
summary: 'Diagnose whether the current project is ready for FramingUI workflows.',
|
|
213
|
+
usage: '/doctor [<project-path>] [--auth] [--tailwind] [--themes] [--fix-hints]',
|
|
214
|
+
args: [
|
|
215
|
+
{
|
|
216
|
+
name: 'project-path',
|
|
217
|
+
required: false,
|
|
218
|
+
description: 'Project path or package.json path. Defaults to the current workspace.',
|
|
219
|
+
},
|
|
220
|
+
],
|
|
221
|
+
options: [
|
|
222
|
+
{
|
|
223
|
+
name: '--auth',
|
|
224
|
+
description: 'Inspect authentication and session status.',
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
name: '--tailwind',
|
|
228
|
+
description: 'Inspect Tailwind configuration for FramingUI compatibility.',
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
name: '--themes',
|
|
232
|
+
description: 'Inspect theme access and previewability.',
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: '--fix-hints',
|
|
236
|
+
description: 'Return prioritized next actions and install hints.',
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
examples: ['/doctor', '/doctor . --tailwind --fix-hints'],
|
|
240
|
+
workflow: ['whoami', 'list-themes', 'validate-environment'],
|
|
241
|
+
promptRecipe: 'doctor-workflow',
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
name: '/install-check',
|
|
245
|
+
summary: 'Check install and environment prerequisites for generated output.',
|
|
246
|
+
usage: '/install-check [<project-path>] [--for <screen|section|file>] [--packages-only]',
|
|
247
|
+
args: [
|
|
248
|
+
{
|
|
249
|
+
name: 'project-path',
|
|
250
|
+
required: false,
|
|
251
|
+
description: 'Project path or package.json path. Defaults to the current workspace.',
|
|
252
|
+
},
|
|
253
|
+
],
|
|
254
|
+
options: [
|
|
255
|
+
{
|
|
256
|
+
name: '--for',
|
|
257
|
+
description: 'Reference artifact to derive package requirements from.',
|
|
258
|
+
values: ['screen', 'section', 'file'],
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
name: '--packages-only',
|
|
262
|
+
description: 'Skip deeper config checks and only report packages.',
|
|
263
|
+
},
|
|
264
|
+
],
|
|
265
|
+
examples: ['/install-check . --for ./screen.json', '/install-check . --packages-only'],
|
|
266
|
+
workflow: ['validate-environment'],
|
|
267
|
+
promptRecipe: 'doctor-workflow',
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
name: '/export',
|
|
271
|
+
summary: 'Export a draft or screen artifact to a concrete output format.',
|
|
272
|
+
usage: '/export <target> [--format tsx|jsx|json] [--out <path>]',
|
|
273
|
+
args: [
|
|
274
|
+
{
|
|
275
|
+
name: 'target',
|
|
276
|
+
required: true,
|
|
277
|
+
description: 'Blueprint, draft, screen definition, or current selection context.',
|
|
278
|
+
},
|
|
279
|
+
],
|
|
280
|
+
options: [
|
|
281
|
+
{
|
|
282
|
+
name: '--format',
|
|
283
|
+
description: 'Output format.',
|
|
284
|
+
values: ['tsx', 'jsx', 'json'],
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
name: '--out',
|
|
288
|
+
description: 'Suggested output file path.',
|
|
289
|
+
},
|
|
290
|
+
],
|
|
291
|
+
examples: ['/export ./screen.json --format tsx', '/export draft-landing.json --format json'],
|
|
292
|
+
workflow: ['export-screen', 'generate_screen'],
|
|
293
|
+
promptRecipe: 'screen-workflow',
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
name: '/update',
|
|
297
|
+
summary: 'Update installed FramingUI packages in the current project.',
|
|
298
|
+
usage: '/update [<project-path>] [--check]',
|
|
299
|
+
args: [
|
|
300
|
+
{
|
|
301
|
+
name: 'project-path',
|
|
302
|
+
required: false,
|
|
303
|
+
description: 'Project path. Defaults to the current workspace.',
|
|
304
|
+
},
|
|
305
|
+
],
|
|
306
|
+
options: [
|
|
307
|
+
{
|
|
308
|
+
name: '--check',
|
|
309
|
+
description: 'Show the detected package-manager update command without running it.',
|
|
310
|
+
},
|
|
311
|
+
],
|
|
312
|
+
examples: ['/update', '/update . --check'],
|
|
313
|
+
workflow: ['doctor-workflow'],
|
|
314
|
+
promptRecipe: 'update-workflow',
|
|
315
|
+
},
|
|
316
|
+
];
|
|
317
|
+
export function listSlashCommands() {
|
|
318
|
+
return slashCommandRegistry;
|
|
319
|
+
}
|
|
320
|
+
export function normalizeSlashCommandName(command) {
|
|
321
|
+
if (!command) {
|
|
322
|
+
return command;
|
|
323
|
+
}
|
|
324
|
+
return command.startsWith('/') ? command : `/${command}`;
|
|
325
|
+
}
|
|
326
|
+
export function getSlashCommand(command) {
|
|
327
|
+
const normalized = normalizeSlashCommandName(command.trim());
|
|
328
|
+
return slashCommandRegistry.find(entry => entry.name === normalized);
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=slash-command-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash-command-registry.js","sourceRoot":"","sources":["../../src/commands/slash-command-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Component Props Data Module
|
|
3
|
+
* 실제 @framingui/ui 컴포넌트에서 추출한 Tier 1 (15개 core) props/variants 데이터
|
|
4
|
+
*
|
|
5
|
+
* 사용처:
|
|
6
|
+
* - preview-component.ts: 컴포넌트 상세 정보 제공
|
|
7
|
+
* - get-screen-generation-context.ts: 인라인 props 컨텍스트 제공
|
|
8
|
+
* - validate-screen-definition.ts: props 유효성 검증
|
|
9
|
+
*/
|
|
10
|
+
import type { PropDefinition, Variant, UsageExample } from '../schemas/mcp-schemas.js';
|
|
11
|
+
export interface ComponentPropsData {
|
|
12
|
+
props: PropDefinition[];
|
|
13
|
+
variants?: Variant[];
|
|
14
|
+
subComponents?: string[];
|
|
15
|
+
dependencies: {
|
|
16
|
+
internal: string[];
|
|
17
|
+
external: string[];
|
|
18
|
+
};
|
|
19
|
+
examples?: UsageExample[];
|
|
20
|
+
accessibility?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 컴포넌트 ID로 props 데이터 조회
|
|
24
|
+
*/
|
|
25
|
+
export declare function getComponentPropsData(componentId: string): ComponentPropsData | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* 모든 컴포넌트 props 데이터가 있는 컴포넌트 ID 목록 반환
|
|
28
|
+
*/
|
|
29
|
+
export declare function getComponentIdsWithProps(): string[];
|
|
30
|
+
//# sourceMappingURL=component-props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-props.d.ts","sourceRoot":"","sources":["../../src/data/component-props.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEvF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzD,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAuhBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEzF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD"}
|