@framingui/mcp-server 0.6.0 → 0.6.2
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/LICENSE +21 -0
- package/README.md +24 -40
- package/dist/__tests__/data-client.test.d.ts +4 -4
- package/dist/__tests__/data-client.test.js +158 -66
- package/dist/__tests__/data-client.test.js.map +1 -1
- package/dist/api/api-result.d.ts +30 -0
- package/dist/api/api-result.d.ts.map +1 -0
- package/dist/api/api-result.js +50 -0
- package/dist/api/api-result.js.map +1 -0
- package/dist/api/data-client.d.ts +24 -26
- package/dist/api/data-client.d.ts.map +1 -1
- package/dist/api/data-client.js +209 -220
- package/dist/api/data-client.js.map +1 -1
- package/dist/data/recipe-resolver.d.ts.map +1 -1
- package/dist/data/recipe-resolver.js +6 -4
- package/dist/data/recipe-resolver.js.map +1 -1
- package/dist/data/template-matcher.d.ts.map +1 -1
- package/dist/data/template-matcher.js +2 -1
- package/dist/data/template-matcher.js.map +1 -1
- package/dist/generators/css-generator.js +4 -4
- package/dist/generators/css-generator.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/tools/get-screen-generation-context.d.ts.map +1 -1
- package/dist/tools/get-screen-generation-context.js +9 -6
- package/dist/tools/get-screen-generation-context.js.map +1 -1
- package/dist/tools/list-components.d.ts.map +1 -1
- package/dist/tools/list-components.js +6 -1
- package/dist/tools/list-components.js.map +1 -1
- package/dist/tools/list-icon-libraries.d.ts.map +1 -1
- package/dist/tools/list-icon-libraries.js +5 -8
- package/dist/tools/list-icon-libraries.js.map +1 -1
- package/dist/tools/list-screen-templates.d.ts.map +1 -1
- package/dist/tools/list-screen-templates.js +8 -2
- package/dist/tools/list-screen-templates.js.map +1 -1
- package/dist/tools/list-themes.d.ts.map +1 -1
- package/dist/tools/list-themes.js +6 -1
- package/dist/tools/list-themes.js.map +1 -1
- package/dist/tools/list-tokens.d.ts.map +1 -1
- package/dist/tools/list-tokens.js +6 -1
- package/dist/tools/list-tokens.js.map +1 -1
- package/dist/tools/preview-component.d.ts.map +1 -1
- package/dist/tools/preview-component.js +16 -9
- package/dist/tools/preview-component.js.map +1 -1
- package/dist/tools/preview-icon-library.d.ts.map +1 -1
- package/dist/tools/preview-icon-library.js +5 -7
- package/dist/tools/preview-icon-library.js.map +1 -1
- package/dist/tools/preview-screen-template.d.ts.map +1 -1
- package/dist/tools/preview-screen-template.js +17 -10
- package/dist/tools/preview-screen-template.js.map +1 -1
- package/dist/tools/preview-theme.d.ts.map +1 -1
- package/dist/tools/preview-theme.js +6 -15
- package/dist/tools/preview-theme.js.map +1 -1
- package/dist/tools/validate-screen-definition.d.ts.map +1 -1
- package/dist/tools/validate-screen-definition.js +8 -4
- package/dist/tools/validate-screen-definition.js.map +1 -1
- package/package.json +17 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-matcher.d.ts","sourceRoot":"","sources":["../../src/data/template-matcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0IH;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,MAAM,EACN;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CA2BrD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAwBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,mBAAmB,EAAE,CAkC3F;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"template-matcher.d.ts","sourceRoot":"","sources":["../../src/data/template-matcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0IH;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,MAAM,EACN;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CA2BrD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAwBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,mBAAmB,EAAE,CAkC3F;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAGlF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAI5E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,GACjB,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAMzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAEhE"}
|
|
@@ -224,7 +224,8 @@ export function matchTemplates(description, topN = 3) {
|
|
|
224
224
|
* get-screen-generation-context에서 사용
|
|
225
225
|
*/
|
|
226
226
|
export async function fetchTemplateDetails(templateId) {
|
|
227
|
-
|
|
227
|
+
const result = await fetchTemplate(templateId);
|
|
228
|
+
return result.ok ? result.data : null;
|
|
228
229
|
}
|
|
229
230
|
/**
|
|
230
231
|
* 최적 단일 템플릿 반환
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-matcher.js","sourceRoot":"","sources":["../../src/data/template-matcher.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"template-matcher.js","sourceRoot":"","sources":["../../src/data/template-matcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,16 +14,16 @@ import { fetchCSSVariables } from '../api/data-client.js';
|
|
|
14
14
|
* @returns CSS 생성 결과
|
|
15
15
|
*/
|
|
16
16
|
export async function generateCSSFromThemeId(themeId) {
|
|
17
|
-
const
|
|
18
|
-
if (!
|
|
17
|
+
const result = await fetchCSSVariables(themeId);
|
|
18
|
+
if (!result.ok) {
|
|
19
19
|
return {
|
|
20
20
|
success: false,
|
|
21
|
-
error: `Failed to fetch CSS variables for theme
|
|
21
|
+
error: `Failed to fetch CSS variables for theme "${themeId}": ${result.error.message}`,
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
return {
|
|
25
25
|
success: true,
|
|
26
|
-
css,
|
|
26
|
+
css: result.data,
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-generator.js","sourceRoot":"","sources":["../../src/generators/css-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAW1D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAe;IAC1D,MAAM,
|
|
1
|
+
{"version":3,"file":"css-generator.js","sourceRoot":"","sources":["../../src/generators/css-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAW1D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAe;IAC1D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4CAA4C,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;SACvF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,MAAM,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,yBAAyB,CAAC;IAChD,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxD,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/index.js
CHANGED
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-screen-generation-context.d.ts","sourceRoot":"","sources":["../../src/tools/get-screen-generation-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EACV,+BAA+B,EAC/B,gCAAgC,EAMjC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-screen-generation-context.d.ts","sourceRoot":"","sources":["../../src/tools/get-screen-generation-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EACV,+BAA+B,EAC/B,gCAAgC,EAMjC,MAAM,2BAA2B,CAAC;AAyMnC;;;GAGG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,gCAAgC,CAAC,CAkK3C"}
|
|
@@ -104,8 +104,9 @@ const SCREEN_DEFINITION_SCHEMA = {
|
|
|
104
104
|
async function getComponentInfo(componentIds) {
|
|
105
105
|
const components = [];
|
|
106
106
|
for (const id of componentIds) {
|
|
107
|
-
const
|
|
108
|
-
if (
|
|
107
|
+
const result = await fetchComponent(id.toLowerCase());
|
|
108
|
+
if (result.ok) {
|
|
109
|
+
const component = result.data;
|
|
109
110
|
components.push({
|
|
110
111
|
id: component.id,
|
|
111
112
|
name: component.name,
|
|
@@ -200,7 +201,8 @@ export async function getScreenGenerationContextTool(input) {
|
|
|
200
201
|
const match = templateMatches[0];
|
|
201
202
|
if (match) {
|
|
202
203
|
// API를 통해 템플릿 상세 정보 조회 [SPEC-MCP-007:E-002]
|
|
203
|
-
const
|
|
204
|
+
const templateResult = await fetchTemplate(match.templateId);
|
|
205
|
+
const templateData = templateResult.ok ? templateResult.data : null;
|
|
204
206
|
bestMatch = {
|
|
205
207
|
templateId: match.templateId,
|
|
206
208
|
templateName: match.templateName,
|
|
@@ -226,7 +228,8 @@ export async function getScreenGenerationContextTool(input) {
|
|
|
226
228
|
let examples;
|
|
227
229
|
if (input.includeExamples !== false) {
|
|
228
230
|
// API를 통해 스크린 예제 조회 [SPEC-MCP-007:E-007]
|
|
229
|
-
const
|
|
231
|
+
const examplesResult = await fetchScreenExamples();
|
|
232
|
+
const allExamples = examplesResult.ok ? examplesResult.data : [];
|
|
230
233
|
// 설명과 관련된 예제 필터링 (간단한 키워드 매칭)
|
|
231
234
|
const lowerDesc = input.description.toLowerCase();
|
|
232
235
|
const scored = allExamples.map((ex) => {
|
|
@@ -252,8 +255,8 @@ export async function getScreenGenerationContextTool(input) {
|
|
|
252
255
|
// 4. Get theme recipes if theme specified
|
|
253
256
|
let themeRecipes;
|
|
254
257
|
if (input.themeId) {
|
|
255
|
-
const
|
|
256
|
-
if (
|
|
258
|
+
const themeResult = await fetchTheme(input.themeId);
|
|
259
|
+
if (themeResult.ok) {
|
|
257
260
|
themeRecipes = await getThemeRecipeInfo(input.themeId);
|
|
258
261
|
}
|
|
259
262
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-screen-generation-context.js","sourceRoot":"","sources":["../../src/tools/get-screen-generation-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,aAAa,GACd,MAAM,uBAAuB,CAAC;AAU/B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,wBAAwB,GAAG;IAC/B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;IAC7C,UAAU,EAAE;QACV,EAAE,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,gEAAgE;SAC9E;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4BAA4B;SAC1C;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sCAAsC;SACpD;QACD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,4BAA4B;YACrC,WAAW,EAAE,yDAAyD;SACvE;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,kBAAkB;YAC3B,WAAW,EAAE,gDAAgD;SAC9D;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,iCAAiC;SAC/C;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC;gBACzC,UAAU,EAAE;oBACV,EAAE,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;qBAClC;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,wBAAwB;wBACjC,WAAW,EAAE,2DAA2D;qBACzE;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;wBAC7C,WAAW,EAAE,mCAAmC;qBACjD;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,CAAC,MAAM,CAAC;4BAClB,UAAU,EAAE;gCACV,IAAI,EAAE;oCACJ,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,uCAAuC;iCACrD;gCACD,KAAK,EAAE;oCACL,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,iBAAiB;iCAC/B;gCACD,QAAQ,EAAE;oCACR,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oCAC9C,WAAW,EAAE,oCAAoC;iCAClD;6BACF;yBACF;qBACF;iBACF;aACF;SACF;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;SACF;KACF;CACF,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,YAAsB;IACpD,MAAM,UAAU,GAA2B,EAAE,CAAC;IAE9C,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,
|
|
1
|
+
{"version":3,"file":"get-screen-generation-context.js","sourceRoot":"","sources":["../../src/tools/get-screen-generation-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-components.d.ts","sourceRoot":"","sources":["../../src/tools/list-components.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"list-components.d.ts","sourceRoot":"","sources":["../../src/tools/list-components.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAG3F;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CA6C/B"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* including category, tier, and variant information
|
|
8
8
|
*/
|
|
9
9
|
import { fetchComponentList } from '../api/data-client.js';
|
|
10
|
+
import { formatToolError } from '../api/api-result.js';
|
|
10
11
|
import { extractErrorMessage } from '../utils/error-handler.js';
|
|
11
12
|
/**
|
|
12
13
|
* List all available UI components
|
|
@@ -16,7 +17,11 @@ import { extractErrorMessage } from '../utils/error-handler.js';
|
|
|
16
17
|
export async function listComponentsTool(input) {
|
|
17
18
|
try {
|
|
18
19
|
// API에서 전체 컴포넌트 목록 조회
|
|
19
|
-
const
|
|
20
|
+
const result = await fetchComponentList();
|
|
21
|
+
if (!result.ok) {
|
|
22
|
+
return { success: false, error: formatToolError(result.error) };
|
|
23
|
+
}
|
|
24
|
+
const allComponents = result.data;
|
|
20
25
|
// 카테고리 필터 적용
|
|
21
26
|
let components = allComponents;
|
|
22
27
|
if (input.category && input.category !== 'all') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-components.js","sourceRoot":"","sources":["../../src/tools/list-components.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"list-components.js","sourceRoot":"","sources":["../../src/tools/list-components.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA0B;IAE1B,IAAI,CAAC;QACH,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;QAElC,aAAa;QACb,IAAI,UAAU,GAAG,aAAa,CAAC;QAC/B,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC/C,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/E,CAAC;QAED,WAAW;QACX,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/C,UAAU,GAAG,UAAU,CAAC,MAAM,CAC5B,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACpD,CAAC;QACJ,CAAC;QAED,cAAc;QACd,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;YACpE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM;YAC1E,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;SAC7E,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,UAAiB;YAC7B,KAAK,EAAE,UAAU,CAAC,MAAM;YACxB,UAAU;SACX,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;SAClC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-icon-libraries.d.ts","sourceRoot":"","sources":["../../src/tools/list-icon-libraries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"list-icon-libraries.d.ts","sourceRoot":"","sources":["../../src/tools/list-icon-libraries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGzE;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAkC9E"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* [SPEC-ICON-001]
|
|
6
6
|
*/
|
|
7
7
|
import { fetchIconLibraryList } from '../api/data-client.js';
|
|
8
|
+
import { formatToolError } from '../api/api-result.js';
|
|
8
9
|
import { info, error as logError } from '../utils/logger.js';
|
|
9
10
|
/**
|
|
10
11
|
* List all available icon libraries
|
|
@@ -13,15 +14,11 @@ import { info, error as logError } from '../utils/logger.js';
|
|
|
13
14
|
export async function listIconLibrariesTool() {
|
|
14
15
|
info('list-icon-libraries: Fetching available icon libraries');
|
|
15
16
|
try {
|
|
16
|
-
const
|
|
17
|
-
if (
|
|
18
|
-
|
|
19
|
-
return {
|
|
20
|
-
success: true,
|
|
21
|
-
libraries: [],
|
|
22
|
-
count: 0,
|
|
23
|
-
};
|
|
17
|
+
const result = await fetchIconLibraryList();
|
|
18
|
+
if (!result.ok) {
|
|
19
|
+
return { success: false, error: formatToolError(result.error) };
|
|
24
20
|
}
|
|
21
|
+
const libraries = result.data;
|
|
25
22
|
info(`list-icon-libraries: Found ${libraries.length} icon libraries`);
|
|
26
23
|
return {
|
|
27
24
|
success: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-icon-libraries.js","sourceRoot":"","sources":["../../src/tools/list-icon-libraries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"list-icon-libraries.js","sourceRoot":"","sources":["../../src/tools/list-icon-libraries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAE5C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,8BAA8B,SAAS,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAEtE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/B,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;aAC3B,CAAC,CAAC;YACH,KAAK,EAAE,SAAS,CAAC,MAAM;SACxB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtE,QAAQ,CAAC,kDAAkD,YAAY,EAAE,CAAC,CAAC;QAC3E,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,kCAAkC,YAAY,EAAE;SACxD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-screen-templates.d.ts","sourceRoot":"","sources":["../../src/tools/list-screen-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"list-screen-templates.d.ts","sourceRoot":"","sources":["../../src/tools/list-screen-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAE1B,MAAM,2BAA2B,CAAC;AAGnC;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,yBAAyB,CAAC,CAiDpC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* with category filtering and search capabilities
|
|
8
8
|
*/
|
|
9
9
|
import { fetchTemplateList } from '../api/data-client.js';
|
|
10
|
+
import { formatToolError } from '../api/api-result.js';
|
|
10
11
|
import { extractErrorMessage } from '../utils/error-handler.js';
|
|
11
12
|
/**
|
|
12
13
|
* List all available screen templates
|
|
@@ -23,9 +24,14 @@ export async function listScreenTemplatesTool(input) {
|
|
|
23
24
|
if (input.search) {
|
|
24
25
|
params.search = input.search;
|
|
25
26
|
}
|
|
26
|
-
const
|
|
27
|
+
const result = await fetchTemplateList(params);
|
|
28
|
+
if (!result.ok) {
|
|
29
|
+
return { success: false, error: formatToolError(result.error) };
|
|
30
|
+
}
|
|
31
|
+
const templates = result.data;
|
|
27
32
|
// 전체 템플릿에서 카테고리 카운트 계산 (category 필터 없이 조회)
|
|
28
|
-
const
|
|
33
|
+
const allResult = await fetchTemplateList();
|
|
34
|
+
const allTemplates = allResult.ok ? allResult.data : templates;
|
|
29
35
|
const categories = {
|
|
30
36
|
auth: allTemplates.filter((t) => t.category === 'auth').length,
|
|
31
37
|
dashboard: allTemplates.filter((t) => t.category === 'dashboard').length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-screen-templates.js","sourceRoot":"","sources":["../../src/tools/list-screen-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"list-screen-templates.js","sourceRoot":"","sources":["../../src/tools/list-screen-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAA+B;IAE/B,IAAI,CAAC;QACH,kBAAkB;QAClB,MAAM,MAAM,GAA2C,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC/C,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACnC,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC/B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;QAE9B,2CAA2C;QAC3C,MAAM,SAAS,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;YACnE,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,MAAM;YAC7E,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;YACnE,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,MAAM;YAC7E,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;SAC5E,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBACpC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAA4B;gBACxC,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,uBAAuB,EAAE,CAAC,CAAC,uBAAuB;gBAClD,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC;YACH,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,UAAU;SACX,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;SAClC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-themes.d.ts","sourceRoot":"","sources":["../../src/tools/list-themes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"list-themes.d.ts","sourceRoot":"","sources":["../../src/tools/list-themes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA0BhE"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* (로컬 .moai/themes/generated/ 읽기 → framingui.com API fetch)
|
|
5
5
|
*/
|
|
6
6
|
import { fetchThemeList } from '../api/data-client.js';
|
|
7
|
+
import { formatToolError } from '../api/api-result.js';
|
|
7
8
|
import { extractErrorMessage } from '../utils/error-handler.js';
|
|
8
9
|
/**
|
|
9
10
|
* List available themes based on authentication status
|
|
@@ -11,7 +12,11 @@ import { extractErrorMessage } from '../utils/error-handler.js';
|
|
|
11
12
|
*/
|
|
12
13
|
export async function listThemesTool() {
|
|
13
14
|
try {
|
|
14
|
-
const
|
|
15
|
+
const result = await fetchThemeList();
|
|
16
|
+
if (!result.ok) {
|
|
17
|
+
return { success: false, error: formatToolError(result.error) };
|
|
18
|
+
}
|
|
19
|
+
const themes = result.data;
|
|
15
20
|
return {
|
|
16
21
|
success: true,
|
|
17
22
|
themes: themes.map(theme => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-themes.js","sourceRoot":"","sources":["../../src/tools/list-themes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QAEtC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC3B,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;aACnC,CAAC,CAAC;YACH,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;SAClC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"list-themes.js","sourceRoot":"","sources":["../../src/tools/list-themes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC3B,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;aACnC,CAAC,CAAC;YACH,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;SAClC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-tokens.d.ts","sourceRoot":"","sources":["../../src/tools/list-tokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"list-tokens.d.ts","sourceRoot":"","sources":["../../src/tools/list-tokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAiB,MAAM,2BAA2B,CAAC;AAwBlG;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwCtF"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* [SPEC-MCP-007:E-005] API 기반 데이터 소스로 마이그레이션
|
|
5
5
|
*/
|
|
6
6
|
import { fetchTokenList } from '../api/data-client.js';
|
|
7
|
+
import { formatToolError } from '../api/api-result.js';
|
|
7
8
|
import { extractErrorMessage } from '../utils/error-handler.js';
|
|
8
9
|
/**
|
|
9
10
|
* Apply pattern filter to tokens
|
|
@@ -31,7 +32,11 @@ export async function listTokensTool(input) {
|
|
|
31
32
|
try {
|
|
32
33
|
const { tokenType = 'all', filter } = input;
|
|
33
34
|
// API를 통해 토큰 조회 [SPEC-MCP-007:E-005]
|
|
34
|
-
const
|
|
35
|
+
const result = await fetchTokenList(tokenType);
|
|
36
|
+
if (!result.ok) {
|
|
37
|
+
return { success: false, error: formatToolError(result.error) };
|
|
38
|
+
}
|
|
39
|
+
const tokenData = result.data;
|
|
35
40
|
let shells = tokenData.shells ?? [];
|
|
36
41
|
let pages = tokenData.pages ?? [];
|
|
37
42
|
let sections = tokenData.sections ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-tokens.js","sourceRoot":"","sources":["../../src/tools/list-tokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,MAAuB,EAAE,MAAe;IAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,MAAM,CAAC,MAAM,CAClB,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5C,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC/C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACzD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAsB;IACzD,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAE5C,qCAAqC;QACrC,MAAM,
|
|
1
|
+
{"version":3,"file":"list-tokens.js","sourceRoot":"","sources":["../../src/tools/list-tokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,MAAuB,EAAE,MAAe;IAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,MAAM,CAAC,MAAM,CAClB,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5C,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC/C,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACzD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAsB;IACzD,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAE5C,qCAAqC;QACrC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAiD,CAAC,CAAC;QACvF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;QAE9B,IAAI,MAAM,GAAoB,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;QACrD,IAAI,KAAK,GAAoB,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QACnD,IAAI,QAAQ,GAAoB,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;QAEzD,2BAA2B;QAC3B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrC,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACnC,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE7D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC9C,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC3C,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACpD,QAAQ,EAAE;gBACR,KAAK;gBACL,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACrC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;SAClC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-component.d.ts","sourceRoot":"","sources":["../../src/tools/preview-component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"preview-component.d.ts","sourceRoot":"","sources":["../../src/tools/preview-component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAG/F;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CAmDjC"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* - Usage examples
|
|
12
12
|
*/
|
|
13
13
|
import { fetchComponent, fetchComponentList } from '../api/data-client.js';
|
|
14
|
+
import { formatToolError } from '../api/api-result.js';
|
|
14
15
|
import { extractErrorMessage } from '../utils/error-handler.js';
|
|
15
16
|
/**
|
|
16
17
|
* Preview a component with detailed information
|
|
@@ -21,16 +22,22 @@ export async function previewComponentTool(input) {
|
|
|
21
22
|
// Set default values for optional parameters
|
|
22
23
|
const includeExamples = input.includeExamples ?? true;
|
|
23
24
|
const includeDependencies = input.includeDependencies ?? true;
|
|
24
|
-
const
|
|
25
|
-
if (!
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
const componentResult = await fetchComponent(input.componentId);
|
|
26
|
+
if (!componentResult.ok) {
|
|
27
|
+
// NOT_FOUND인 경우 사용 가능한 컴포넌트 목록 제공
|
|
28
|
+
if (componentResult.error.code === 'NOT_FOUND') {
|
|
29
|
+
const listResult = await fetchComponentList();
|
|
30
|
+
if (listResult.ok) {
|
|
31
|
+
const availableComponents = listResult.data.map((c) => c.id);
|
|
32
|
+
return {
|
|
33
|
+
success: false,
|
|
34
|
+
error: `Component not found: ${input.componentId}. Available components: ${availableComponents.join(', ')}`,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return { success: false, error: formatToolError(componentResult.error) };
|
|
33
39
|
}
|
|
40
|
+
const component = componentResult.data;
|
|
34
41
|
// Build component preview (API 응답에서 직접 필드 사용)
|
|
35
42
|
const result = {
|
|
36
43
|
id: component.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-component.js","sourceRoot":"","sources":["../../src/tools/preview-component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"preview-component.js","sourceRoot":"","sources":["../../src/tools/preview-component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAA4B;IAE5B,IAAI,CAAC;QACH,6CAA6C;QAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC;QACtD,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAE9D,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEhE,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;YACxB,kCAAkC;YAClC,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC/C,MAAM,UAAU,GAAG,MAAM,kBAAkB,EAAE,CAAC;gBAC9C,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;oBAClB,MAAM,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAClE,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,wBAAwB,KAAK,CAAC,WAAW,2BAA2B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBAC5G,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,CAAC;QAED,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;QAEvC,8CAA8C;QAC9C,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;YAC5B,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC1D,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YACtE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC1D,aAAa,EAAE,SAAS,CAAC,aAAa;SACvC,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,MAAa;SACzB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;SAClC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-icon-library.d.ts","sourceRoot":"","sources":["../../src/tools/preview-icon-library.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"preview-icon-library.d.ts","sourceRoot":"","sources":["../../src/tools/preview-icon-library.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGnG;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CA6CnC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* [SPEC-ICON-001]
|
|
6
6
|
*/
|
|
7
7
|
import { fetchIconLibrary } from '../api/data-client.js';
|
|
8
|
+
import { formatToolError } from '../api/api-result.js';
|
|
8
9
|
import { info, error as logError } from '../utils/logger.js';
|
|
9
10
|
/**
|
|
10
11
|
* Preview an icon library and retrieve its full data
|
|
@@ -15,14 +16,11 @@ export async function previewIconLibraryTool(input) {
|
|
|
15
16
|
const { libraryId } = input;
|
|
16
17
|
info(`preview-icon-library: Previewing library "${libraryId}"`);
|
|
17
18
|
try {
|
|
18
|
-
const
|
|
19
|
-
if (!
|
|
20
|
-
|
|
21
|
-
return {
|
|
22
|
-
success: false,
|
|
23
|
-
error: `Icon library "${libraryId}" not found. Use list-icon-libraries to see available libraries.`,
|
|
24
|
-
};
|
|
19
|
+
const result = await fetchIconLibrary(libraryId);
|
|
20
|
+
if (!result.ok) {
|
|
21
|
+
return { success: false, error: formatToolError(result.error, `Library "${libraryId}"`) };
|
|
25
22
|
}
|
|
23
|
+
const library = result.data;
|
|
26
24
|
// Get first 20 icons as sample
|
|
27
25
|
const iconNames = Object.keys(library.icons || {});
|
|
28
26
|
const iconSample = iconNames.slice(0, 20);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-icon-library.js","sourceRoot":"","sources":["../../src/tools/preview-icon-library.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"preview-icon-library.js","sourceRoot":"","sources":["../../src/tools/preview-icon-library.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAA8B;IAE9B,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE5B,IAAI,CAAC,6CAA6C,SAAS,GAAG,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,SAAS,GAAG,CAAC,EAAE,CAAC;QAC5F,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;QAE5B,+BAA+B;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE1C,IAAI,CAAC,sDAAsD,SAAS,GAAG,CAAC,CAAC;QAEzE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,UAAU;aACX;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtE,QAAQ,CAAC,oDAAoD,YAAY,EAAE,CAAC,CAAC;QAC7E,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mCAAmC,YAAY,EAAE;SACzD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-screen-template.d.ts","sourceRoot":"","sources":["../../src/tools/preview-screen-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"preview-screen-template.d.ts","sourceRoot":"","sources":["../../src/tools/preview-screen-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EACV,0BAA0B,EAC1B,2BAA2B,EAG5B,MAAM,2BAA2B,CAAC;AAGnC;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CA+FtC"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* - Example props
|
|
12
12
|
*/
|
|
13
13
|
import { fetchTemplate, fetchTemplateList } from '../api/data-client.js';
|
|
14
|
+
import { formatToolError } from '../api/api-result.js';
|
|
14
15
|
import { extractErrorMessage } from '../utils/error-handler.js';
|
|
15
16
|
/**
|
|
16
17
|
* Preview a screen template with detailed structure
|
|
@@ -20,16 +21,22 @@ export async function previewScreenTemplateTool(input) {
|
|
|
20
21
|
try {
|
|
21
22
|
// Set default value for optional parameter
|
|
22
23
|
const includeLayoutTokens = input.includeLayoutTokens ?? true;
|
|
23
|
-
const
|
|
24
|
-
if (!
|
|
25
|
-
//
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
const templateResult = await fetchTemplate(input.templateId);
|
|
25
|
+
if (!templateResult.ok) {
|
|
26
|
+
// NOT_FOUND인 경우 사용 가능한 템플릿 목록 제공
|
|
27
|
+
if (templateResult.error.code === 'NOT_FOUND') {
|
|
28
|
+
const listResult = await fetchTemplateList();
|
|
29
|
+
if (listResult.ok) {
|
|
30
|
+
const availableTemplates = listResult.data.map((t) => t.id);
|
|
31
|
+
return {
|
|
32
|
+
success: false,
|
|
33
|
+
error: `Template not found: ${input.templateId}. Available templates: ${availableTemplates.join(', ')}`,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return { success: false, error: formatToolError(templateResult.error) };
|
|
32
38
|
}
|
|
39
|
+
const template = templateResult.data;
|
|
33
40
|
// Build skeleton structure
|
|
34
41
|
const skeleton = {
|
|
35
42
|
shell: template.skeleton.shell,
|
|
@@ -71,7 +78,7 @@ export async function previewScreenTemplateTool(input) {
|
|
|
71
78
|
slots: template.customizable.slots,
|
|
72
79
|
};
|
|
73
80
|
// Build import statement
|
|
74
|
-
const importStatement = `import { ${template.name}Template } from '@framingui/ui';`;
|
|
81
|
+
const importStatement = `import { ${template.name}Template } from '@framingui/ui/templates';`;
|
|
75
82
|
return {
|
|
76
83
|
success: true,
|
|
77
84
|
template: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-screen-template.js","sourceRoot":"","sources":["../../src/tools/preview-screen-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"preview-screen-template.js","sourceRoot":"","sources":["../../src/tools/preview-screen-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-theme.d.ts","sourceRoot":"","sources":["../../src/tools/preview-theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA6GvF;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"preview-theme.d.ts","sourceRoot":"","sources":["../../src/tools/preview-theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA6GvF;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6D5F"}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
import { themeToCSS } from '@framingui/ui';
|
|
7
7
|
import { extractErrorMessage } from '../utils/error-handler.js';
|
|
8
8
|
import { getAuthData } from '../auth/state.js';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { fetchTheme } from '../api/data-client.js';
|
|
10
|
+
import { formatToolError } from '../api/api-result.js';
|
|
11
11
|
/**
|
|
12
12
|
* ThemeV2 (core) -> ThemeDefinition (ui) 어댑터
|
|
13
13
|
*
|
|
@@ -120,23 +120,14 @@ export async function previewThemeTool(input) {
|
|
|
120
120
|
};
|
|
121
121
|
}
|
|
122
122
|
// API를 통해 테마 로드 (라이선스 확인은 API가 수행)
|
|
123
|
-
const
|
|
124
|
-
if (!
|
|
125
|
-
// 라이선스 미보유 또는 존재하지 않는 테마
|
|
126
|
-
const availableThemes = await fetchThemeList();
|
|
127
|
-
const availableIds = availableThemes.map(t => t.id);
|
|
128
|
-
if (availableIds.length > 0) {
|
|
129
|
-
return {
|
|
130
|
-
success: false,
|
|
131
|
-
error: `Theme "${themeId}" not found or not included in your license. Available themes: ${availableIds.join(', ')}`,
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
const purchaseUrl = addMcpUtmParams('https://framingui.com', 'preview-theme');
|
|
123
|
+
const themeResult = await fetchTheme(themeId);
|
|
124
|
+
if (!themeResult.ok) {
|
|
135
125
|
return {
|
|
136
126
|
success: false,
|
|
137
|
-
error: `Theme "${themeId}"
|
|
127
|
+
error: formatToolError(themeResult.error, `Theme "${themeId}"`),
|
|
138
128
|
};
|
|
139
129
|
}
|
|
130
|
+
const theme = themeResult.data;
|
|
140
131
|
// includeCSS가 true인 경우 CSS 변수 생성
|
|
141
132
|
let css;
|
|
142
133
|
if (input.includeCSS) {
|