@databasin/mcp-client 0.2.0-beta.1 → 0.2.0

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 (69) hide show
  1. package/README.md +30 -26
  2. package/dist/auth-schema.d.ts +23 -0
  3. package/dist/auth-schema.d.ts.map +1 -0
  4. package/dist/auth-schema.js +42 -0
  5. package/dist/auth-schema.js.map +1 -0
  6. package/dist/auth-tools.d.ts +10 -0
  7. package/dist/auth-tools.d.ts.map +1 -0
  8. package/dist/auth-tools.js +60 -0
  9. package/dist/auth-tools.js.map +1 -0
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +2 -1
  12. package/dist/cli.js.map +1 -1
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/mcp-endpoint.d.ts +5 -0
  18. package/dist/mcp-endpoint.d.ts.map +1 -0
  19. package/dist/mcp-endpoint.js +22 -0
  20. package/dist/mcp-endpoint.js.map +1 -0
  21. package/dist/proxy-tools.d.ts +5 -0
  22. package/dist/proxy-tools.d.ts.map +1 -0
  23. package/dist/proxy-tools.js +39 -0
  24. package/dist/proxy-tools.js.map +1 -0
  25. package/dist/remote-mcp.d.ts +27 -0
  26. package/dist/remote-mcp.d.ts.map +1 -0
  27. package/dist/remote-mcp.js +70 -0
  28. package/dist/remote-mcp.js.map +1 -0
  29. package/dist/server.d.ts +3 -3
  30. package/dist/server.d.ts.map +1 -1
  31. package/dist/server.js +16 -6
  32. package/dist/server.js.map +1 -1
  33. package/dist/version.d.ts +1 -1
  34. package/dist/version.d.ts.map +1 -1
  35. package/dist/version.js +1 -1
  36. package/dist/version.js.map +1 -1
  37. package/package.json +3 -2
  38. package/dist/abort.d.ts +0 -5
  39. package/dist/abort.d.ts.map +0 -1
  40. package/dist/abort.js +0 -25
  41. package/dist/abort.js.map +0 -1
  42. package/dist/api-client.d.ts +0 -58
  43. package/dist/api-client.d.ts.map +0 -1
  44. package/dist/api-client.js +0 -151
  45. package/dist/api-client.js.map +0 -1
  46. package/dist/api-contract.d.ts +0 -59
  47. package/dist/api-contract.d.ts.map +0 -1
  48. package/dist/api-contract.js +0 -47
  49. package/dist/api-contract.js.map +0 -1
  50. package/dist/api-profile.d.ts +0 -5
  51. package/dist/api-profile.d.ts.map +0 -1
  52. package/dist/api-profile.js +0 -38
  53. package/dist/api-profile.js.map +0 -1
  54. package/dist/api-request.d.ts +0 -27
  55. package/dist/api-request.d.ts.map +0 -1
  56. package/dist/api-request.js +0 -147
  57. package/dist/api-request.js.map +0 -1
  58. package/dist/api-response.d.ts +0 -9
  59. package/dist/api-response.d.ts.map +0 -1
  60. package/dist/api-response.js +0 -206
  61. package/dist/api-response.js.map +0 -1
  62. package/dist/schemas.d.ts +0 -431
  63. package/dist/schemas.d.ts.map +0 -1
  64. package/dist/schemas.js +0 -289
  65. package/dist/schemas.js.map +0 -1
  66. package/dist/tools.d.ts +0 -28
  67. package/dist/tools.d.ts.map +0 -1
  68. package/dist/tools.js +0 -328
  69. package/dist/tools.js.map +0 -1
