@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.
Files changed (66) hide show
  1. package/README.md +42 -0
  2. package/dist/auth/tokenValidator.d.ts.map +1 -1
  3. package/dist/auth/tokenValidator.js +6 -1
  4. package/dist/auth/tokenValidator.js.map +1 -1
  5. package/dist/http/httpServer.d.ts.map +1 -1
  6. package/dist/http/httpServer.js +26 -1
  7. package/dist/http/httpServer.js.map +1 -1
  8. package/dist/logger.d.ts.map +1 -1
  9. package/dist/logger.js +5 -0
  10. package/dist/logger.js.map +1 -1
  11. package/dist/mcp/server.d.ts.map +1 -1
  12. package/dist/mcp/server.js +17 -1
  13. package/dist/mcp/server.js.map +1 -1
  14. package/dist/mcp/tools/addRow.js +1 -1
  15. package/dist/mcp/tools/addRow.js.map +1 -1
  16. package/dist/mcp/tools/appendRows.js +2 -2
  17. package/dist/mcp/tools/appendRows.js.map +1 -1
  18. package/dist/mcp/tools/deleteRow.js +1 -1
  19. package/dist/mcp/tools/deleteRow.js.map +1 -1
  20. package/dist/mcp/tools/linkRows.js +1 -1
  21. package/dist/mcp/tools/linkRows.js.map +1 -1
  22. package/dist/mcp/tools/unlinkRows.js +1 -1
  23. package/dist/mcp/tools/unlinkRows.js.map +1 -1
  24. package/dist/mcp/tools/updateRow.js +1 -1
  25. package/dist/mcp/tools/updateRow.js.map +1 -1
  26. package/dist/mcp/tools/upsertRows.js +1 -1
  27. package/dist/mcp/tools/upsertRows.js.map +1 -1
  28. package/dist/metrics/index.d.ts +13 -0
  29. package/dist/metrics/index.d.ts.map +1 -0
  30. package/dist/metrics/index.js +68 -0
  31. package/dist/metrics/index.js.map +1 -0
  32. package/dist/metrics/metricsServer.d.ts +2 -0
  33. package/dist/metrics/metricsServer.d.ts.map +1 -0
  34. package/dist/metrics/metricsServer.js +30 -0
  35. package/dist/metrics/metricsServer.js.map +1 -0
  36. package/dist/ratelimit/index.d.ts.map +1 -1
  37. package/dist/ratelimit/index.js +8 -0
  38. package/dist/ratelimit/index.js.map +1 -1
  39. package/dist/seatable/client.d.ts +2 -0
  40. package/dist/seatable/client.d.ts.map +1 -1
  41. package/dist/seatable/client.js +16 -3
  42. package/dist/seatable/client.js.map +1 -1
  43. package/dist/seatable/utils.d.ts.map +1 -1
  44. package/dist/seatable/utils.js +9 -2
  45. package/dist/seatable/utils.js.map +1 -1
  46. package/package.json +6 -3
  47. package/dist/http/sseServer.d.ts +0 -11
  48. package/dist/http/sseServer.d.ts.map +0 -1
  49. package/dist/http/sseServer.js +0 -154
  50. package/dist/http/sseServer.js.map +0 -1
  51. package/dist/mcp/tools/attachFileToRow.d.ts +0 -3
  52. package/dist/mcp/tools/attachFileToRow.d.ts.map +0 -1
  53. package/dist/mcp/tools/attachFileToRow.js +0 -42
  54. package/dist/mcp/tools/attachFileToRow.js.map +0 -1
  55. package/dist/mcp/tools/bulkSetSelectOptions.d.ts +0 -3
  56. package/dist/mcp/tools/bulkSetSelectOptions.d.ts.map +0 -1
  57. package/dist/mcp/tools/bulkSetSelectOptions.js +0 -49
  58. package/dist/mcp/tools/bulkSetSelectOptions.js.map +0 -1
  59. package/dist/mcp/tools/manageColumns.d.ts +0 -3
  60. package/dist/mcp/tools/manageColumns.d.ts.map +0 -1
  61. package/dist/mcp/tools/manageColumns.js +0 -44
  62. package/dist/mcp/tools/manageColumns.js.map +0 -1
  63. package/dist/mcp/tools/manageTables.d.ts +0 -3
  64. package/dist/mcp/tools/manageTables.d.ts.map +0 -1
  65. package/dist/mcp/tools/manageTables.js +0 -36
  66. 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":"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"}
@@ -1,3 +0,0 @@
1
- import { ToolRegistrar } from './types.js';
2
- export declare const registerBulkSetSelectOptions: ToolRegistrar;
3
- //# sourceMappingURL=bulkSetSelectOptions.d.ts.map
@@ -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,3 +0,0 @@
1
- import { ToolRegistrar } from './types.js';
2
- export declare const registerManageColumns: ToolRegistrar;
3
- //# sourceMappingURL=manageColumns.d.ts.map
@@ -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,3 +0,0 @@
1
- import { ToolRegistrar } from './types.js';
2
- export declare const registerManageTables: ToolRegistrar;
3
- //# sourceMappingURL=manageTables.d.ts.map
@@ -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"}