@seatable/mcp-seatable 0.9.5 → 0.9.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.
- package/README.md +42 -0
- package/dist/auth/tokenValidator.d.ts.map +1 -1
- package/dist/auth/tokenValidator.js +6 -1
- package/dist/auth/tokenValidator.js.map +1 -1
- package/dist/http/httpServer.d.ts.map +1 -1
- package/dist/http/httpServer.js +26 -1
- package/dist/http/httpServer.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +5 -0
- package/dist/logger.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +17 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/addRow.js +1 -1
- package/dist/mcp/tools/addRow.js.map +1 -1
- package/dist/mcp/tools/appendRows.js +2 -2
- package/dist/mcp/tools/appendRows.js.map +1 -1
- package/dist/mcp/tools/deleteRow.js +1 -1
- package/dist/mcp/tools/deleteRow.js.map +1 -1
- package/dist/mcp/tools/linkRows.js +1 -1
- package/dist/mcp/tools/linkRows.js.map +1 -1
- package/dist/mcp/tools/unlinkRows.js +1 -1
- package/dist/mcp/tools/unlinkRows.js.map +1 -1
- package/dist/mcp/tools/updateRow.js +1 -1
- package/dist/mcp/tools/updateRow.js.map +1 -1
- package/dist/mcp/tools/upsertRows.js +1 -1
- package/dist/mcp/tools/upsertRows.js.map +1 -1
- package/dist/metrics/index.d.ts +13 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +68 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/metricsServer.d.ts +2 -0
- package/dist/metrics/metricsServer.d.ts.map +1 -0
- package/dist/metrics/metricsServer.js +30 -0
- package/dist/metrics/metricsServer.js.map +1 -0
- package/dist/ratelimit/index.d.ts.map +1 -1
- package/dist/ratelimit/index.js +8 -0
- package/dist/ratelimit/index.js.map +1 -1
- package/dist/seatable/client.d.ts +2 -0
- package/dist/seatable/client.d.ts.map +1 -1
- package/dist/seatable/client.js +16 -3
- package/dist/seatable/client.js.map +1 -1
- package/dist/seatable/utils.d.ts.map +1 -1
- package/dist/seatable/utils.js +9 -2
- package/dist/seatable/utils.js.map +1 -1
- package/package.json +6 -3
- package/dist/http/sseServer.d.ts +0 -11
- package/dist/http/sseServer.d.ts.map +0 -1
- package/dist/http/sseServer.js +0 -154
- package/dist/http/sseServer.js.map +0 -1
- package/dist/mcp/tools/attachFileToRow.d.ts +0 -3
- package/dist/mcp/tools/attachFileToRow.d.ts.map +0 -1
- package/dist/mcp/tools/attachFileToRow.js +0 -42
- package/dist/mcp/tools/attachFileToRow.js.map +0 -1
- package/dist/mcp/tools/bulkSetSelectOptions.d.ts +0 -3
- package/dist/mcp/tools/bulkSetSelectOptions.d.ts.map +0 -1
- package/dist/mcp/tools/bulkSetSelectOptions.js +0 -49
- package/dist/mcp/tools/bulkSetSelectOptions.js.map +0 -1
- package/dist/mcp/tools/manageColumns.d.ts +0 -3
- package/dist/mcp/tools/manageColumns.d.ts.map +0 -1
- package/dist/mcp/tools/manageColumns.js +0 -44
- package/dist/mcp/tools/manageColumns.js.map +0 -1
- package/dist/mcp/tools/manageTables.d.ts +0 -3
- package/dist/mcp/tools/manageTables.d.ts.map +0 -1
- package/dist/mcp/tools/manageTables.js +0 -36
- package/dist/mcp/tools/manageTables.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attachFileToRow.js","sourceRoot":"","sources":["../../../src/mcp/tools/attachFileToRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IACxB,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC9F,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;CAClG,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,SAAS;CAChB,CAAC,CAAA;AAEF,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAEjC,MAAM,CAAC,MAAM,uBAAuB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACzF,MAAM,CAAC,YAAY,CACf,oBAAoB,EACxB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;KACzC,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE/D,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YACtD,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC7B,MAAM,SAAS,CAAC,oBAAoB,EAAE,+BAA+B,EAAE;oBACrE,KAAK;oBACL,MAAM;oBACN,MAAM;oBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,KAAK,CAAC,MAAM;iBACnB,CAAC,CAAA;YACJ,CAAC;YACD,mGAAmG;YACnG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAC/K,CAAC;aAAM,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,6HAA6H;YAC7H,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,4EAA4E,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAC5L,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IAC7E,CAAC,CACF,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bulkSetSelectOptions.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/bulkSetSelectOptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM1C,eAAO,MAAM,4BAA4B,EAAE,aA+C1C,CAAA"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { mapMetadataToGeneric } from '../../schema/map.js';
|
|
3
|
-
const SelectOption = z.object({ name: z.string(), color: z.string().optional() });
|
|
4
|
-
const ColumnUpdate = z.object({ column: z.string(), options: z.array(SelectOption).min(0) });
|
|
5
|
-
const InputSchema = z.object({ table: z.string(), updates: z.array(ColumnUpdate).min(1) });
|
|
6
|
-
export const registerBulkSetSelectOptions = (server, { client, getInputSchema }) => {
|
|
7
|
-
server.registerTool('bulk_set_select_options', {
|
|
8
|
-
title: 'Bulk Set Select Options',
|
|
9
|
-
description: 'Bulk update select options for one or more select columns on a table. Only single_select and multi_select columns are supported.',
|
|
10
|
-
inputSchema: getInputSchema(InputSchema),
|
|
11
|
-
}, async (args) => {
|
|
12
|
-
const { table, updates } = InputSchema.parse(args);
|
|
13
|
-
const meta = await client.getMetadata();
|
|
14
|
-
const generic = mapMetadataToGeneric(meta);
|
|
15
|
-
const tbl = generic.tables.find((t) => t.name === table);
|
|
16
|
-
if (!tbl)
|
|
17
|
-
throw new Error(`Unknown table: ${table}`);
|
|
18
|
-
const results = [];
|
|
19
|
-
for (const u of updates) {
|
|
20
|
-
const col = tbl.columns.find((c) => c.name === u.column);
|
|
21
|
-
if (!col)
|
|
22
|
-
throw new Error(`Unknown column: ${u.column}`);
|
|
23
|
-
const hasOptions = !!col.options && Array.isArray(col.options.options);
|
|
24
|
-
if (!hasOptions)
|
|
25
|
-
throw new Error(`Column ${u.column} has no selectable options in schema`);
|
|
26
|
-
const current = col.options.options;
|
|
27
|
-
// Map provided names to existing ids where possible; if a provided name matches, include id, else skip (API requires id)
|
|
28
|
-
const toUpdate = [];
|
|
29
|
-
for (const opt of u.options) {
|
|
30
|
-
const match = current.find((c) => c.name === opt.name);
|
|
31
|
-
if (match) {
|
|
32
|
-
// Allow color change
|
|
33
|
-
toUpdate.push({ id: match.id, name: opt.name, color: opt.color });
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (toUpdate.length === 0) {
|
|
37
|
-
results.push({ column: u.column, skipped: true, reason: 'no matching option ids by name' });
|
|
38
|
-
continue;
|
|
39
|
-
}
|
|
40
|
-
const res = await client.updateSelectOptions(table, u.column, toUpdate);
|
|
41
|
-
results.push({ column: u.column, result: res });
|
|
42
|
-
}
|
|
43
|
-
const metaAfter = await client.getMetadata();
|
|
44
|
-
const genericAfter = mapMetadataToGeneric(metaAfter);
|
|
45
|
-
const updatedTable = genericAfter.tables.find((t) => t.name === table);
|
|
46
|
-
return { content: [{ type: 'text', text: JSON.stringify({ results, schema: updatedTable }) }] };
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=bulkSetSelectOptions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bulkSetSelectOptions.js","sourceRoot":"","sources":["../../../src/mcp/tools/bulkSetSelectOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manageColumns.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/manageColumns.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAc1C,eAAO,MAAM,qBAAqB,EAAE,aAoCnC,CAAA"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { mapMetadataToGeneric } from '../../schema/map.js';
|
|
3
|
-
const Create = z.object({ name: z.string(), type: z.string(), options: z.record(z.any()).optional() });
|
|
4
|
-
const Update = z.object({ name: z.string(), new_name: z.string().optional(), type: z.string().optional(), options: z.record(z.any()).optional() });
|
|
5
|
-
const Delete = z.object({ name: z.string() });
|
|
6
|
-
const Op = z.discriminatedUnion('action', [
|
|
7
|
-
z.object({ action: z.literal('create'), create: Create }),
|
|
8
|
-
z.object({ action: z.literal('update'), update: Update }),
|
|
9
|
-
z.object({ action: z.literal('delete'), delete: Delete }),
|
|
10
|
-
]);
|
|
11
|
-
const InputSchema = z.object({ table: z.string(), operations: z.array(Op).min(1) });
|
|
12
|
-
export const registerManageColumns = (server, { client, getInputSchema }) => {
|
|
13
|
-
server.registerTool('manage_columns', {
|
|
14
|
-
title: 'Manage Columns',
|
|
15
|
-
description: 'Create, update, and delete columns with normalized schema outputs.',
|
|
16
|
-
inputSchema: getInputSchema(InputSchema),
|
|
17
|
-
}, async (args) => {
|
|
18
|
-
const { table, operations } = InputSchema.parse(args);
|
|
19
|
-
const results = [];
|
|
20
|
-
for (const op of operations) {
|
|
21
|
-
if (op.action === 'create') {
|
|
22
|
-
const { name, type, options } = op.create;
|
|
23
|
-
const res = await client.createColumn(table, { column_name: name, column_type: type, ...options });
|
|
24
|
-
results.push({ action: 'create', result: res });
|
|
25
|
-
}
|
|
26
|
-
else if (op.action === 'update') {
|
|
27
|
-
const { name, new_name, type, options } = op.update;
|
|
28
|
-
const res = await client.updateColumn(table, name, { new_column_name: new_name, column_type: type, ...options });
|
|
29
|
-
results.push({ action: 'update', result: res });
|
|
30
|
-
}
|
|
31
|
-
else if (op.action === 'delete') {
|
|
32
|
-
const { name } = op.delete;
|
|
33
|
-
const res = await client.deleteColumn(table, name);
|
|
34
|
-
results.push({ action: 'delete', result: res });
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
// Return updated normalized schema for the table
|
|
38
|
-
const meta = await client.getMetadata();
|
|
39
|
-
const generic = mapMetadataToGeneric(meta);
|
|
40
|
-
const updatedTable = generic.tables.find(t => t.name === table);
|
|
41
|
-
return { content: [{ type: 'text', text: JSON.stringify({ results, schema: updatedTable }) }] };
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
//# sourceMappingURL=manageColumns.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manageColumns.js","sourceRoot":"","sources":["../../../src/mcp/tools/manageColumns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manageTables.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/manageTables.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAa1C,eAAO,MAAM,oBAAoB,EAAE,aA0BlC,CAAA"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
const OperationSchema = z.object({
|
|
3
|
-
action: z.enum(['create', 'rename', 'delete']),
|
|
4
|
-
name: z.string(),
|
|
5
|
-
new_name: z.string().optional(),
|
|
6
|
-
columns: z.array(z.record(z.string(), z.any())).optional(),
|
|
7
|
-
});
|
|
8
|
-
const InputSchema = z.object({
|
|
9
|
-
operations: z.array(OperationSchema).min(1),
|
|
10
|
-
});
|
|
11
|
-
export const registerManageTables = (server, { client, getInputSchema }) => {
|
|
12
|
-
server.registerTool('manage_tables', {
|
|
13
|
-
title: 'Manage Tables',
|
|
14
|
-
description: 'Create, rename, and delete tables.',
|
|
15
|
-
inputSchema: getInputSchema(InputSchema),
|
|
16
|
-
}, async (args) => {
|
|
17
|
-
const { operations } = InputSchema.parse(args);
|
|
18
|
-
const results = [];
|
|
19
|
-
for (const op of operations) {
|
|
20
|
-
if (op.action === 'create') {
|
|
21
|
-
const res = await client.createTable(op.name, op.columns);
|
|
22
|
-
results.push({ action: 'create', name: op.name, result: res });
|
|
23
|
-
}
|
|
24
|
-
else if (op.action === 'rename') {
|
|
25
|
-
const res = await client.renameTable(op.name, op.new_name);
|
|
26
|
-
results.push({ action: 'rename', from: op.name, to: op.new_name, result: res });
|
|
27
|
-
}
|
|
28
|
-
else if (op.action === 'delete') {
|
|
29
|
-
const res = await client.deleteTable(op.name);
|
|
30
|
-
results.push({ action: 'delete', name: op.name, result: res });
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return { content: [{ type: 'text', text: JSON.stringify({ results }) }] };
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=manageTables.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manageTables.js","sourceRoot":"","sources":["../../../src/mcp/tools/manageTables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC9C,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACtF,MAAM,CAAC,YAAY,CACf,eAAe,EACf;QACI,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,oCAAoC;QACjD,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;KAC3C,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACpB,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC1B,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;gBACzD,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAClE,CAAC;iBAAM,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAS,CAAC,CAAA;gBAC3D,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YACnF,CAAC;iBAAM,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC7C,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAClE,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IAC7E,CAAC,CACJ,CAAA;AACL,CAAC,CAAA"}
|