convex-mcp-visual 1.0.8 → 1.0.9

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.
@@ -4,9 +4,9 @@
4
4
  * MCP tool that displays database schema in terminal AND
5
5
  * opens an interactive schema browser UI in the browser.
6
6
  */
7
- import { launchUIApp } from '../ui-server.js';
7
+ import { launchUIApp } from "../ui-server.js";
8
8
  export const schemaBrowserTool = {
9
- name: 'schema_browser',
9
+ name: "schema_browser",
10
10
  description: `Opens an interactive Schema Browser for exploring your Convex database.
11
11
 
12
12
  Features:
@@ -18,24 +18,24 @@ Features:
18
18
  The Schema Browser renders as an interactive UI panel where you can click through tables,
19
19
  inspect field types, and explore your data visually.`,
20
20
  inputSchema: {
21
- type: 'object',
21
+ type: "object",
22
22
  properties: {
23
23
  deployment: {
24
- type: 'string',
25
- description: 'Deployment selector (from status tool). If not provided, uses the default deployment.',
24
+ type: "string",
25
+ description: "Deployment selector (from status tool). If not provided, uses the default deployment.",
26
26
  },
27
27
  table: {
28
- type: 'string',
29
- description: 'Pre-select a specific table to view',
28
+ type: "string",
29
+ description: "Pre-select a specific table to view",
30
30
  },
31
31
  showInferred: {
32
- type: 'boolean',
33
- description: 'Show inferred schemas alongside declared schemas (default: true)',
32
+ type: "boolean",
33
+ description: "Show inferred schemas alongside declared schemas (default: true)",
34
34
  default: true,
35
35
  },
36
36
  pageSize: {
37
- type: 'number',
38
- description: 'Number of documents per page (default: 50)',
37
+ type: "number",
38
+ description: "Number of documents per page (default: 50)",
39
39
  default: 50,
40
40
  },
41
41
  },
@@ -43,13 +43,13 @@ inspect field types, and explore your data visually.`,
43
43
  },
44
44
  };
45
45
  export async function handleSchemaBrowser(client, args = {}) {
46
- const { table, showInferred = true, pageSize = 50 } = args;
46
+ const { table, showInferred = true, pageSize = 50, } = args;
47
47
  // Check if client is connected
48
48
  if (!client.isConnected()) {
49
49
  return {
50
50
  content: [
51
51
  {
52
- type: 'text',
52
+ type: "text",
53
53
  text: `## Schema Browser
54
54
 
55
55
  **Connection Error**: No Convex deployment configured.
@@ -65,23 +65,27 @@ Once connected, the Schema Browser will display your tables and schemas.`,
65
65
  };
66
66
  }
67
67
  try {
68
- // Get table list and document counts
68
+ // Get table list with document counts
69
69
  const tables = await client.listTables();
70
- // Get all documents for schema inference
71
- const allDocuments = await client.getAllDocuments();
70
+ // Check if we have admin access for document fetching
71
+ const hasAdminAccess = client.hasAdminAccess();
72
+ // Get sample documents if admin access is available
73
+ const allDocuments = hasAdminAccess ? await client.getAllDocuments() : {};
72
74
  // Build table info with schema data
73
- const tableInfos = tables.map((t) => {
75
+ const tableInfos = await Promise.all(tables.map(async (t) => {
74
76
  const docs = allDocuments[t.name] || [];
75
- const inferredFields = inferSchemaFromDocuments(docs);
77
+ // Get declared schema from Convex
78
+ const tableSchema = await client.getTableSchema(t.name);
76
79
  return {
77
80
  name: t.name,
78
- documentCount: docs.length || t.documentCount,
81
+ documentCount: t.documentCount,
79
82
  hasIndexes: t.indexes.length > 0,
80
83
  indexes: t.indexes,
81
84
  documents: docs.slice(0, pageSize),
82
- inferredFields,
85
+ inferredFields: tableSchema.inferredFields,
86
+ declaredFields: tableSchema.declaredFields,
83
87
  };
84
- });
88
+ }));
85
89
  // Get schema for selected table if specified
86
90
  let selectedTableInfo = null;
87
91
  if (table) {
@@ -94,10 +98,11 @@ Once connected, the Schema Browser will display your tables and schemas.`,
94
98
  showInferred,
95
99
  pageSize,
96
100
  tables: tableInfos,
101
+ hasAdminAccess,
97
102
  selectedSchema: selectedTableInfo
98
103
  ? {
99
104
  tableName: selectedTableInfo.name,
100
- declaredFields: [], // Would come from schema.ts if defined
105
+ declaredFields: selectedTableInfo.declaredFields,
101
106
  inferredFields: selectedTableInfo.inferredFields,
102
107
  indexes: selectedTableInfo.indexes,
103
108
  }
@@ -105,10 +110,10 @@ Once connected, the Schema Browser will display your tables and schemas.`,
105
110
  allDocuments,
106
111
  };
107
112
  // Launch the interactive UI in browser
108
- let uiUrl = '';
113
+ let uiUrl = "";
109
114
  try {
110
115
  const uiServer = await launchUIApp({
111
- appName: 'schema-browser',
116
+ appName: "schema-browser",
112
117
  config,
113
118
  port: 3456,
114
119
  autoClose: 30 * 60 * 1000, // Auto-close after 30 minutes
@@ -116,14 +121,14 @@ Once connected, the Schema Browser will display your tables and schemas.`,
116
121
  uiUrl = uiServer.url;
117
122
  }
118
123
  catch (error) {
119
- console.error('Failed to launch UI:', error);
124
+ console.error("Failed to launch UI:", error);
120
125
  }
121
126
  // Build terminal output (markdown tables)
122
- const terminalOutput = buildTerminalOutput(tableInfos, table, client.getDeploymentUrl(), uiUrl);
127
+ const terminalOutput = buildTerminalOutput(tableInfos, table, client.getDeploymentUrl(), uiUrl, hasAdminAccess);
123
128
  return {
124
129
  content: [
125
130
  {
126
- type: 'text',
131
+ type: "text",
127
132
  text: terminalOutput,
128
133
  },
129
134
  ],
@@ -133,7 +138,7 @@ Once connected, the Schema Browser will display your tables and schemas.`,
133
138
  return {
134
139
  content: [
135
140
  {
136
- type: 'text',
141
+ type: "text",
137
142
  text: `## Schema Browser
138
143
 
139
144
  **Error**: ${error instanceof Error ? error.message : String(error)}
@@ -167,13 +172,13 @@ function inferSchemaFromDocuments(documents) {
167
172
  return Array.from(fieldStats.entries())
168
173
  .map(([name, stats]) => ({
169
174
  name,
170
- type: Array.from(stats.types).join(' | '),
175
+ type: Array.from(stats.types).join(" | "),
171
176
  optional: stats.count < totalDocs,
172
177
  }))
173
178
  .sort((a, b) => {
174
179
  // Sort system fields first
175
- const aIsSystem = a.name.startsWith('_');
176
- const bIsSystem = b.name.startsWith('_');
180
+ const aIsSystem = a.name.startsWith("_");
181
+ const bIsSystem = b.name.startsWith("_");
177
182
  if (aIsSystem && !bIsSystem)
178
183
  return -1;
179
184
  if (!aIsSystem && bIsSystem)
@@ -186,75 +191,95 @@ function inferSchemaFromDocuments(documents) {
186
191
  */
187
192
  function getValueType(value) {
188
193
  if (value === null)
189
- return 'null';
194
+ return "null";
190
195
  if (value === undefined)
191
- return 'undefined';
196
+ return "undefined";
192
197
  if (Array.isArray(value))
193
- return 'array';
194
- if (typeof value === 'object')
195
- return 'object';
198
+ return "array";
199
+ if (typeof value === "object")
200
+ return "object";
196
201
  return typeof value;
197
202
  }
198
203
  /**
199
204
  * Build terminal-friendly markdown output
200
205
  */
201
- function buildTerminalOutput(tables, selectedTable, deploymentUrl, uiUrl) {
206
+ function buildTerminalOutput(tables, selectedTable, deploymentUrl, uiUrl, hasAdminAccess) {
202
207
  const lines = [];
203
- lines.push('## Schema Browser');
204
- lines.push('');
208
+ lines.push("## Schema Browser");
209
+ lines.push("");
205
210
  if (uiUrl) {
206
211
  lines.push(`**Interactive UI**: ${uiUrl}`);
207
- lines.push('');
212
+ lines.push("");
208
213
  }
209
214
  lines.push(`Connected to: \`${deploymentUrl}\``);
210
- lines.push('');
215
+ if (!hasAdminAccess) {
216
+ lines.push("");
217
+ lines.push("*Note: Document counts and samples require admin access. Set CONVEX_DEPLOY_KEY for full access.*");
218
+ }
219
+ lines.push("");
211
220
  if (tables.length === 0) {
212
- lines.push('*No tables found in this deployment.*');
213
- return lines.join('\n');
221
+ lines.push("*No tables found in this deployment.*");
222
+ return lines.join("\n");
214
223
  }
215
224
  // If a specific table is selected, show detailed view
216
225
  if (selectedTable) {
217
226
  const tableInfo = tables.find((t) => t.name === selectedTable);
218
227
  if (tableInfo) {
219
228
  lines.push(`### ${selectedTable} (${tableInfo.documentCount} documents)`);
220
- lines.push('');
221
- lines.push('**Schema:**');
222
- lines.push('');
223
- lines.push('| Field | Type | Required |');
224
- lines.push('|-------|------|----------|');
229
+ lines.push("");
230
+ lines.push("**Schema:**");
231
+ lines.push("");
232
+ lines.push("| Field | Type | Required |");
233
+ lines.push("|-------|------|----------|");
225
234
  for (const field of tableInfo.inferredFields) {
226
- lines.push(`| ${field.name} | ${field.type} | ${field.optional ? 'No' : 'Yes'} |`);
235
+ lines.push(`| ${field.name} | ${field.type} | ${field.optional ? "No" : "Yes"} |`);
227
236
  }
228
- lines.push('');
237
+ lines.push("");
229
238
  if (tableInfo.documents.length > 0) {
230
- lines.push('**Sample Documents:**');
231
- lines.push('');
232
- lines.push('```json');
239
+ lines.push("**Sample Documents:**");
240
+ lines.push("");
241
+ lines.push("```json");
233
242
  lines.push(JSON.stringify(tableInfo.documents.slice(0, 3), null, 2));
234
- lines.push('```');
243
+ lines.push("```");
235
244
  }
236
- return lines.join('\n');
245
+ return lines.join("\n");
237
246
  }
238
247
  }
239
248
  // Show all tables overview
240
- lines.push(`Here's your complete database schema:`);
241
- lines.push('');
249
+ lines.push(`Found ${tables.length} tables:`);
250
+ lines.push("");
242
251
  for (const table of tables) {
243
- lines.push('---');
244
- lines.push(`${table.name} (${table.documentCount} documents)`);
245
- lines.push('');
246
- lines.push('| Field | Type | Required |');
247
- lines.push('|-------|------|----------|');
248
- if (table.inferredFields.length === 0) {
249
- lines.push('| *(empty table)* | - | - |');
252
+ lines.push("---");
253
+ lines.push(`### ${table.name}`);
254
+ lines.push(`Documents: ${table.documentCount}`);
255
+ lines.push("");
256
+ // Show declared fields if available, otherwise inferred
257
+ const fields = table.declaredFields.length > 0
258
+ ? table.declaredFields
259
+ : table.inferredFields;
260
+ const schemaType = table.declaredFields.length > 0 ? "Declared" : "Inferred";
261
+ lines.push(`**${schemaType} Schema:**`);
262
+ lines.push("");
263
+ lines.push("| Field | Type | Required |");
264
+ lines.push("|-------|------|----------|");
265
+ if (fields.length === 0) {
266
+ lines.push("| *(no schema data)* | - | - |");
250
267
  }
251
268
  else {
252
- for (const field of table.inferredFields) {
253
- lines.push(`| ${field.name} | ${field.type} | ${field.optional ? 'No' : 'Yes'} |`);
269
+ for (const field of fields) {
270
+ lines.push(`| ${field.name} | \`${field.type}\` | ${field.optional ? "No" : "Yes"} |`);
254
271
  }
255
272
  }
256
- lines.push('');
273
+ lines.push("");
274
+ // Show sample documents if available
275
+ if (table.documents.length > 0) {
276
+ lines.push(`**Sample (${table.documents.length} of ${table.documentCount}):**`);
277
+ lines.push("```json");
278
+ lines.push(JSON.stringify(table.documents[0], null, 2));
279
+ lines.push("```");
280
+ lines.push("");
281
+ }
257
282
  }
258
- return lines.join('\n');
283
+ return lines.join("\n");
259
284
  }
260
285
  //# sourceMappingURL=schema-browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-browser.js","sourceRoot":"","sources":["../../src/tools/schema-browser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE;;;;;;;;;qDASsC;IACnD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,uFAAuF;aAC1F;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qCAAqC;aACnD;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,kEAAkE;gBAC/E,OAAO,EAAE,IAAI;aACd;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4CAA4C;gBACzD,OAAO,EAAE,EAAE;aACZ;SACF;QACD,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAOF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,OAAgC,EAAE;IAElC,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,IAIrD,CAAC;IAEF,+BAA+B;IAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1B,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;;;;;;;yEAQyD;iBAChE;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,qCAAqC;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAEzC,yCAAyC;QACzC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;QAEpD,oCAAoC;QACpC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,cAAc,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,aAAa,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa;gBAC7C,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAChC,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;gBAClC,cAAc;aACf,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC7B,IAAI,KAAK,EAAE,CAAC;YACV,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QAC/D,CAAC;QAED,0BAA0B;QAC1B,MAAM,MAAM,GAAG;YACb,aAAa,EAAE,MAAM,CAAC,gBAAgB,EAAE;YACxC,aAAa,EAAE,KAAK,IAAI,IAAI;YAC5B,YAAY;YACZ,QAAQ;YACR,MAAM,EAAE,UAAU;YAClB,cAAc,EAAE,iBAAiB;gBAC/B,CAAC,CAAC;oBACE,SAAS,EAAE,iBAAiB,CAAC,IAAI;oBACjC,cAAc,EAAE,EAAE,EAAE,uCAAuC;oBAC3D,cAAc,EAAE,iBAAiB,CAAC,cAAc;oBAChD,OAAO,EAAE,iBAAiB,CAAC,OAAO;iBACnC;gBACH,CAAC,CAAC,IAAI;YACR,YAAY;SACb,CAAC;QAEF,uCAAuC;QACvC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;gBACjC,OAAO,EAAE,gBAAgB;gBACzB,MAAM;gBACN,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,8BAA8B;aAC1D,CAAC,CAAC;YACH,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;QAED,0CAA0C;QAC1C,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,EAAE,KAAK,CAAC,CAAC;QAEhG,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,cAAc;iBACrB;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;aAEH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;iCAKlC;iBACxB;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAC/B,SAAyC;IAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiD,CAAC;IAC5E,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;IAEnC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACpE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,IAAI;QACJ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACzC,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS;KAClC,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,2BAA2B;QAC3B,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,SAAS,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,IAAI,SAAS;YAAE,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/C,OAAO,OAAO,KAAK,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,MAKE,EACF,aAAiC,EACjC,aAA4B,EAC5B,KAAa;IAEb,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mBAAmB,aAAa,IAAI,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,sDAAsD;IACtD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAC/D,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,OAAO,aAAa,KAAK,SAAS,CAAC,aAAa,aAAa,CAAC,CAAC;YAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;gBAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACrF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,aAAa,aAAa,CAAC,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAE1C,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"schema-browser.js","sourceRoot":"","sources":["../../src/tools/schema-browser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "convex-mcp-visual",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "Visual MCP tools for exploring Convex databases - graph view, schema browser, and dashboards",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",