@taocompany/magic-grid-mcp 0.14.0 → 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/mcpServer.js
CHANGED
|
@@ -65,7 +65,7 @@ export function createMcpServer(cwd = process.cwd()) {
|
|
|
65
65
|
],
|
|
66
66
|
}));
|
|
67
67
|
server.registerTool('get_component_api', {
|
|
68
|
-
description: '
|
|
68
|
+
description: 'Subset of MagicGrid API from api-manifest.json. section=api → full GridApi methods (getData, setData, applyTransaction, addRows, stopEditing, …). section=expose → ref shortcuts only (use api for row CRUD). section=types → RowTransaction / AddRowsOptions shapes. Use names or query to filter.',
|
|
69
69
|
inputSchema: {
|
|
70
70
|
section: z.string().optional(),
|
|
71
71
|
names: z.array(z.string()).optional(),
|
|
@@ -73,7 +73,7 @@ export function createMcpServer(cwd = process.cwd()) {
|
|
|
73
73
|
},
|
|
74
74
|
}, async (args) => jsonText(getComponentApi(resolved, parseGetComponentApiInput(args))));
|
|
75
75
|
server.registerTool('find_recipes', {
|
|
76
|
-
description: 'Find 1–3 copy-pasteable Vue SFC recipes
|
|
76
|
+
description: 'Find 1–3 copy-pasteable Vue SFC recipes by intent keywords (e.g. 新增行 / applyTransaction / 树形). Recipes ship in api-manifest.json from docs/ai/recipes.',
|
|
77
77
|
inputSchema: {
|
|
78
78
|
intent: z.string(),
|
|
79
79
|
limit: z.number().int().min(1).max(5).optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getComponentApi.d.ts","sourceRoot":"","sources":["../../src/tools/getComponentApi.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErE,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,OAAO,GACP,OAAO,GACP,KAAK,GACL,QAAQ,GACR,OAAO,GACP,WAAW,CAAA;AAEf,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,UAAU,GAAG,eAAe,CAAA;IACpC,OAAO,EAAE,mBAAmB,CAAA;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;
|
|
1
|
+
{"version":3,"file":"getComponentApi.d.ts","sourceRoot":"","sources":["../../src/tools/getComponentApi.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErE,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,OAAO,GACP,OAAO,GACP,KAAK,GACL,QAAQ,GACR,OAAO,GACP,WAAW,CAAA;AAEf,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,UAAU,GAAG,eAAe,CAAA;IACpC,OAAO,EAAE,mBAAmB,CAAA;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAqGD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,GAAE,oBAAyB,GAC/B,qBAAqB,CA+DvB"}
|
|
@@ -66,7 +66,20 @@ function sectionItems(manifest, section) {
|
|
|
66
66
|
notes: c.notes,
|
|
67
67
|
}));
|
|
68
68
|
case 'types':
|
|
69
|
-
return []
|
|
69
|
+
return (manifest.types ?? []).map((t) => ({
|
|
70
|
+
name: t.name,
|
|
71
|
+
type: t.kind,
|
|
72
|
+
notes: t.kind === 'type'
|
|
73
|
+
? [t.definition, t.notes].filter(Boolean).join(' · ')
|
|
74
|
+
: [
|
|
75
|
+
t.notes,
|
|
76
|
+
t.fields
|
|
77
|
+
?.map((f) => `${f.name}${f.optional ? '?' : ''}: ${f.type}${f.notes ? ` — ${f.notes}` : ''}`)
|
|
78
|
+
.join('; '),
|
|
79
|
+
]
|
|
80
|
+
.filter(Boolean)
|
|
81
|
+
.join(' · '),
|
|
82
|
+
}));
|
|
70
83
|
default:
|
|
71
84
|
return [];
|
|
72
85
|
}
|
|
@@ -78,7 +91,8 @@ export function getComponentApi(resolved, input = {}) {
|
|
|
78
91
|
const versionMismatch = installed && installed !== manifest.libraryVersion
|
|
79
92
|
? { installed, manifest: manifest.libraryVersion }
|
|
80
93
|
: undefined;
|
|
81
|
-
|
|
94
|
+
const all = sectionItems(manifest, section);
|
|
95
|
+
if (section === 'types' && all.length === 0) {
|
|
82
96
|
return {
|
|
83
97
|
libraryVersion: manifest.libraryVersion,
|
|
84
98
|
source,
|
|
@@ -86,10 +100,9 @@ export function getComponentApi(resolved, input = {}) {
|
|
|
86
100
|
items: [],
|
|
87
101
|
total: 0,
|
|
88
102
|
versionMismatch,
|
|
89
|
-
warn: 'types
|
|
103
|
+
warn: 'manifest 无 types 分片;请升级 @taocompany/magic-grid 或阅读 @taocompany/magic-grid/types/core。',
|
|
90
104
|
};
|
|
91
105
|
}
|
|
92
|
-
const all = sectionItems(manifest, section);
|
|
93
106
|
const items = all.filter((item) => matchesFilter(item.name, item.notes ?? item.description, input.names, input.query));
|
|
94
107
|
let payload = {
|
|
95
108
|
libraryVersion: manifest.libraryVersion,
|
|
@@ -98,6 +111,16 @@ export function getComponentApi(resolved, input = {}) {
|
|
|
98
111
|
items,
|
|
99
112
|
total: items.length,
|
|
100
113
|
versionMismatch,
|
|
114
|
+
...(section === 'expose' && !input.names?.length && !input.query?.trim()
|
|
115
|
+
? {
|
|
116
|
+
warn: 'MagicGridExpose 仅为 ref 便捷面;addRows / setData / stopEditing / 完整 GridApi 请 section=api(query 如 applyTransaction)。组件 ref 上 getData / applyTransaction 与 api 等价。',
|
|
117
|
+
}
|
|
118
|
+
: {}),
|
|
119
|
+
...(section === 'api' && !input.names?.length && !input.query?.trim()
|
|
120
|
+
? {
|
|
121
|
+
warn: 'GridApi 含 getData、setData、applyTransaction、addRows、stopEditing 等;用 names 或 query 缩小范围,types 分片见 section=types names=[RowTransaction]。',
|
|
122
|
+
}
|
|
123
|
+
: {}),
|
|
101
124
|
};
|
|
102
125
|
let json = JSON.stringify(payload);
|
|
103
126
|
if (json.length > MAX_OUTPUT_CHARS) {
|
package/dist/types.d.ts
CHANGED
|
@@ -46,6 +46,19 @@ export interface ManifestRecipe {
|
|
|
46
46
|
intent: string;
|
|
47
47
|
code: string;
|
|
48
48
|
}
|
|
49
|
+
export interface ManifestTypeField {
|
|
50
|
+
name: string;
|
|
51
|
+
type: string;
|
|
52
|
+
optional?: boolean;
|
|
53
|
+
notes?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface ManifestTypeDefinition {
|
|
56
|
+
name: string;
|
|
57
|
+
kind: 'interface' | 'type';
|
|
58
|
+
definition?: string;
|
|
59
|
+
fields?: ManifestTypeField[];
|
|
60
|
+
notes?: string;
|
|
61
|
+
}
|
|
49
62
|
export interface ApiManifest {
|
|
50
63
|
manifestVersion: number;
|
|
51
64
|
libraryVersion: string;
|
|
@@ -58,6 +71,7 @@ export interface ApiManifest {
|
|
|
58
71
|
rules: ManifestRuleMeta[];
|
|
59
72
|
commonMistakes: CommonMistake[];
|
|
60
73
|
recipes?: ManifestRecipe[];
|
|
74
|
+
types?: ManifestTypeDefinition[];
|
|
61
75
|
}
|
|
62
76
|
export interface ValidationFix {
|
|
63
77
|
kind: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,cAAc,GAAG,WAAW,GAAG,QAAQ,CAAA;CACrD;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;IACtB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAC9B,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAA;IACjC,SAAS,EAAE,sBAAsB,EAAE,CAAA;IACnC,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taocompany/magic-grid-mcp",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.1",
|
|
4
4
|
"description": "CLI and MCP tools for validating @taocompany/magic-grid usage",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"test:run": "vitest run"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"@taocompany/magic-grid": "0.14.
|
|
36
|
+
"@taocompany/magic-grid": "0.14.1"
|
|
37
37
|
},
|
|
38
38
|
"peerDependenciesMeta": {
|
|
39
39
|
"@taocompany/magic-grid": {
|