package/dist/schemas.js DELETED
@@ -1,289 +0,0 @@
1
- import { z } from 'zod';
2
- import { CorrelationIdSchema } from './correlation.js';
3
- import { validateDeviceLoginUrl } from './login-url.js';
4
- import { containsSensitiveMaterial, isSensitiveKey } from './safety.js';
5
- export { CorrelationIdSchema } from './correlation.js';
6
- export const MAX_PROMPT_BYTES = 32 * 1024;
7
- export const MAX_CONTEXT_BYTES = 128 * 1024;
8
- export const MAX_AGENT_RESULT_BYTES = 256 * 1024;
9
- const identifier = z.string().trim().min(1).max(256);
10
- const boundedText = (max) => z.string().max(max);
11
- const numericId = z.string().trim().regex(/^[1-9][0-9]{0,63}$/u, 'must be a positive numeric ID');
12
- export const ALLOWED_AGENT_MODELS = ['haiku', 'sonnet'];
13
- const safeModel = z.enum(ALLOWED_AGENT_MODELS);
14
- const authEnvironment = z.enum(['prod', 'np']);
15
- const URL_LIKE_AUTH_MESSAGE = /(?:\b(?:https?|hxxps?|ftp|file|data|javascript)\s*:\s*(?:[/\\]\s*){0,2}|\bwww\s*(?:\.|\[\.\]|\(\.\))|(?:\b|@)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.|\[\.\]|\(\.\)))+[a-z]{2,63}(?=\b|[/:?#])|\b(?:localhost|(?:\d{1,3}\.){3}\d{1,3})(?=[:/\s]|$))/iu;
16
- const authMessage = boundedText(1_000).refine((value) => !URL_LIKE_AUTH_MESSAGE.test(normalizeAuthMessage(value)), 'The authentication message was rejected.');
17
- const safeDeviceLoginUrl = z.string().max(4_096).superRefine((value, context) => {
18
- try {
19
- validateDeviceLoginUrl(value);
20
- }
21
- catch {
22
- context.addIssue({ code: 'custom', message: 'The authentication result was rejected.' });
23
- }
24
- });
25
- export const AssistantAuthOutputSchema = z.discriminatedUnion('status', [
26
- z.object({
27
- status: z.literal('pending'),
28
- environment: authEnvironment,
29
- loginUrl: safeDeviceLoginUrl.nullable(),
30
- userCode: z.string().trim().regex(/^[A-Z0-9-]{4,32}$/iu).optional(),
31
- expiresAt: z.iso.datetime().optional(),
32
- message: authMessage
33
- }).strict(),
34
- ...['authenticated', 'not_authenticated', 'failed'].map((status) => z.object({
35
- status: z.literal(status),
36
- environment: authEnvironment,
37
- loginUrl: z.null(),
38
- userCode: z.never().optional(),
39
- expiresAt: z.never().optional(),
40
- message: authMessage
41
- }).strict())
42
- ]).superRefine((value, context) => {
43
- if (value.status !== 'pending')
44
- return;
45
- const hasPrompt = value.loginUrl !== null;
46
- if (hasPrompt !== (value.userCode !== undefined) || hasPrompt !== (value.expiresAt !== undefined)) {
47
- context.addIssue({ code: 'custom', message: 'The authentication result has an invalid pending state.' });
48
- }
49
- });
50
- export const CapabilitiesDataSchema = z.object({
51
- capabilities: z.array(identifier).max(50),
52
- tools: z.array(identifier).max(50)
53
- }).strict();
54
- export const ProjectSchema = z.object({
55
- id: identifier,
56
- name: boundedText(500).nullable(),
57
- organizationId: identifier.nullable()
58
- }).strict();
59
- export const ConnectionSchema = z.object({
60
- id: z.union([identifier, z.number().int().positive()]),
61
- institutionId: identifier.nullable(),
62
- name: boundedText(500).nullable(),
63
- connectorType: boundedText(200).nullable(),
64
- connectorSubType: boundedText(200).nullable(),
65
- active: z.boolean()
66
- }).strict();
67
- export const ContextDataSchema = z.object({
68
- projects: z.array(ProjectSchema).max(500),
69
- connections: z.array(ConnectionSchema).max(500),
70
- capabilities: z.array(identifier).max(50)
71
- }).strict();
72
- export const SearchInputSchema = z.object({
73
- q: z.string().trim().min(2).max(200),
74
- projectInternalId: identifier.optional(),
75
- institutionId: numericId.optional(),
76
- types: z.array(z.enum(['pipeline', 'connector', 'automation'])).max(3).optional(),
77
- limit: z.number().int().min(1).max(25).default(10)
78
- }).strict().superRefine((value, context) => {
79
- if (value.projectInternalId !== undefined && value.institutionId === undefined) {
80
- context.addIssue({
81
- code: 'custom',
82
- path: ['projectInternalId'],
83
- message: 'institutionId is required when projectInternalId is provided'
84
- });
85
- }
86
- });
87
- export const SearchDataSchema = z.object({
88
- items: z.array(z.object({
89
- id: identifier,
90
- type: z.enum(['pipeline', 'connector', 'automation', 'unknown']),
91
- name: boundedText(500),
92
- description: boundedText(2_000).nullable(),
93
- projectInternalId: identifier.nullable(),
94
- institutionId: identifier.nullable(),
95
- updatedAt: boundedText(100).nullable()
96
- }).strict()).max(25),
97
- truncated: z.boolean()
98
- }).strict();
99
- export const SchemaLevelSchema = z.enum(['catalogs', 'schemas', 'tables', 'columns']);
100
- export const GetSchemaInputSchema = z.object({
101
- connectorId: numericId,
102
- level: SchemaLevelSchema,
103
- catalog: identifier.optional(),
104
- schema: identifier.optional(),
105
- table: identifier.optional()
106
- }).strict().superRefine((value, context) => {
107
- if (['schemas', 'tables', 'columns'].includes(value.level) && !value.catalog) {
108
- context.addIssue({ code: 'custom', path: ['catalog'], message: 'catalog is required for this level' });
109
- }
110
- if (['tables', 'columns'].includes(value.level) && !value.schema) {
111
- context.addIssue({ code: 'custom', path: ['schema'], message: 'schema is required for this level' });
112
- }
113
- if (value.level === 'columns' && !value.table) {
114
- context.addIssue({ code: 'custom', path: ['table'], message: 'table is required for columns' });
115
- }
116
- });
117
- export const GetSchemaDataSchema = z.object({
118
- connectorId: identifier,
119
- level: SchemaLevelSchema,
120
- items: z.array(z.object({
121
- name: identifier,
122
- type: boundedText(200).nullable(),
123
- comment: boundedText(2_000).nullable()
124
- }).strict()).max(200),
125
- truncated: z.boolean()
126
- }).strict();
127
- const JsonContextSchema = z.record(z.string().min(1).max(128), z.unknown()).superRefine((value, context) => {
128
- validateJsonContext(value, context);
129
- if (Buffer.byteLength(JSON.stringify(value), 'utf8') > MAX_CONTEXT_BYTES) {
130
- context.addIssue({ code: 'custom', message: 'context exceeds the 128 KiB limit' });
131
- }
132
- });
133
- const agentRunRequestShape = {
134
- institutionId: numericId,
135
- projectInternalId: z.string().trim().min(1).max(128).optional(),
136
- connectorId: numericId.optional(),
137
- profile: z.literal('metadata_readonly').default('metadata_readonly'),
138
- prompt: z.string().trim().min(1).max(MAX_PROMPT_BYTES).refine((value) => Buffer.byteLength(value, 'utf8') <= MAX_PROMPT_BYTES, 'prompt exceeds the 32 KiB limit').refine((value) => !containsSensitiveMaterial(value), 'prompt contains sensitive material'),
139
- context: JsonContextSchema.default({}),
140
- model: safeModel.optional(),
141
- maxTurns: z.number().int().min(1).max(100).default(50)
142
- };
143
- export const AgentRunRequestSchema = z.object(agentRunRequestShape).strict();
144
- export const AgentRunToolInputSchema = z.object({
145
- ...agentRunRequestShape,
146
- idempotencyKey: z.uuid().optional()
147
- }).strict();
148
- export const AgentRunStatusSchema = z.enum(['queued', 'running', 'completed', 'failed', 'cancelled']);
149
- export const RunIdSchema = z.uuidv7();
150
- export const AgentRunResultSchema = z.object({
151
- content: z.string().max(MAX_AGENT_RESULT_BYTES).refine((value) => Buffer.byteLength(value, 'utf8') <= MAX_AGENT_RESULT_BYTES, 'agent result exceeds the 256 KiB limit'),
152
- turns: z.number().int().min(0).max(100).nullable()
153
- }).strict();
154
- export const AgentRunErrorSchema = z.object({
155
- code: identifier,
156
- message: boundedText(1_000)
157
- }).strict();
158
- export const AgentRunDataSchema = z.object({
159
- runId: RunIdSchema,
160
- institutionId: numericId,
161
- projectInternalId: z.string().min(1).max(128).nullable(),
162
- connectorId: numericId.nullable(),
163
- profile: z.literal('metadata_readonly'),
164
- status: AgentRunStatusSchema,
165
- result: AgentRunResultSchema.nullable(),
166
- error: AgentRunErrorSchema.nullable(),
167
- createdAt: z.iso.datetime(),
168
- updatedAt: z.iso.datetime()
169
- }).strict();
170
- export const AgentRunLookupInputSchema = z.object({ runId: RunIdSchema }).strict();
171
- export const CancelAgentRunInputSchema = z.object({
172
- runId: RunIdSchema,
173
- reason: z.enum(['user_requested', 'no_longer_needed', 'budget_exceeded', 'policy']).default('user_requested'),
174
- idempotencyKey: z.uuid().optional()
175
- }).strict();
176
- // language is always the literal 'sql' and timeoutSeconds is a fixed facade-side
177
- // constant -- neither is a caller-facing concept, so this input never defines them.
178
- export const RunQueryInputSchema = z.object({
179
- connectorId: numericId,
180
- code: z.string().trim().min(1).max(MAX_PROMPT_BYTES).refine((value) => Buffer.byteLength(value, 'utf8') <= MAX_PROMPT_BYTES, 'code exceeds the 32 KiB limit'),
181
- maxRows: z.number().int().min(1).max(1_000).default(1_000)
182
- }).strict();
183
- export const QueryLookupInputSchema = z.object({ queryId: identifier }).strict();
184
- export const QueryStatusSchema = z.enum(['queued', 'running', 'completed', 'failed', 'cancelled']);
185
- export const QueryColumnSchema = z.object({
186
- name: identifier,
187
- type: boundedText(200)
188
- }).strict();
189
- export const QueryErrorSchema = z.object({
190
- code: identifier,
191
- message: boundedText(1_000)
192
- }).strict();
193
- const queryCellSchema = z.lazy(() => z.union([
194
- z.string(),
195
- z.number(),
196
- z.boolean(),
197
- z.null(),
198
- z.array(queryCellSchema),
199
- z.record(z.string(), queryCellSchema)
200
- ]));
201
- export const QueryDataSchema = z.object({
202
- queryId: identifier,
203
- // The JVM's own QueryResponse carries no connectorId at all, so the facade can
204
- // only echo it back for the initial run (from the caller's own input) -- status
205
- // and cancel lookups genuinely have no connectorId to supply.
206
- connectorId: numericId.nullable(),
207
- status: QueryStatusSchema,
208
- columns: z.array(QueryColumnSchema).max(1_000).nullable(),
209
- data: z.array(z.array(queryCellSchema).max(1_000)).max(1_000).nullable(),
210
- rowCount: z.number().int().min(0).nullable(),
211
- truncated: z.boolean(),
212
- error: QueryErrorSchema.nullable()
213
- }).strict();
214
- // The Dave agent is stateless per call in v1 -- no session continuity -- so this
215
- // input never defines model, sessionId, options, tools, or any permission
216
- // override; the wrapper's own read-only policy (ClaudeAgentPolicy) is the sole
217
- // enforcement point and is not reimplemented here.
218
- export const RunAssistantInputSchema = z.object({
219
- connectorId: numericId,
220
- prompt: z.string().trim().min(1).max(MAX_PROMPT_BYTES).refine((value) => Buffer.byteLength(value, 'utf8') <= MAX_PROMPT_BYTES, 'prompt exceeds the 32 KiB limit').refine((value) => !containsSensitiveMaterial(value), 'prompt contains sensitive material'),
221
- context: z.string().trim().min(1).max(4_096).refine((value) => !containsSensitiveMaterial(value), 'context contains sensitive material').optional(),
222
- maxTurns: z.number().int().min(1).max(25).default(6)
223
- }).strict();
224
- export const AssistantStatusSchema = z.enum(['completed', 'failed', 'incomplete']);
225
- export const AssistantErrorSchema = z.object({
226
- code: identifier.nullable(),
227
- message: boundedText(1_000)
228
- }).strict();
229
- export const AssistantDataSchema = z.object({
230
- status: AssistantStatusSchema,
231
- text: z.string().max(MAX_AGENT_RESULT_BYTES).refine((value) => Buffer.byteLength(value, 'utf8') <= MAX_AGENT_RESULT_BYTES, 'text exceeds the 256 KiB limit'),
232
- turns: z.number().int().min(0).max(100).nullable(),
233
- error: AssistantErrorSchema.nullable()
234
- }).strict();
235
- export function successEnvelopeSchema(data) {
236
- return z.object({ data, correlationId: CorrelationIdSchema }).strict();
237
- }
238
- export const CapabilitiesEnvelopeSchema = successEnvelopeSchema(CapabilitiesDataSchema);
239
- export const ContextEnvelopeSchema = successEnvelopeSchema(ContextDataSchema);
240
- export const SearchEnvelopeSchema = successEnvelopeSchema(SearchDataSchema);
241
- export const GetSchemaEnvelopeSchema = successEnvelopeSchema(GetSchemaDataSchema);
242
- export const AgentRunEnvelopeSchema = successEnvelopeSchema(AgentRunDataSchema);
243
- export const QueryEnvelopeSchema = successEnvelopeSchema(QueryDataSchema);
244
- export const AssistantEnvelopeSchema = successEnvelopeSchema(AssistantDataSchema);
245
- function normalizeAuthMessage(value) {
246
- return value.normalize('NFKC').replace(/[\u200B-\u200D\u2060\uFEFF]/gu, '').replace(/\s+/gu, ' ');
247
- }
248
- function validateJsonContext(value, context, path = [], depth = 0) {
249
- if (depth > 12) {
250
- context.addIssue({ code: 'custom', path, message: 'context is too deeply nested' });
251
- return;
252
- }
253
- if (isJsonPrimitive(value)) {
254
- validatePrimitive(value, context, path);
255
- return;
256
- }
257
- if (Array.isArray(value)) {
258
- value.forEach((item, index) => validateJsonContext(item, context, [...path, index], depth + 1));
259
- return;
260
- }
261
- if (!value || typeof value !== 'object') {
262
- context.addIssue({ code: 'custom', path, message: 'context must contain only JSON values' });
263
- return;
264
- }
265
- validateJsonRecord(value, context, path, depth);
266
- }
267
- function isJsonPrimitive(value) {
268
- if (value === null || typeof value === 'string' || typeof value === 'boolean')
269
- return true;
270
- return typeof value === 'number' && Number.isFinite(value);
271
- }
272
- function validatePrimitive(value, context, path) {
273
- if (typeof value === 'string' && containsSensitiveMaterial(value)) {
274
- context.addIssue({ code: 'custom', path, message: 'context contains sensitive material' });
275
- }
276
- }
277
- function validateJsonRecord(value, context, path, depth) {
278
- for (const [key, item] of Object.entries(value)) {
279
- const itemPath = [...path, key];
280
- if (isSensitiveKey(key) || isPrototypeKey(key)) {
281
- context.addIssue({ code: 'custom', path: itemPath, message: 'context contains a forbidden key' });
282
- }
283
- validateJsonContext(item, context, itemPath, depth + 1);
284
- }
285
- }
286
- function isPrototypeKey(key) {
287
- return key === 'constructor' || key === 'prototype' || key === '__proto__';
288
- }
289
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts DELETED
@@ -1,28 +0,0 @@
1
- import { McpServer } from '@modelcontextprotocol/server';
2
- import type { DataBasinApi } from './api-client.js';
3
- import type { AssistantAuthResult } from './auth.js';
4
- import type { DataBasinProfile } from './config.js';
5
- export declare const LOCAL_AUTH_TOOL_NAMES: readonly ["databasin_auth_status", "databasin_login"];
6
- export declare const REMOTE_PRODUCT_TOOL_NAMES: readonly ["databasin_get_capabilities", "databasin_get_context", "databasin_search", "databasin_get_schema", "databasin_run_agent", "databasin_get_agent_run", "databasin_cancel_agent_run", "databasin_run_query", "databasin_get_query_status", "databasin_cancel_query", "databasin_run_assistant"];
7
- export declare const TOOL_NAMES: readonly ["databasin_auth_status", "databasin_login", "databasin_get_capabilities", "databasin_get_context", "databasin_search", "databasin_get_schema", "databasin_run_agent", "databasin_get_agent_run", "databasin_cancel_agent_run", "databasin_run_query", "databasin_get_query_status", "databasin_cancel_query", "databasin_run_assistant"];
8
- type PollingOptions = {
9
- maxWaitMs: number;
10
- initialDelayMs: number;
11
- maxDelayMs: number;
12
- sleep: (milliseconds: number, signal?: AbortSignal) => Promise<void>;
13
- now: () => number;
14
- };
15
- interface Dependencies {
16
- api: DataBasinApi;
17
- auth: {
18
- startLogin(): Promise<AssistantAuthResult>;
19
- getLoginStatus(): Promise<AssistantAuthResult>;
20
- };
21
- profile: DataBasinProfile;
22
- maxOutputBytes?: number;
23
- polling?: Partial<PollingOptions>;
24
- queryPolling?: Partial<PollingOptions>;
25
- }
26
- export declare function registerDataBasinTools(server: McpServer, dependencies: Dependencies): void;
27
- export {};
28
- //# sourceMappingURL=tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAsB,MAAM,8BAA8B,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA0BpD,eAAO,MAAM,qBAAqB,uDAGvB,CAAC;AAEZ,eAAO,MAAM,yBAAyB,wSAY3B,CAAC;AAEZ,eAAO,MAAM,UAAU,oVAGZ,CAAC;AAEZ,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB,CAAC;AAEF,UAAU,YAAY;IACpB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE;QACJ,UAAU,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC3C,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAChD,CAAC;IACF,OAAO,EAAE,gBAAgB,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACxC;AAoBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAU1F"}