@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
package/README.md CHANGED
@@ -139,6 +139,20 @@ docker run -d --name seatable-mcp \
139
139
  curl http://localhost:3000/health
140
140
  ```
141
141
 
142
+ ### Security Model
143
+
144
+ The security characteristics differ significantly between transport modes:
145
+
146
+ | | stdio (default) | Selfhosted HTTP | Managed HTTP |
147
+ |---|---|---|---|
148
+ | **Network exposure** | None (local process) | TCP port, **no auth** | TCP port, Bearer auth |
149
+ | **Authentication** | Not needed (local) | None | Per-session token validated against SeaTable |
150
+ | **Rate limiting** | None | None | Per-token, per-IP, global |
151
+ | **Connection limits** | N/A | None | 5 concurrent sessions per token |
152
+ | **Data scope** | All configured bases | All configured bases | One base per client token |
153
+
154
+ > **⚠️ Warning:** Selfhosted HTTP mode (`--sse` / `--http`) has **no authentication**. Anyone who can reach the port gets full access to all configured bases, including write and delete operations. Only run it in trusted networks (localhost, Docker-internal) or behind a reverse proxy that handles authentication. For untrusted networks, use **managed mode** instead.
155
+
142
156
  ## Environment Variables
143
157
 
144
158
  Required:
@@ -154,6 +168,34 @@ Optional:
154
168
 
155
169
  - `SEATABLE_MODE` — `selfhosted` (default) or `managed` (multi-tenant HTTP with per-client auth)
156
170
  - `SEATABLE_MOCK=true` — Enable mock mode for offline testing
171
+ - `METRICS_PORT` — Prometheus metrics port (default: `9090`, HTTP mode only)
172
+
173
+ ## Monitoring
174
+
175
+ In HTTP mode, the server exposes Prometheus metrics on a separate port (default `9090`):
176
+
177
+ ```bash
178
+ curl http://localhost:9090/metrics
179
+ ```
180
+
181
+ Available metrics:
182
+
183
+ | Metric | Type | Description |
184
+ |---|---|---|
185
+ | `mcp_tool_calls_total{tool, status}` | Counter | Tool calls by name and result (success/error) |
186
+ | `mcp_tool_calls_by_tool_total{tool}` | Counter | Total calls per tool (regardless of outcome) |
187
+ | `mcp_tool_duration_seconds{tool}` | Histogram | Tool execution time |
188
+ | `mcp_http_requests_total{method, status}` | Counter | HTTP requests by method and status code |
189
+ | `mcp_rate_limit_exceeded_total{type}` | Counter | Rate limit rejections (global/per_ip/per_token) |
190
+ | `mcp_auth_validations_total{result}` | Counter | Auth validations (success/failure/cache_hit) |
191
+ | `mcp_active_sessions` | Gauge | Currently active HTTP sessions |
192
+ | `mcp_active_connections` | Gauge | Currently active connections |
193
+ | `seatable_api_requests_total{operation, status}` | Counter | SeaTable API calls by operation |
194
+ | `seatable_api_duration_seconds{operation}` | Histogram | SeaTable API latency |
195
+
196
+ Plus standard Node.js metrics (memory, CPU, event loop) via `prom-client`.
197
+
198
+ The metrics server only starts in HTTP mode (not stdio) and binds to `0.0.0.0` — in Docker, expose the port only within your internal network.
157
199
 
158
200
  ## MCP Tools
159
201
 
@@ -1 +1 @@
1
- {"version":3,"file":"tokenValidator.d.ts","sourceRoot":"","sources":["../../src/auth/tokenValidator.ts"],"names":[],"mappings":"AAYA,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,eAAe,CAAC,CAAgC;gBAE5C,SAAS,EAAE,MAAM;IASvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBlD,OAAO,IAAI,IAAI;IASf,OAAO,IAAI,IAAI;CAOlB"}
1
+ {"version":3,"file":"tokenValidator.d.ts","sourceRoot":"","sources":["../../src/auth/tokenValidator.ts"],"names":[],"mappings":"AAaA,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,eAAe,CAAC,CAAgC;gBAE5C,SAAS,EAAE,MAAM;IASvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BlD,OAAO,IAAI,IAAI;IASf,OAAO,IAAI,IAAI;CAOlB"}
@@ -1,5 +1,6 @@
1
1
  import axios from 'axios';
2
2
  import { logger } from '../logger.js';
3
+ import { authValidationsTotal } from '../metrics/index.js';
3
4
  const POSITIVE_TTL_MS = 5 * 60 * 1000; // 5 minutes
4
5
  const NEGATIVE_TTL_MS = 1 * 60 * 1000; // 1 minute
5
6
  export class TokenValidator {
@@ -17,6 +18,8 @@ export class TokenValidator {
17
18
  async validate(apiToken) {
18
19
  const cached = this.cache.get(apiToken);
19
20
  if (cached && Date.now() < cached.expiresAt) {
21
+ logger.debug({ cached: cached.valid }, 'Token validation cache hit');
22
+ authValidationsTotal.inc({ result: 'cache_hit' });
20
23
  return cached.valid;
21
24
  }
22
25
  try {
@@ -27,12 +30,14 @@ export class TokenValidator {
27
30
  });
28
31
  const valid = !!res.data?.access_token;
29
32
  this.cache.set(apiToken, { valid, expiresAt: Date.now() + POSITIVE_TTL_MS });
33
+ authValidationsTotal.inc({ result: 'success' });
30
34
  return valid;
31
35
  }
32
36
  catch (err) {
33
37
  const status = err?.response?.status;
34
- logger.debug({ status }, 'Token validation failed');
38
+ logger.warn({ status }, 'Token validation failed');
35
39
  this.cache.set(apiToken, { valid: false, expiresAt: Date.now() + NEGATIVE_TTL_MS });
40
+ authValidationsTotal.inc({ result: 'failure' });
36
41
  return false;
37
42
  }
38
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tokenValidator.js","sourceRoot":"","sources":["../../src/auth/tokenValidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAOrC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,YAAY;AAClD,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,WAAW;AAEjD,MAAM,OAAO,cAAc;IACN,SAAS,CAAQ;IACjB,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAA;IAC9C,eAAe,CAAiC;IAExD,YAAY,SAAiB;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAC7C,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;QAChE,gDAAgD;QAChD,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;QAChC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC,KAAK,CAAA;QACvB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,oCAAoC,CAAA;YACjE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBAC7B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;gBAChD,OAAO,EAAE,MAAM;aAClB,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAA;YACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC,CAAA;YAC5E,OAAO,KAAK,CAAA;QAChB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAA;YACpC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAA;YACnD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC,CAAA;YACnF,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;IAED,OAAO;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC1B,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YACnC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QACpC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACJ"}
1
+ {"version":3,"file":"tokenValidator.js","sourceRoot":"","sources":["../../src/auth/tokenValidator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../../src/http/httpServer.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AAUnF,MAAM,WAAW,sBAAsB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AA8BD,wBAAsB,eAAe,CAAC,OAAO,GAAE,sBAA2B,iFAwMzE"}
1
+ {"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../../src/http/httpServer.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AAYnF,MAAM,WAAW,sBAAsB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAwCD,wBAAsB,eAAe,CAAC,OAAO,GAAE,sBAA2B,iFAwNzE"}
@@ -5,12 +5,23 @@ import { TokenValidator } from '../auth/tokenValidator.js';
5
5
  import { getEnv, VERSION } from '../config/env.js';
6
6
  import { logger } from '../logger.js';
7
7
  import { buildServer, getStaticToolDefinitions } from '../mcp/server.js';
8
+ import { activeConnections, activeSessions, httpRequestsTotal } from '../metrics/index.js';
9
+ import { startMetricsServer } from '../metrics/metricsServer.js';
8
10
  import { RateLimitManager } from '../ratelimit/index.js';
11
+ const MAX_BODY_SIZE = 10 * 1024 * 1024; // 10 MB
9
12
  async function parseJsonBody(req) {
10
13
  return await new Promise((resolve, reject) => {
11
14
  const chunks = [];
15
+ let totalSize = 0;
12
16
  req.on('data', (chunk) => {
13
- chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);
17
+ const buf = typeof chunk === 'string' ? Buffer.from(chunk) : chunk;
18
+ totalSize += buf.length;
19
+ if (totalSize > MAX_BODY_SIZE) {
20
+ req.destroy();
21
+ reject(new Error('Request body too large'));
22
+ return;
23
+ }
24
+ chunks.push(buf);
14
25
  });
15
26
  req.on('end', () => {
16
27
  if (!chunks.length) {
@@ -57,6 +68,7 @@ export async function startHttpServer(options = {}) {
57
68
  const token = sessionId_ ? sessions.get(sessionId_)?.apiToken : undefined;
58
69
  const result = rateLimiter.check({ ip, token });
59
70
  if (!result.allowed) {
71
+ logger.warn({ ip, reason: result.reason }, 'Rate limit exceeded');
60
72
  const retryAfter = Math.ceil(result.retryAfterMs / 1000);
61
73
  res.writeHead(429, {
62
74
  'content-type': 'text/plain',
@@ -76,11 +88,13 @@ export async function startHttpServer(options = {}) {
76
88
  if (mode === 'managed') {
77
89
  apiToken = extractBearerToken(req);
78
90
  if (!apiToken) {
91
+ logger.warn({ ip: getClientIp(req) }, 'Missing Authorization header');
79
92
  res.writeHead(401, { 'content-type': 'text/plain' }).end('Missing Authorization header');
80
93
  return;
81
94
  }
82
95
  const valid = await tokenValidator.validate(apiToken);
83
96
  if (!valid) {
97
+ logger.warn({ ip: getClientIp(req) }, 'Invalid API token');
84
98
  res.writeHead(401, { 'content-type': 'text/plain' }).end('Invalid API token');
85
99
  return;
86
100
  }
@@ -88,9 +102,11 @@ export async function startHttpServer(options = {}) {
88
102
  // Connection limit (managed mode)
89
103
  if (rateLimiter && apiToken) {
90
104
  if (!rateLimiter.connections.acquire(apiToken)) {
105
+ logger.warn({ ip: getClientIp(req) }, 'Connection limit exceeded');
91
106
  res.writeHead(429, { 'content-type': 'text/plain' }).end('Too many concurrent connections');
92
107
  return;
93
108
  }
109
+ activeConnections.inc();
94
110
  }
95
111
  const mcpServer = buildServer(apiToken ? { apiToken } : undefined);
96
112
  const transport = new StreamableHTTPServerTransport({
@@ -98,6 +114,7 @@ export async function startHttpServer(options = {}) {
98
114
  onsessioninitialized: (id) => {
99
115
  logger.info({ sessionId: id }, 'Streamable HTTP session initialized');
100
116
  sessions.set(id, { transport, apiToken, close: cleanup });
117
+ activeSessions.inc();
101
118
  },
102
119
  });
103
120
  let cleaned = false;
@@ -105,8 +122,10 @@ export async function startHttpServer(options = {}) {
105
122
  if (cleaned)
106
123
  return;
107
124
  cleaned = true;
125
+ activeSessions.dec();
108
126
  if (apiToken && rateLimiter) {
109
127
  rateLimiter.connections.release(apiToken);
128
+ activeConnections.dec();
110
129
  }
111
130
  if (transport.sessionId) {
112
131
  sessions.delete(transport.sessionId);
@@ -135,6 +154,7 @@ export async function startHttpServer(options = {}) {
135
154
  if (sessionId) {
136
155
  const session = sessions.get(sessionId);
137
156
  if (!session) {
157
+ logger.debug({ sessionId }, 'Session not found');
138
158
  res.writeHead(404, { 'content-type': 'text/plain' }).end('Session expired. Please reconnect to start a new session.');
139
159
  return;
140
160
  }
@@ -145,6 +165,9 @@ export async function startHttpServer(options = {}) {
145
165
  res.writeHead(400, { 'content-type': 'text/plain' }).end('Missing mcp-session-id header');
146
166
  }
147
167
  const server = createServer(async (req, res) => {
168
+ res.on('finish', () => {
169
+ httpRequestsTotal.inc({ method: req.method ?? 'UNKNOWN', status: String(res.statusCode) });
170
+ });
148
171
  if (!req.url) {
149
172
  res.writeHead(400, { 'content-type': 'text/plain' }).end('Missing request URL');
150
173
  return;
@@ -188,6 +211,8 @@ export async function startHttpServer(options = {}) {
188
211
  server.listen(port, host);
189
212
  });
190
213
  logger.info({ host, port, endpoint: '/mcp' }, 'Streamable HTTP server listening');
214
+ // Start Prometheus metrics server on a separate port
215
+ await startMetricsServer();
191
216
  const shutdown = async () => {
192
217
  tokenValidator?.destroy();
193
218
  rateLimiter?.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"httpServer.js","sourceRoot":"","sources":["../../src/http/httpServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAA;AAEnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAmB,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAaxD,KAAK,UAAU,aAAa,CAAC,GAAoB;IAC7C,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;QACF,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,SAAS,CAAC,CAAA;gBAClB,OAAM;YACV,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACpD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,CAAA;YACjB,CAAC;QACL,CAAC,CAAC,CAAA;QACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkC,EAAE;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAA;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAE7D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,IAAI,GAAe,GAAG,CAAC,aAAa,CAAA;IAC1C,MAAM,cAAc,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnG,MAAM,WAAW,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAE3E,MAAM,eAAe,GAAG,wBAAwB,EAAE,CAAA;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAA;IAEjD,SAAS,kBAAkB,CAAC,GAAoB;QAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAA;QACtC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAA;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5D,CAAC;IAED,SAAS,WAAW,CAAC,GAAoB;QACrC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAChD,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACxE,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,CAAA;IAChD,CAAC;IAED,KAAK,UAAU,gBAAgB,CAAC,GAAoB,EAAE,GAAmB;QACrE,oCAAoC;QACpC,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;YAC3B,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAA;YACtE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;YACzE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;gBACxD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;oBACf,cAAc,EAAE,YAAY;oBAC5B,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC;iBACpC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBACrB,OAAM;YACV,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAEzE,iCAAiC;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAA;QAErE,+EAA+E;QAC/E,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,qDAAqD;YACrD,IAAI,QAA4B,CAAA;YAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;gBAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;oBACxF,OAAM;gBACV,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,cAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBACtD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;oBAC7E,OAAM;gBACV,CAAC;YACL,CAAC;YAED,kCAAkC;YAClC,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;oBAC3F,OAAM;gBACV,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAClE,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;gBAChD,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;gBACtC,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE;oBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,qCAAqC,CAAC,CAAA;oBACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;gBAC7D,CAAC;aACJ,CAAC,CAAA;YAEF,IAAI,OAAO,GAAG,KAAK,CAAA;YACnB,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;gBACvB,IAAI,OAAO;oBAAE,OAAM;gBACnB,OAAO,GAAG,IAAI,CAAA;gBACd,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;oBAC1B,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAC7C,CAAC;gBACD,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;oBACtB,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;gBACxC,CAAC;gBACD,IAAI,CAAC;oBACD,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;gBAC3B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,yBAAyB,CAAC,CAAA;gBAC3D,CAAC;gBACD,IAAI,CAAC;oBACD,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;gBAC3B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAA;gBAC5D,CAAC;YACL,CAAC,CAAA;YAED,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;gBACrB,KAAK,OAAO,EAAE,CAAA;YAClB,CAAC,CAAA;YAED,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAClC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC7C,OAAM;QACV,CAAC;QAED,gEAAgE;QAChE,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;gBACrH,OAAM;YACV,CAAC;YACD,MAAM,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YACrD,OAAM;QACV,CAAC;QAED,gCAAgC;QAChC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;IAC7F,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;YAC/E,OAAM;QACV,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAA;QAEzE,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;YACxG,IAAI,CAAC;gBACD,MAAM,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,4BAA4B,CAAC,CAAA;gBAC1D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACnB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;gBACrF,CAAC;YACL,CAAC;YACD,OAAM;QACV,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;YAClH,OAAM;QACV,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;YAC/C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,0CAA0C,EAAE,CAAC,CAAC,CAAA;YAC5K,OAAM;QACV,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,mCAAmC,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG;gBACT,UAAU,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,OAAO,EAAE;gBAChE,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE;gBACvD,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC/D,KAAK,EAAE,eAAe;aACzB,CAAA;YACD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YACpF,OAAM;QACV,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;IAC1G,CAAC,CAAC,CAAA;IAEF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QACzC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,kCAAkC,CAAC,CAAA;IAEjF,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QACxB,cAAc,EAAE,OAAO,EAAE,CAAA;QACzB,WAAW,EAAE,OAAO,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,iCAAiC,CAAC,CAAA;YAC9D,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACvE,CAAC,CAAA;IAED,MAAM,OAAO,GAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAA;YACnD,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,uBAAuB,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"httpServer.js","sourceRoot":"","sources":["../../src/http/httpServer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,QAAA,IAAI,MAAM,EAAE,MAAM,CAAA;AA8BlB,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,0BAEvE"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,QAAA,IAAI,MAAM,EAAE,MAAM,CAAA;AAmClB,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,0BAEvE"}
package/dist/logger.js CHANGED
@@ -8,6 +8,11 @@ if (typeof process !== 'undefined' && process.versions?.node && !('WebSocketPair
8
8
  base: undefined,
9
9
  redact: ['req.headers.authorization', 'config.headers.Authorization'],
10
10
  timestamp: pino?.stdTimeFunctions?.isoTime,
11
+ formatters: {
12
+ level(label) {
13
+ return { level: label.toUpperCase() };
14
+ },
15
+ },
11
16
  });
12
17
  }
13
18
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,IAAI,MAAc,CAAA;AAElB,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,eAAe,IAAI,UAAU,CAAC,EAAE,CAAC;IAC/F,+EAA+E;IAC/E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,IAAI,GAAQ,UAAU,CAAC,OAAO,CAAA;IACpC,MAAM,GAAG,IAAI,CAAC;QACV,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;QACtC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,CAAC,2BAA2B,EAAE,8BAA8B,CAAC;QACrE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO;KAC7C,CAAW,CAAA;AAChB,CAAC;KAAM,CAAC;IACJ,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAC9B,MAAM,IAAI,GAAQ;YACd,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACrD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACrD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACnD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAClD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACrD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACrD,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;SACnB,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;QACvB,OAAO,IAAc,CAAA;IACzB,CAAC,CAAA;IACD,MAAM,GAAG,oBAAoB,EAAE,CAAA;AACnC,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB,MAAM,UAAU,WAAW,CAAoC,MAAS;IACpE,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,IAAI,MAAc,CAAA;AAElB,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,eAAe,IAAI,UAAU,CAAC,EAAE,CAAC;IAC/F,+EAA+E;IAC/E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,IAAI,GAAQ,UAAU,CAAC,OAAO,CAAA;IACpC,MAAM,GAAG,IAAI,CAAC;QACV,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;QACtC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,CAAC,2BAA2B,EAAE,8BAA8B,CAAC;QACrE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO;QAC1C,UAAU,EAAE;YACR,KAAK,CAAC,KAAa;gBACf,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAA;YACzC,CAAC;SACJ;KACJ,CAAW,CAAA;AAChB,CAAC;KAAM,CAAC;IACJ,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAC9B,MAAM,IAAI,GAAQ;YACd,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACrD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACrD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACnD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAClD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACrD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACrD,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;SACnB,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;QACvB,OAAO,IAAc,CAAA;IACzB,CAAC,CAAA;IACD,MAAM,GAAG,oBAAoB,EAAE,CAAA;AACnC,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB,MAAM,UAAU,WAAW,CAAoC,MAAS;IACpE,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAC9E,OAAO,EAEH,KAAK,cAAc,EAGtB,MAAM,oCAAoC,CAAA;AAQ3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAmBlE,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAA;AA2BhE,UAAU,cAAc;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,GAAG,CAAA;IAChB,WAAW,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACtH,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;CACtD;AAED,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;gBAE9C,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;QAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE;IAqBvG,kBAAkB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,GAAG,CAAC;QAAC,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAA;KAAE,CAAC;IAM3H,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,gBAAgB;IAkDxB,OAAO,CAAC,kBAAkB;YAKZ,eAAe;YA0Bf,cAAc;CA+B/B;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,qBAsCvD;AAED,sEAAsE;AACtE,wBAAgB,wBAAwB;UA7KA,MAAM;iBAAe,MAAM;iBAAe,GAAG;kBAAgB,cAAc,CAAC,aAAa,CAAC;IA+KjI"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAC9E,OAAO,EAEH,KAAK,cAAc,EAGtB,MAAM,oCAAoC,CAAA;AAS3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAmBlE,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAA;AA2BhE,UAAU,cAAc;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,GAAG,CAAA;IAChB,WAAW,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACtH,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;CACtD;AAED,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;gBAE9C,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;QAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE;IAqBvG,kBAAkB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,GAAG,CAAC;QAAC,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAA;KAAE,CAAC;IAM3H,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,gBAAgB;IAkDxB,OAAO,CAAC,kBAAkB;YAKZ,eAAe;YA0Bf,cAAc;CA8C/B;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,qBAsCvD;AAED,sEAAsE;AACtE,wBAAgB,wBAAwB;UA5LA,MAAM;iBAAe,MAAM;iBAAe,GAAG;kBAAgB,cAAc,CAAC,aAAa,CAAC;IA8LjI"}
@@ -3,6 +3,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextpro
3
3
  import { zodToJsonSchema } from 'zod-to-json-schema';
4
4
  import { getEnv, parseBases, VERSION } from '../config/env.js';
5
5
  import { logger } from '../logger.js';
6
+ import { toolCallsByToolTotal, toolCallsTotal, toolDurationSeconds } from '../metrics/index.js';
6
7
  import { createClientFromEnv, createClientFromToken } from '../seatable/client.js';
7
8
  import { ClientRegistry } from '../seatable/clientRegistry.js';
8
9
  import { ContextualClient } from '../seatable/contextualClient.js';
@@ -155,11 +156,15 @@ export class SeaTableMCPServer {
155
156
  const toolName = request.params.name;
156
157
  const tool = this.tools.get(toolName);
157
158
  if (!tool) {
159
+ logger.warn({ tool: toolName }, 'Unknown tool called');
160
+ toolCallsTotal.inc({ tool: toolName, status: 'not_found' });
158
161
  return {
159
162
  content: [{ type: 'text', text: JSON.stringify(`Unknown tool: ${toolName}`) }],
160
163
  isError: true,
161
164
  };
162
165
  }
166
+ const start = Date.now();
167
+ toolCallsByToolTotal.inc({ tool: toolName });
163
168
  try {
164
169
  // Multi-base: extract base param and set on contextual client
165
170
  if (this.contextualClient) {
@@ -167,9 +172,20 @@ export class SeaTableMCPServer {
167
172
  const baseName = args?.base;
168
173
  this.contextualClient.setBase(baseName);
169
174
  }
170
- return await tool.handler(request.params.arguments);
175
+ const result = await tool.handler(request.params.arguments);
176
+ const durationMs = Date.now() - start;
177
+ const durationSec = durationMs / 1000;
178
+ logger.info({ tool: toolName, duration_ms: durationMs }, 'Tool call completed');
179
+ toolCallsTotal.inc({ tool: toolName, status: 'success' });
180
+ toolDurationSeconds.observe({ tool: toolName }, durationSec);
181
+ return result;
171
182
  }
172
183
  catch (error) {
184
+ const durationMs = Date.now() - start;
185
+ const durationSec = durationMs / 1000;
186
+ logger.error({ tool: toolName, duration_ms: durationMs, err: error }, 'Tool call failed');
187
+ toolCallsTotal.inc({ tool: toolName, status: 'error' });
188
+ toolDurationSeconds.observe({ tool: toolName }, durationSec);
173
189
  return {
174
190
  content: [{
175
191
  type: 'text',
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ const InputSchema = z.object({
8
8
  export const registerAddRow = (server, { client, getInputSchema }) => {
9
9
  server.registerTool('add_row', {
10
10
  title: 'Add Row',
11
- description: 'Add a new row to a table. Link and file/image columns cannot be set here — use link_rows and upload_file instead.',
11
+ description: 'Add a new row to a table. Link and file/image columns cannot be set here — use link_rows and upload_file instead. Note: the response may contain column keys instead of column names due to a SeaTable API limitation.',
12
12
  inputSchema: getInputSchema(InputSchema),
13
13
  annotations: { readOnlyHint: false, destructiveHint: false },
14
14
  }, async (args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"addRow.js","sourceRoot":"","sources":["../../../src/mcp/tools/addRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAGpE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CAClE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IAChF,MAAM,CAAC,YAAY,CACf,SAAS,EACT;QACI,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,mHAAmH;QAChI,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC/D,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACpB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;QAC3C,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAC9C,yBAAyB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC/C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAA;IACzE,CAAC,CACJ,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"addRow.js","sourceRoot":"","sources":["../../../src/mcp/tools/addRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAGpE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CAClE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,cAAc,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IAChF,MAAM,CAAC,YAAY,CACf,SAAS,EACT;QACI,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,wNAAwN;QACrO,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC/D,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACpB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;QAC3C,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAC9C,yBAAyB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC/C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAA;IACzE,CAAC,CACJ,CAAA;AACL,CAAC,CAAA"}
@@ -3,12 +3,12 @@ import { mapMetadataToGeneric } from '../../schema/map.js';
3
3
  import { validateRowsAgainstSchema } from '../../schema/validate.js';
4
4
  const InputSchema = z.object({
5
5
  table: z.string().describe('Target table name'),
6
- rows: z.array(z.record(z.string(), z.any())).min(1).describe('Array of row objects (column name -> value)'),
6
+ rows: z.array(z.record(z.string(), z.any())).min(1).max(100).describe('Array of row objects (column name -> value)'),
7
7
  });
8
8
  export const registerAppendRows = (server, { client, getInputSchema }) => {
9
9
  server.registerTool('append_rows', {
10
10
  title: 'Append Rows',
11
- description: 'Batch insert rows. Rejects unknown columns. Link and file/image columns cannot be set here — use link_rows and upload_file instead.',
11
+ description: 'Batch insert rows. Rejects unknown columns. Link and file/image columns cannot be set here — use link_rows and upload_file instead. Note: the response may contain column keys instead of column names due to a SeaTable API limitation.',
12
12
  inputSchema: getInputSchema(InputSchema),
13
13
  annotations: { readOnlyHint: false, destructiveHint: false },
14
14
  }, async (args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"appendRows.js","sourceRoot":"","sources":["../../../src/mcp/tools/appendRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAGpE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CAC9G,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACpF,MAAM,CAAC,YAAY,CACf,aAAa,EACb;QACI,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,qIAAqI;QAClJ,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC/D,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACpB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;QAC3C,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAC9C,yBAAyB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QAE/C,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC3C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IACnF,CAAC,CACJ,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"appendRows.js","sourceRoot":"","sources":["../../../src/mcp/tools/appendRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAGpE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CACvH,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACpF,MAAM,CAAC,YAAY,CACf,aAAa,EACb;QACI,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,0OAA0O;QACvP,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC/D,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACpB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;QAC3C,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAC9C,yBAAyB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QAE/C,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC3C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IACnF,CAAC,CACJ,CAAA;AACL,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  const InputSchema = z.object({
3
3
  table: z.string().describe('Target table name'),
4
- row_ids: z.array(z.string()).min(1).describe('List of row IDs (_id field) to delete'),
4
+ row_ids: z.array(z.string()).min(1).max(100).describe('List of row IDs (_id field) to delete'),
5
5
  });
6
6
  export const registerDeleteRows = (server, { client, getInputSchema }) => {
7
7
  server.registerTool('delete_rows', {
@@ -1 +1 @@
1
- {"version":3,"file":"deleteRow.js","sourceRoot":"","sources":["../../../src/mcp/tools/deleteRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CACxF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACpF,MAAM,CAAC,YAAY,CACf,aAAa,EACb;QACI,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;KAC9D,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YACjD,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAClD,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"}
1
+ {"version":3,"file":"deleteRow.js","sourceRoot":"","sources":["../../../src/mcp/tools/deleteRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CACjG,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACpF,MAAM,CAAC,YAAY,CACf,aAAa,EACb;QACI,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;KAC9D,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YACjD,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAClD,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"}
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  const InputSchema = z.object({
3
3
  table: z.string().describe('Source table name'),
4
4
  link_column: z.string().describe('Name of the link column'),
5
- pairs: z.array(z.object({ from_row_id: z.string().describe('Row ID in source table'), to_row_id: z.string().describe('Row ID in linked table') })).min(1).describe('Array of row ID pairs to link'),
5
+ pairs: z.array(z.object({ from_row_id: z.string().describe('Row ID in source table'), to_row_id: z.string().describe('Row ID in linked table') })).min(1).max(100).describe('Array of row ID pairs to link'),
6
6
  });
7
7
  export const registerLinkRows = (server, { client, getInputSchema }) => {
8
8
  server.registerTool('link_rows', {
@@ -1 +1 @@
1
- {"version":3,"file":"linkRows.js","sourceRoot":"","sources":["../../../src/mcp/tools/linkRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC3D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CACpM,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACpF,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,+JAA+J;QAC5K,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;YACtC,KAAK;YACL,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;SAC9E,CAAC,CAAA;QAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAA;IACtE,CAAC,CACF,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"linkRows.js","sourceRoot":"","sources":["../../../src/mcp/tools/linkRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC3D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CAC7M,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACpF,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,+JAA+J;QAC5K,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;KAC7D,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;YACtC,KAAK;YACL,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;SAC9E,CAAC,CAAA;QAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAA;IACtE,CAAC,CACF,CAAA;AACH,CAAC,CAAA"}
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  const InputSchema = z.object({
3
3
  table: z.string().describe('Source table name'),
4
4
  link_column: z.string().describe('Name of the link column'),
5
- pairs: z.array(z.object({ from_row_id: z.string().describe('Row ID in source table'), to_row_id: z.string().describe('Row ID in linked table') })).min(1).describe('Array of row ID pairs to unlink'),
5
+ pairs: z.array(z.object({ from_row_id: z.string().describe('Row ID in source table'), to_row_id: z.string().describe('Row ID in linked table') })).min(1).max(100).describe('Array of row ID pairs to unlink'),
6
6
  });
7
7
  export const registerUnlinkRows = (server, { client, getInputSchema }) => {
8
8
  server.registerTool('unlink_rows', {
@@ -1 +1 @@
1
- {"version":3,"file":"unlinkRows.js","sourceRoot":"","sources":["../../../src/mcp/tools/unlinkRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC3D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CACtM,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACtF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,qJAAqJ;QAClK,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;KAC5D,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;YACtC,KAAK;YACL,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;SAC9E,CAAC,CAAA;QAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAA;IACtE,CAAC,CACF,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"unlinkRows.js","sourceRoot":"","sources":["../../../src/mcp/tools/unlinkRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC3D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAC/M,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACtF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,qJAAqJ;QAClK,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;KAC5D,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;YACtC,KAAK;YACL,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;SAC9E,CAAC,CAAA;QAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAA;IACtE,CAAC,CACF,CAAA;AACH,CAAC,CAAA"}
@@ -7,7 +7,7 @@ const UpdateItem = z.object({
7
7
  });
8
8
  const InputSchema = z.object({
9
9
  table: z.string().describe('Target table name'),
10
- updates: z.array(UpdateItem).min(1).describe('Array of updates, each with row_id and values'),
10
+ updates: z.array(UpdateItem).min(1).max(100).describe('Array of updates, each with row_id and values'),
11
11
  });
12
12
  export const registerUpdateRows = (server, { client, getInputSchema }) => {
13
13
  server.registerTool('update_rows', {
@@ -1 +1 @@
1
- {"version":3,"file":"updateRow.js","sourceRoot":"","sources":["../../../src/mcp/tools/updateRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAGpE,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CACvE,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAChG,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACpF,MAAM,CAAC,YAAY,CACf,aAAa,EACb;QACI,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,sJAAsJ;QACnK,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE;KACrF,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;QAC3C,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAC9C,yBAAyB,CACrB,OAAO,EACP,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,CAAC,CAA6B,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAC3D,CAAA;QAED,MAAM,OAAO,GAAG,EAAW,CAAA;QAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;YACjD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IACnF,CAAC,CACJ,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"updateRow.js","sourceRoot":"","sources":["../../../src/mcp/tools/updateRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAGpE,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CACvE,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CACzG,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;IACpF,MAAM,CAAC,YAAY,CACf,aAAa,EACb;QACI,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,sJAAsJ;QACnK,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE;KACrF,EACD,KAAK,EAAE,IAAa,EAAE,EAAE;QACpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;QAC3C,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAC9C,yBAAyB,CACrB,OAAO,EACP,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,CAAC,CAA6B,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAC3D,CAAA;QAED,MAAM,OAAO,GAAG,EAAW,CAAA;QAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;YACjD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;IACnF,CAAC,CACJ,CAAA;AACL,CAAC,CAAA"}
@@ -5,7 +5,7 @@ import { validateRowsAgainstSchema } from '../../schema/validate.js';
5
5
  const InputSchema = z.object({
6
6
  table: z.string().describe('Target table name'),
7
7
  key_columns: z.array(z.string()).min(1).describe('Columns to match on for finding existing rows'),
8
- rows: z.array(z.record(z.string(), z.any())).min(1).describe('Array of row objects (column name -> value)'),
8
+ rows: z.array(z.record(z.string(), z.any())).min(1).max(100).describe('Array of row objects (column name -> value)'),
9
9
  });
10
10
  export const registerUpsertRows = (server, { client, getInputSchema }) => {
11
11
  server.registerTool('upsert_rows', {
@@ -1 +1 @@
1
- {"version":3,"file":"upsertRows.js","sourceRoot":"","sources":["../../../src/mcp/tools/upsertRows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upsertRows.js","sourceRoot":"","sources":["../../../src/mcp/tools/upsertRows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Counter, Gauge, Histogram, Registry } from 'prom-client';
2
+ export declare const register: Registry<"text/plain; version=0.0.4; charset=utf-8">;
3
+ export declare const toolCallsTotal: Counter<"status" | "tool">;
4
+ export declare const toolCallsByToolTotal: Counter<"tool">;
5
+ export declare const httpRequestsTotal: Counter<"status" | "method">;
6
+ export declare const rateLimitExceededTotal: Counter<"type">;
7
+ export declare const authValidationsTotal: Counter<"result">;
8
+ export declare const seatableApiRequestsTotal: Counter<"status" | "operation">;
9
+ export declare const toolDurationSeconds: Histogram<"tool">;
10
+ export declare const seatableApiDurationSeconds: Histogram<"operation">;
11
+ export declare const activeSessions: Gauge<string>;
12
+ export declare const activeConnections: Gauge<string>;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAExF,eAAO,MAAM,QAAQ,sDAAiB,CAAA;AAOtC,eAAO,MAAM,cAAc,4BAKzB,CAAA;AAEF,eAAO,MAAM,oBAAoB,iBAK/B,CAAA;AAEF,eAAO,MAAM,iBAAiB,8BAK5B,CAAA;AAEF,eAAO,MAAM,sBAAsB,iBAKjC,CAAA;AAEF,eAAO,MAAM,oBAAoB,mBAK/B,CAAA;AAEF,eAAO,MAAM,wBAAwB,iCAKnC,CAAA;AAIF,eAAO,MAAM,mBAAmB,mBAM9B,CAAA;AAEF,eAAO,MAAM,0BAA0B,wBAMrC,CAAA;AAIF,eAAO,MAAM,cAAc,eAIzB,CAAA;AAEF,eAAO,MAAM,iBAAiB,eAI5B,CAAA"}