@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: 'Return a precise subset of MagicGrid props, emits, slots, GridApi methods, expose, or ColumnDef fields from the installed api-manifest.json.',
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 for a user intent (keyword match over manifest 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;AAoFD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,GAAE,oBAAyB,GAC/B,qBAAqB,CAmDvB"}
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
- if (section === 'types') {
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 分片尚未写入 api-manifest;请使用 section=props|columnDef 与 names/query,或阅读 @taocompany/magic-grid/types/core。',
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;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
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.0",
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.0"
36
+ "@taocompany/magic-grid": "0.14.1"
37
37
  },
38
38
  "peerDependenciesMeta": {
39
39
  "@taocompany/magic-grid": {