convex-mcp-visual 1.0.7 → 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.
@@ -2,10 +2,20 @@
2
2
  * Convex Client Wrapper
3
3
  *
4
4
  * Handles authentication and communication with Convex Cloud.
5
- * Uses Convex system APIs to fetch schema information.
5
+ * Uses Convex system APIs to fetch schema and document information.
6
+ *
7
+ * System queries used:
8
+ * - /api/shapes2 for inferred schema
9
+ * - _system/frontend/getSchemas for declared schema
10
+ * - _system/cli/tables for table list
11
+ * - _system/cli/tableSize:default for document counts
12
+ * - _system/cli/tableData for paginated document retrieval
6
13
  */
7
- import { readFileSync, existsSync } from 'fs';
8
- import { join } from 'path';
14
+ import { readFileSync, existsSync } from "fs";
15
+ import { join } from "path";
16
+ import { homedir } from "os";
17
+ // Max documents to sample per table (env-configurable)
18
+ const DEFAULT_DOC_SAMPLE_LIMIT = parseInt(process.env.CONVEX_DOC_SAMPLE_LIMIT || "100", 10);
9
19
  export class ConvexClient {
10
20
  deploymentUrl = null;
11
21
  adminKey = null;
@@ -19,13 +29,13 @@ export class ConvexClient {
19
29
  if (deployKey) {
20
30
  // Deploy key format: "prod:deploymentName|adminKey"
21
31
  // Example: "prod:happy-animal-123|convex_admin_abc123xyz"
22
- if (deployKey.includes('|')) {
23
- const pipeIndex = deployKey.indexOf('|');
32
+ if (deployKey.includes("|")) {
33
+ const pipeIndex = deployKey.indexOf("|");
24
34
  const prefix = deployKey.substring(0, pipeIndex);
25
35
  this.adminKey = deployKey.substring(pipeIndex + 1);
26
36
  // Extract deployment name from prefix (e.g., "prod:happy-animal-123")
27
- if (prefix.includes(':')) {
28
- const colonIndex = prefix.indexOf(':');
37
+ if (prefix.includes(":")) {
38
+ const colonIndex = prefix.indexOf(":");
29
39
  const deploymentName = prefix.substring(colonIndex + 1);
30
40
  if (!explicitUrl && deploymentName) {
31
41
  this.deploymentUrl = `https://${deploymentName}.convex.cloud`;
@@ -42,13 +52,13 @@ export class ConvexClient {
42
52
  }
43
53
  // Try to read from local project .env.local
44
54
  if (!this.deploymentUrl) {
45
- const envLocalPath = join(process.cwd(), '.env.local');
55
+ const envLocalPath = join(process.cwd(), ".env.local");
46
56
  if (existsSync(envLocalPath)) {
47
57
  try {
48
- const envContent = readFileSync(envLocalPath, 'utf-8');
58
+ const envContent = readFileSync(envLocalPath, "utf-8");
49
59
  const urlMatch = envContent.match(/CONVEX_URL=(.+)/);
50
60
  if (urlMatch) {
51
- this.deploymentUrl = urlMatch[1].trim().replace(/["']/g, '');
61
+ this.deploymentUrl = urlMatch[1].trim().replace(/["']/g, "");
52
62
  }
53
63
  }
54
64
  catch {
@@ -58,10 +68,10 @@ export class ConvexClient {
58
68
  }
59
69
  // Try to read from project's .convex deployment state
60
70
  if (!this.deploymentUrl || !this.adminKey) {
61
- const convexJsonPath = join(process.cwd(), '.convex', 'deployment.json');
71
+ const convexJsonPath = join(process.cwd(), ".convex", "deployment.json");
62
72
  if (existsSync(convexJsonPath)) {
63
73
  try {
64
- const config = JSON.parse(readFileSync(convexJsonPath, 'utf-8'));
74
+ const config = JSON.parse(readFileSync(convexJsonPath, "utf-8"));
65
75
  if (config.url && !this.deploymentUrl) {
66
76
  this.deploymentUrl = config.url;
67
77
  }
@@ -74,6 +84,46 @@ export class ConvexClient {
74
84
  }
75
85
  }
76
86
  }
87
+ // Try to read from global Convex config (~/.convex/config.json)
88
+ if (!this.adminKey) {
89
+ const globalConfigPath = join(homedir(), ".convex", "config.json");
90
+ if (existsSync(globalConfigPath)) {
91
+ try {
92
+ const globalConfig = JSON.parse(readFileSync(globalConfigPath, "utf-8"));
93
+ // Global config may have an accessToken for CLI auth
94
+ if (globalConfig.accessToken && !this.adminKey) {
95
+ this.adminKey = globalConfig.accessToken;
96
+ }
97
+ }
98
+ catch {
99
+ // Ignore errors
100
+ }
101
+ }
102
+ }
103
+ // Try to read from local convex-mcp config file
104
+ if (!this.deploymentUrl || !this.adminKey) {
105
+ const mcpConfigPath = join(homedir(), ".convex-mcp-visual.json");
106
+ if (existsSync(mcpConfigPath)) {
107
+ try {
108
+ const mcpConfig = JSON.parse(readFileSync(mcpConfigPath, "utf-8"));
109
+ if (mcpConfig.deploymentUrl && !this.deploymentUrl) {
110
+ this.deploymentUrl = mcpConfig.deploymentUrl;
111
+ }
112
+ if (mcpConfig.adminKey && !this.adminKey) {
113
+ this.adminKey = mcpConfig.adminKey;
114
+ }
115
+ }
116
+ catch {
117
+ // Ignore errors
118
+ }
119
+ }
120
+ }
121
+ }
122
+ /**
123
+ * Check if admin key is available for system queries
124
+ */
125
+ hasAdminAccess() {
126
+ return this.adminKey !== null;
77
127
  }
78
128
  isConnected() {
79
129
  return this.deploymentUrl !== null;
@@ -83,17 +133,17 @@ export class ConvexClient {
83
133
  }
84
134
  async fetchConvex(path, body) {
85
135
  if (!this.deploymentUrl) {
86
- throw new Error('No deployment URL configured');
136
+ throw new Error("No deployment URL configured");
87
137
  }
88
138
  const url = `${this.deploymentUrl}${path}`;
89
139
  const headers = {
90
- 'Content-Type': 'application/json',
140
+ "Content-Type": "application/json",
91
141
  };
92
142
  if (this.adminKey) {
93
- headers['Authorization'] = `Convex ${this.adminKey}`;
143
+ headers["Authorization"] = `Convex ${this.adminKey}`;
94
144
  }
95
145
  const response = await fetch(url, {
96
- method: body ? 'POST' : 'GET',
146
+ method: body ? "POST" : "GET",
97
147
  headers,
98
148
  body: body ? JSON.stringify(body) : undefined,
99
149
  });
@@ -111,8 +161,8 @@ export class ConvexClient {
111
161
  }
112
162
  try {
113
163
  // Try to get shapes (inferred schema) - this works without admin key for some deployments
114
- const shapes = await this.fetchConvex('/api/shapes2');
115
- const tables = Object.keys(shapes).filter(t => !t.startsWith('_'));
164
+ const shapes = await this.fetchConvex("/api/shapes2");
165
+ const tables = Object.keys(shapes).filter((t) => !t.startsWith("_"));
116
166
  return {
117
167
  success: true,
118
168
  deploymentUrl: this.deploymentUrl,
@@ -130,39 +180,40 @@ export class ConvexClient {
130
180
  }
131
181
  async listTables() {
132
182
  if (!this.deploymentUrl) {
133
- throw new Error('Convex client not initialized');
183
+ throw new Error("Convex client not initialized");
134
184
  }
135
185
  try {
136
186
  // Get inferred schemas from shapes API
137
- const shapes = await this.fetchConvex('/api/shapes2');
187
+ const shapes = await this.fetchConvex("/api/shapes2");
138
188
  const tables = [];
139
- for (const [tableName, schema] of Object.entries(shapes)) {
189
+ for (const [tableName] of Object.entries(shapes)) {
140
190
  // Skip system tables
141
- if (tableName.startsWith('_'))
191
+ if (tableName.startsWith("_"))
142
192
  continue;
143
193
  tables.push({
144
194
  name: tableName,
145
- documentCount: 0, // Not available from shapes API
195
+ documentCount: 0,
146
196
  indexes: [],
147
197
  });
148
198
  }
149
199
  // Try to get declared schema info if we have admin access
150
200
  if (this.adminKey) {
151
201
  try {
152
- const schemaResponse = await this.fetchConvex('/api/query', {
153
- path: '_system/frontend/getSchemas',
202
+ const schemaResponse = await this.fetchConvex("/api/query", {
203
+ path: "_system/frontend/getSchemas",
154
204
  args: {},
155
- format: 'json',
205
+ format: "json",
156
206
  });
157
207
  if (schemaResponse?.value?.active) {
158
208
  const activeSchema = JSON.parse(schemaResponse.value.active);
159
209
  if (activeSchema.tables) {
160
210
  for (const tableSchema of activeSchema.tables) {
161
- const existing = tables.find(t => t.name === tableSchema.tableName);
211
+ const existing = tables.find((t) => t.name === tableSchema.tableName);
162
212
  if (existing) {
163
- existing.indexes = tableSchema.indexes?.map((i) => i.indexDescriptor) || [];
213
+ existing.indexes =
214
+ tableSchema.indexes?.map((i) => i.indexDescriptor) || [];
164
215
  }
165
- else if (!tableSchema.tableName.startsWith('_')) {
216
+ else if (!tableSchema.tableName.startsWith("_")) {
166
217
  tables.push({
167
218
  name: tableSchema.tableName,
168
219
  documentCount: 0,
@@ -176,17 +227,46 @@ export class ConvexClient {
176
227
  catch {
177
228
  // Admin query failed, continue with shapes data only
178
229
  }
230
+ // Fetch document counts for each table using system query
231
+ await Promise.all(tables.map(async (table) => {
232
+ try {
233
+ const count = await this.getTableCount(table.name);
234
+ table.documentCount = count;
235
+ }
236
+ catch {
237
+ // Count unavailable, keep as 0
238
+ }
239
+ }));
179
240
  }
180
241
  return tables.sort((a, b) => a.name.localeCompare(b.name));
181
242
  }
182
243
  catch (error) {
183
- console.error('Failed to list tables:', error);
244
+ console.error("Failed to list tables:", error);
184
245
  return [];
185
246
  }
186
247
  }
248
+ /**
249
+ * Get document count for a table using system query
250
+ */
251
+ async getTableCount(tableName) {
252
+ if (!this.deploymentUrl || !this.adminKey) {
253
+ return 0;
254
+ }
255
+ try {
256
+ const response = await this.fetchConvex("/api/query", {
257
+ path: "_system/cli/tableSize:default",
258
+ args: { tableName },
259
+ format: "json",
260
+ });
261
+ return typeof response?.value === "number" ? response.value : 0;
262
+ }
263
+ catch {
264
+ return 0;
265
+ }
266
+ }
187
267
  async getTableSchema(tableName) {
188
268
  if (!this.deploymentUrl) {
189
- throw new Error('Convex client not initialized');
269
+ throw new Error("Convex client not initialized");
190
270
  }
191
271
  const result = {
192
272
  tableName,
@@ -195,7 +275,7 @@ export class ConvexClient {
195
275
  };
196
276
  try {
197
277
  // Get inferred schema from shapes API
198
- const shapes = await this.fetchConvex('/api/shapes2');
278
+ const shapes = await this.fetchConvex("/api/shapes2");
199
279
  const tableShape = shapes[tableName];
200
280
  // Debug: log the raw shape to understand the format
201
281
  if (process.env.DEBUG) {
@@ -207,10 +287,10 @@ export class ConvexClient {
207
287
  // Try to get declared schema if we have admin access
208
288
  if (this.adminKey) {
209
289
  try {
210
- const schemaResponse = await this.fetchConvex('/api/query', {
211
- path: '_system/frontend/getSchemas',
290
+ const schemaResponse = await this.fetchConvex("/api/query", {
291
+ path: "_system/frontend/getSchemas",
212
292
  args: {},
213
- format: 'json',
293
+ format: "json",
214
294
  });
215
295
  if (schemaResponse?.value?.active) {
216
296
  const activeSchema = JSON.parse(schemaResponse.value.active);
@@ -226,32 +306,37 @@ export class ConvexClient {
226
306
  }
227
307
  }
228
308
  catch (error) {
229
- console.error('Failed to get table schema:', error);
309
+ console.error("Failed to get table schema:", error);
230
310
  }
231
311
  return result;
232
312
  }
233
313
  parseShapeToFields(shape) {
234
314
  const fields = [];
235
- if (shape && typeof shape === 'object') {
236
- // Handle different shape formats
237
- if (shape.type === 'Object' && shape.fields) {
238
- for (const [name, fieldShape] of Object.entries(shape.fields)) {
315
+ if (shape && typeof shape === "object") {
316
+ // Handle Object type with fields array
317
+ if (shape.type === "Object" && Array.isArray(shape.fields)) {
318
+ for (const field of shape.fields) {
319
+ // Skip internal fields
320
+ if (field.fieldName.startsWith("_"))
321
+ continue;
239
322
  fields.push({
240
- name,
241
- type: this.shapeToTypeString(fieldShape),
242
- optional: fieldShape.optional || false,
323
+ name: field.fieldName,
324
+ type: this.shapeToTypeString(field.shape),
325
+ optional: field.optional || false,
243
326
  });
244
327
  }
245
328
  }
246
329
  else if (Array.isArray(shape)) {
247
330
  // Union of shapes
248
331
  for (const s of shape) {
249
- if (s.type === 'Object' && s.fields) {
250
- for (const [name, fieldShape] of Object.entries(s.fields)) {
251
- if (!fields.find(f => f.name === name)) {
332
+ if (s.type === "Object" && Array.isArray(s.fields)) {
333
+ for (const field of s.fields) {
334
+ if (field.fieldName.startsWith("_"))
335
+ continue;
336
+ if (!fields.find((f) => f.name === field.fieldName)) {
252
337
  fields.push({
253
- name,
254
- type: this.shapeToTypeString(fieldShape),
338
+ name: field.fieldName,
339
+ type: this.shapeToTypeString(field.shape),
255
340
  optional: true, // Might not exist in all variants
256
341
  });
257
342
  }
@@ -264,32 +349,56 @@ export class ConvexClient {
264
349
  }
265
350
  shapeToTypeString(shape) {
266
351
  if (!shape)
267
- return 'unknown';
268
- if (typeof shape === 'string')
352
+ return "unknown";
353
+ if (typeof shape === "string")
269
354
  return shape;
270
355
  if (shape.type) {
271
356
  switch (shape.type) {
272
- case 'String': return 'string';
273
- case 'Number': return 'number';
274
- case 'Boolean': return 'boolean';
275
- case 'Id': return `Id<"${shape.tableName || 'unknown'}">`;
276
- case 'Array': return `Array<${this.shapeToTypeString(shape.value)}>`;
277
- case 'Object': return 'object';
278
- case 'Union': return shape.values?.map((v) => this.shapeToTypeString(v)).join(' | ') || 'union';
279
- case 'Null': return 'null';
280
- default: return shape.type.toLowerCase();
357
+ case "String":
358
+ return "string";
359
+ case "Int64":
360
+ case "Float64":
361
+ return "number";
362
+ case "Boolean":
363
+ return "boolean";
364
+ case "Id":
365
+ return `Id<"${shape.tableName || "unknown"}">`;
366
+ case "Array":
367
+ return `Array<${this.shapeToTypeString(shape.shape)}>`;
368
+ case "Set":
369
+ return `Set<${this.shapeToTypeString(shape.shape)}>`;
370
+ case "Map":
371
+ return `Map<string, ${this.shapeToTypeString(shape.shape)}>`;
372
+ case "Object":
373
+ if (Array.isArray(shape.fields) && shape.fields.length > 0) {
374
+ return "object";
375
+ }
376
+ return "object";
377
+ case "Union":
378
+ if (Array.isArray(shape.shapes)) {
379
+ return shape.shapes
380
+ .map((v) => this.shapeToTypeString(v))
381
+ .join(" | ");
382
+ }
383
+ return "union";
384
+ case "Null":
385
+ return "null";
386
+ case "Bytes":
387
+ return "bytes";
388
+ default:
389
+ return shape.type.toLowerCase();
281
390
  }
282
391
  }
283
- return 'unknown';
392
+ return "unknown";
284
393
  }
285
394
  parseDocumentTypeToFields(docType) {
286
395
  const fields = [];
287
- if (docType && docType.type === 'object' && docType.value) {
396
+ if (docType && docType.type === "object" && docType.value) {
288
397
  for (const [name, fieldType] of Object.entries(docType.value)) {
289
398
  fields.push({
290
399
  name,
291
400
  type: this.docTypeToString(fieldType),
292
- optional: fieldType?.fieldType?.type === 'optional',
401
+ optional: fieldType?.fieldType?.type === "optional",
293
402
  });
294
403
  }
295
404
  }
@@ -297,46 +406,117 @@ export class ConvexClient {
297
406
  }
298
407
  docTypeToString(fieldType) {
299
408
  if (!fieldType)
300
- return 'unknown';
409
+ return "unknown";
301
410
  const ft = fieldType.fieldType || fieldType;
302
- if (ft.type === 'optional' && ft.inner) {
303
- return this.docTypeToString(ft.inner) + '?';
411
+ if (ft.type === "optional" && ft.inner) {
412
+ return this.docTypeToString(ft.inner) + "?";
304
413
  }
305
414
  switch (ft.type) {
306
- case 'string': return 'string';
307
- case 'number': return 'number';
308
- case 'boolean': return 'boolean';
309
- case 'id': return `Id<"${ft.tableName || 'unknown'}">`;
310
- case 'array': return `Array<${this.docTypeToString(ft.value)}>`;
311
- case 'object': return 'object';
312
- default: return ft.type || 'unknown';
415
+ case "string":
416
+ return "string";
417
+ case "number":
418
+ return "number";
419
+ case "boolean":
420
+ return "boolean";
421
+ case "id":
422
+ return `Id<"${ft.tableName || "unknown"}">`;
423
+ case "array":
424
+ return `Array<${this.docTypeToString(ft.value)}>`;
425
+ case "object":
426
+ return "object";
427
+ default:
428
+ return ft.type || "unknown";
313
429
  }
314
430
  }
431
+ /**
432
+ * Query documents from a table using system query
433
+ * Requires admin access for document retrieval
434
+ */
315
435
  async queryDocuments(tableName, options = {}) {
316
436
  if (!this.deploymentUrl) {
317
- throw new Error('Convex client not initialized');
318
- }
319
- // Note: Querying documents requires running a query function
320
- // This is a simplified implementation that returns empty for now
321
- // A full implementation would need a deployed query function
322
- return {
323
- documents: [],
324
- nextCursor: undefined,
325
- };
437
+ throw new Error("Convex client not initialized");
438
+ }
439
+ if (!this.adminKey) {
440
+ // No admin access, return empty but inform caller
441
+ return {
442
+ documents: [],
443
+ isDone: true,
444
+ };
445
+ }
446
+ const limit = Math.min(options.limit || 50, 100);
447
+ try {
448
+ const response = await this.fetchConvex("/api/query", {
449
+ path: "_system/cli/tableData",
450
+ args: {
451
+ tableName,
452
+ cursor: options.cursor || null,
453
+ order: options.order || "asc",
454
+ take: limit,
455
+ },
456
+ format: "json",
457
+ });
458
+ // Response format: { value: { page: Document[], continueCursor: string | null, isDone: boolean } }
459
+ const result = response?.value;
460
+ if (!result) {
461
+ return { documents: [], isDone: true };
462
+ }
463
+ return {
464
+ documents: (result.page || []),
465
+ continueCursor: result.continueCursor || undefined,
466
+ isDone: result.isDone ?? true,
467
+ };
468
+ }
469
+ catch (error) {
470
+ console.error(`Failed to query documents from ${tableName}:`, error);
471
+ return { documents: [], isDone: true };
472
+ }
326
473
  }
474
+ /**
475
+ * Get sample documents from all tables
476
+ * Fetches up to DEFAULT_DOC_SAMPLE_LIMIT documents per table
477
+ */
327
478
  async getAllDocuments() {
328
479
  if (!this.deploymentUrl) {
329
- throw new Error('Convex client not initialized');
480
+ throw new Error("Convex client not initialized");
330
481
  }
331
- // Note: Getting all documents requires running query functions
332
- // This returns empty for now
333
- return {};
482
+ if (!this.adminKey) {
483
+ // No admin access, return empty
484
+ return {};
485
+ }
486
+ const tables = await this.listTables();
487
+ const allDocs = {};
488
+ // Fetch documents from each table in parallel
489
+ await Promise.all(tables.map(async (table) => {
490
+ try {
491
+ const result = await this.queryDocuments(table.name, {
492
+ limit: DEFAULT_DOC_SAMPLE_LIMIT,
493
+ order: "desc", // Most recent first
494
+ });
495
+ allDocs[table.name] = result.documents;
496
+ }
497
+ catch {
498
+ allDocs[table.name] = [];
499
+ }
500
+ }));
501
+ return allDocs;
334
502
  }
335
- async runQuery(queryString) {
503
+ /**
504
+ * Run a custom query function by path
505
+ * Requires admin access
506
+ */
507
+ async runQuery(queryPath, args = {}) {
336
508
  if (!this.deploymentUrl) {
337
- throw new Error('Convex client not initialized');
509
+ throw new Error("Convex client not initialized");
510
+ }
511
+ if (!this.adminKey) {
512
+ throw new Error("Admin access required to run queries. Please set CONVEX_DEPLOY_KEY.");
338
513
  }
339
- throw new Error('Custom queries not yet implemented');
514
+ const response = await this.fetchConvex("/api/query", {
515
+ path: queryPath,
516
+ args,
517
+ format: "json",
518
+ });
519
+ return response?.value;
340
520
  }
341
521
  }
342
522
  //# sourceMappingURL=convex-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convex-client.js","sourceRoot":"","sources":["../src/convex-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAmC5B,MAAM,OAAO,YAAY;IACf,aAAa,GAAkB,IAAI,CAAC;IACpC,QAAQ,GAAkB,IAAI,CAAC;IAEvC;QACE,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,kCAAkC;QAClC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAChD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAE3C,IAAI,SAAS,EAAE,CAAC;YACd,oDAAoD;YACpD,0DAA0D;YAC1D,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBACjD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAEnD,sEAAsE;gBACtE,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACvC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;oBACxD,IAAI,CAAC,WAAW,IAAI,cAAc,EAAE,CAAC;wBACnC,IAAI,CAAC,aAAa,GAAG,WAAW,cAAc,eAAe,CAAC;oBAChE,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,mCAAmC;gBACnC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;QACnC,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACrD,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gBAAgB;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACzE,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;oBACjE,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;wBACtC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC;oBAClC,CAAC;oBACD,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gBAAgB;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC;IACrC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAAa;QACnD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,CAAC;QAC3C,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAC7B,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,4EAA4E;aACpF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,0FAA0F;YAC1F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YAEnE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,UAAU,EAAE,MAAM,CAAC,MAAM;gBACzB,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAgB,EAAE,CAAC;YAC/B,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,qBAAqB;gBACrB,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAExC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,SAAS;oBACf,aAAa,EAAE,CAAC,EAAE,gCAAgC;oBAClD,OAAO,EAAE,EAAE;iBACZ,CAAC,CAAC;YACL,CAAC;YAED,0DAA0D;YAC1D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;wBAC1D,IAAI,EAAE,6BAA6B;wBACnC,IAAI,EAAE,EAAE;wBACR,MAAM,EAAE,MAAM;qBACf,CAAC,CAAC;oBAEH,IAAI,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;wBAClC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC7D,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;4BACxB,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gCAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC;gCACpE,IAAI,QAAQ,EAAE,CAAC;oCACb,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gCACnF,CAAC;qCAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oCAClD,MAAM,CAAC,IAAI,CAAC;wCACV,IAAI,EAAE,WAAW,CAAC,SAAS;wCAC3B,aAAa,EAAE,CAAC;wCAChB,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE;qCACvE,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,MAAM,GAAgB;YAC1B,SAAS;YACT,cAAc,EAAE,EAAE;YAClB,cAAc,EAAE,EAAE;SACnB,CAAC;QAEF,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAErC,oDAAoD;YACpD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,qBAAqB,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxF,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC9D,CAAC;YAED,qDAAqD;YACrD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;wBAC1D,IAAI,EAAE,6BAA6B;wBACnC,IAAI,EAAE,EAAE;wBACR,MAAM,EAAE,MAAM;qBACf,CAAC,CAAC;oBAEH,IAAI,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;wBAClC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC7D,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;wBACrF,IAAI,WAAW,EAAE,YAAY,EAAE,CAAC;4BAC9B,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;wBACnF,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,yDAAyD;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,KAAU;QACnC,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,iCAAiC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAA6B,CAAC,EAAE,CAAC;oBACrF,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI;wBACJ,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;wBACxC,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,KAAK;qBACvC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,kBAAkB;gBAClB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;wBACpC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAA6B,CAAC,EAAE,CAAC;4BACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gCACvC,MAAM,CAAC,IAAI,CAAC;oCACV,IAAI;oCACJ,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;oCACxC,QAAQ,EAAE,IAAI,EAAE,kCAAkC;iCACnD,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,iBAAiB,CAAC,KAAU;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;gBAC/B,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;gBAC/B,KAAK,SAAS,CAAC,CAAC,OAAO,SAAS,CAAC;gBACjC,KAAK,IAAI,CAAC,CAAC,OAAO,OAAO,KAAK,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC;gBAC1D,KAAK,OAAO,CAAC,CAAC,OAAO,SAAS,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBACrE,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;gBAC/B,KAAK,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC;gBACrG,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC;gBAC3B,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,yBAAyB,CAAC,OAAY;QAC5C,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAA4B,CAAC,EAAE,CAAC;gBACrF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;oBACrC,QAAQ,EAAG,SAAiB,EAAE,SAAS,EAAE,IAAI,KAAK,UAAU;iBAC7D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,SAAc;QACpC,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAEjC,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC;QAE5C,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QAC9C,CAAC;QAED,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC/B,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC/B,KAAK,SAAS,CAAC,CAAC,OAAO,SAAS,CAAC;YACjC,KAAK,IAAI,CAAC,CAAC,OAAO,OAAO,EAAE,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC;YACvD,KAAK,OAAO,CAAC,CAAC,OAAO,SAAS,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;YAChE,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC/B,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,IAAI,SAAS,CAAC;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,UAKI,EAAE;QAEN,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,6DAA6D;QAC7D,iEAAiE;QACjE,6DAA6D;QAE7D,OAAO;YACL,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,SAAS;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,+DAA+D;QAC/D,6BAA6B;QAE7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAAmB;QAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;CACF"}
1
+ {"version":3,"file":"convex-client.js","sourceRoot":"","sources":["../src/convex-client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Convex MCP Apps Server
3
+ * Convex MCP Visual Server
4
4
  *
5
5
  * An MCP server that provides interactive UI components for exploring Convex databases.
6
6
  * Supports stdio (default) and HTTP transports.