@opensaas/stack-core 0.39.2 → 0.41.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.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +189 -0
- package/CLAUDE.md +103 -0
- package/dist/access/access-filter.d.ts +157 -14
- package/dist/access/access-filter.d.ts.map +1 -1
- package/dist/access/access-filter.js +470 -42
- package/dist/access/access-filter.js.map +1 -1
- package/dist/access/access-filter.test.js +982 -17
- package/dist/access/access-filter.test.js.map +1 -1
- package/dist/access/denied-relation-visibility.test.d.ts +2 -0
- package/dist/access/denied-relation-visibility.test.d.ts.map +1 -0
- package/dist/access/denied-relation-visibility.test.js +114 -0
- package/dist/access/denied-relation-visibility.test.js.map +1 -0
- package/dist/access/engine.d.ts +54 -1
- package/dist/access/engine.d.ts.map +1 -1
- package/dist/access/engine.js +84 -0
- package/dist/access/engine.js.map +1 -1
- package/dist/access/engine.test.d.ts +2 -0
- package/dist/access/engine.test.d.ts.map +1 -0
- package/dist/access/engine.test.js +56 -0
- package/dist/access/engine.test.js.map +1 -0
- package/dist/access/errors.d.ts +62 -0
- package/dist/access/errors.d.ts.map +1 -1
- package/dist/access/errors.js +85 -2
- package/dist/access/errors.js.map +1 -1
- package/dist/access/field-access.d.ts +12 -0
- package/dist/access/field-access.d.ts.map +1 -1
- package/dist/access/field-access.js +22 -2
- package/dist/access/field-access.js.map +1 -1
- package/dist/access/field-access.test.js +66 -0
- package/dist/access/field-access.test.js.map +1 -1
- package/dist/access/field-visibility.d.ts +2 -1
- package/dist/access/field-visibility.d.ts.map +1 -1
- package/dist/access/field-visibility.js +107 -15
- package/dist/access/field-visibility.js.map +1 -1
- package/dist/access/index.d.ts +9 -2
- package/dist/access/index.d.ts.map +1 -1
- package/dist/access/index.js +11 -2
- package/dist/access/index.js.map +1 -1
- package/dist/access/multi-column-read-write.test.js.map +1 -1
- package/dist/access/query-validation.d.ts +31 -0
- package/dist/access/query-validation.d.ts.map +1 -1
- package/dist/access/query-validation.js +75 -16
- package/dist/access/query-validation.js.map +1 -1
- package/dist/access/relationship-count.d.ts +41 -3
- package/dist/access/relationship-count.d.ts.map +1 -1
- package/dist/access/relationship-count.js +44 -7
- package/dist/access/relationship-count.js.map +1 -1
- package/dist/access/relationship-count.test.js +62 -0
- package/dist/access/relationship-count.test.js.map +1 -1
- package/dist/access/synthetic-include-read.test.d.ts +2 -0
- package/dist/access/synthetic-include-read.test.d.ts.map +1 -0
- package/dist/access/synthetic-include-read.test.js +121 -0
- package/dist/access/synthetic-include-read.test.js.map +1 -0
- package/dist/config/types.d.ts +98 -32
- package/dist/config/types.d.ts.map +1 -1
- package/dist/context/hook-pipeline.d.ts +2 -2
- package/dist/context/hook-pipeline.d.ts.map +1 -1
- package/dist/context/hook-pipeline.js.map +1 -1
- package/dist/context/index.d.ts +35 -2
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +121 -27
- package/dist/context/index.js.map +1 -1
- package/dist/context/nested-operations.d.ts +2 -2
- package/dist/context/nested-operations.d.ts.map +1 -1
- package/dist/context/nested-operations.js +74 -15
- package/dist/context/nested-operations.js.map +1 -1
- package/dist/context/write-pipeline.d.ts +3 -2
- package/dist/context/write-pipeline.d.ts.map +1 -1
- package/dist/context/write-pipeline.js +31 -34
- package/dist/context/write-pipeline.js.map +1 -1
- package/dist/fields/index.d.ts +13 -1
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +50 -5
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/relationship-foreign-key.test.d.ts +2 -0
- package/dist/fields/relationship-foreign-key.test.d.ts.map +1 -0
- package/dist/fields/relationship-foreign-key.test.js +18 -0
- package/dist/fields/relationship-foreign-key.test.js.map +1 -0
- package/dist/hooks/index.d.ts +16 -15
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/case-utils.d.ts +15 -0
- package/dist/lib/case-utils.d.ts.map +1 -1
- package/dist/lib/case-utils.js +21 -0
- package/dist/lib/case-utils.js.map +1 -1
- package/dist/lib/case-utils.test.js +23 -1
- package/dist/lib/case-utils.test.js.map +1 -1
- package/dist/lib/prisma-errors.d.ts +38 -0
- package/dist/lib/prisma-errors.d.ts.map +1 -0
- package/dist/lib/prisma-errors.js +53 -0
- package/dist/lib/prisma-errors.js.map +1 -0
- package/dist/mcp/constants.d.ts +23 -0
- package/dist/mcp/constants.d.ts.map +1 -0
- package/dist/mcp/constants.js +23 -0
- package/dist/mcp/constants.js.map +1 -0
- package/dist/mcp/field-schema.d.ts +8 -0
- package/dist/mcp/field-schema.d.ts.map +1 -0
- package/dist/mcp/field-schema.js +69 -0
- package/dist/mcp/field-schema.js.map +1 -0
- package/dist/mcp/handler.d.ts.map +1 -1
- package/dist/mcp/handler.js +76 -90
- package/dist/mcp/handler.js.map +1 -1
- package/dist/mcp/projection.d.ts +62 -0
- package/dist/mcp/projection.d.ts.map +1 -0
- package/dist/mcp/projection.js +390 -0
- package/dist/mcp/projection.js.map +1 -0
- package/dist/utils/password.d.ts +3 -1
- package/dist/utils/password.d.ts.map +1 -1
- package/dist/utils/password.js +4 -2
- package/dist/utils/password.js.map +1 -1
- package/package.json +2 -2
- package/src/access/access-filter.test.ts +1528 -18
- package/src/access/access-filter.ts +708 -42
- package/src/access/denied-relation-visibility.test.ts +173 -0
- package/src/access/engine.test.ts +67 -0
- package/src/access/engine.ts +109 -1
- package/src/access/errors.ts +97 -2
- package/src/access/field-access.test.ts +78 -0
- package/src/access/field-access.ts +34 -2
- package/src/access/field-visibility.ts +171 -25
- package/src/access/index.ts +25 -0
- package/src/access/multi-column-read-write.test.ts +3 -2
- package/src/access/query-validation.ts +136 -9
- package/src/access/relationship-count.test.ts +75 -0
- package/src/access/relationship-count.ts +53 -10
- package/src/access/synthetic-include-read.test.ts +179 -0
- package/src/config/types.ts +98 -32
- package/src/context/hook-pipeline.ts +4 -2
- package/src/context/index.ts +203 -42
- package/src/context/nested-operations.ts +96 -27
- package/src/context/write-pipeline.ts +60 -36
- package/src/fields/index.ts +55 -5
- package/src/fields/relationship-foreign-key.test.ts +29 -0
- package/src/hooks/index.ts +22 -15
- package/src/index.ts +17 -1
- package/src/lib/case-utils.test.ts +32 -0
- package/src/lib/case-utils.ts +26 -0
- package/src/lib/prisma-errors.ts +86 -0
- package/src/mcp/constants.ts +24 -0
- package/src/mcp/field-schema.ts +84 -0
- package/src/mcp/handler.ts +109 -107
- package/src/mcp/projection.ts +497 -0
- package/src/utils/password.ts +5 -3
- package/tests/access-relationships.test.ts +3 -3
- package/tests/access.test.ts +83 -0
- package/tests/context.test.ts +452 -17
- package/tests/field-types.test.ts +113 -0
- package/tests/hook-context-secured.test.ts +424 -0
- package/tests/mcp-fields-projection-access.test.ts +250 -0
- package/tests/mcp-handler.test.ts +695 -4
- package/tests/nested-access-and-hooks.test.ts +389 -0
- package/tests/nested-write-synthetic-relation.test.ts +437 -0
- package/tests/password-types.test.ts +28 -0
- package/tests/password.test.ts +16 -2
- package/tests/prisma-errors.test.ts +141 -0
- package/tests/singleton.test.ts +9 -1
- package/tests/to-one-include-access-filter.test.ts +172 -0
- package/tests/with-session.test.ts +243 -0
- package/tests/write-pipeline.test.ts +29 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/mcp/handler.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import * as z from 'zod';
|
|
2
|
+
import { checkAccess } from '../access/engine.js';
|
|
3
|
+
import { AccessScopeDepthExceededError, RelationFilterAccessDeniedError } from '../access/errors.js';
|
|
4
|
+
import { ValidationError } from '../hooks/index.js';
|
|
2
5
|
import { getDbKey } from '../lib/case-utils.js';
|
|
6
|
+
import { generateFieldSchemas } from './field-schema.js';
|
|
7
|
+
import { McpProjectionRefusedError, generateFieldsProjectionSchema, projectMcpResult, resolveFieldsProjection, } from './projection.js';
|
|
3
8
|
/** Strips transport-level fields; userId and any custom session fields flow through to access control. */
|
|
4
9
|
function toContextSession(session) {
|
|
5
10
|
const { accessToken: _accessToken, expiresAt: _expiresAt, scopes: _scopes, ...rest } = session;
|
|
@@ -83,7 +88,8 @@ export function createMcpHandlers(options) {
|
|
|
83
88
|
return new Response(null, { status: 204 });
|
|
84
89
|
}
|
|
85
90
|
if (body.method === 'tools/list') {
|
|
86
|
-
|
|
91
|
+
const context = await getContext(toContextSession(session));
|
|
92
|
+
return await handleToolsList(config, context, body.id);
|
|
87
93
|
}
|
|
88
94
|
if (body.method === 'tools/call') {
|
|
89
95
|
return await handleToolsCall(body.params, session, config, getContext, body.id);
|
|
@@ -132,77 +138,19 @@ function handleInitialize(_params, id) {
|
|
|
132
138
|
headers: { 'Content-Type': 'application/json' },
|
|
133
139
|
});
|
|
134
140
|
}
|
|
135
|
-
|
|
136
|
-
function fieldToJsonSchema(fieldName, fieldConfig) {
|
|
137
|
-
const baseSchema = {};
|
|
138
|
-
switch (fieldConfig.type) {
|
|
139
|
-
case 'text':
|
|
140
|
-
case 'password':
|
|
141
|
-
baseSchema.type = 'string';
|
|
142
|
-
if (fieldConfig.validation?.length) {
|
|
143
|
-
if (fieldConfig.validation.length.min)
|
|
144
|
-
baseSchema.minLength = fieldConfig.validation.length.min;
|
|
145
|
-
if (fieldConfig.validation.length.max)
|
|
146
|
-
baseSchema.maxLength = fieldConfig.validation.length.max;
|
|
147
|
-
}
|
|
148
|
-
break;
|
|
149
|
-
case 'integer':
|
|
150
|
-
baseSchema.type = 'number';
|
|
151
|
-
if (fieldConfig.validation?.min !== undefined)
|
|
152
|
-
baseSchema.minimum = fieldConfig.validation.min;
|
|
153
|
-
if (fieldConfig.validation?.max !== undefined)
|
|
154
|
-
baseSchema.maximum = fieldConfig.validation.max;
|
|
155
|
-
break;
|
|
156
|
-
case 'checkbox':
|
|
157
|
-
baseSchema.type = 'boolean';
|
|
158
|
-
break;
|
|
159
|
-
case 'timestamp':
|
|
160
|
-
baseSchema.type = 'string';
|
|
161
|
-
baseSchema.format = 'date-time';
|
|
162
|
-
break;
|
|
163
|
-
case 'select':
|
|
164
|
-
baseSchema.type = 'string';
|
|
165
|
-
if (fieldConfig.options) {
|
|
166
|
-
baseSchema.enum = fieldConfig.options.map((opt) => opt.value);
|
|
167
|
-
}
|
|
168
|
-
break;
|
|
169
|
-
case 'relationship':
|
|
170
|
-
baseSchema.type = 'object';
|
|
171
|
-
baseSchema.properties = {
|
|
172
|
-
connect: {
|
|
173
|
-
type: 'object',
|
|
174
|
-
properties: {
|
|
175
|
-
id: { type: 'string' },
|
|
176
|
-
},
|
|
177
|
-
},
|
|
178
|
-
};
|
|
179
|
-
break;
|
|
180
|
-
default:
|
|
181
|
-
baseSchema.type = 'string';
|
|
182
|
-
}
|
|
183
|
-
return baseSchema;
|
|
184
|
-
}
|
|
185
|
-
function generateFieldSchemas(fields, operation) {
|
|
186
|
-
const properties = {};
|
|
187
|
-
const required = [];
|
|
188
|
-
for (const [fieldName, fieldConfig] of Object.entries(fields)) {
|
|
189
|
-
if (['id', 'createdAt', 'updatedAt'].includes(fieldName))
|
|
190
|
-
continue;
|
|
191
|
-
properties[fieldName] = fieldToJsonSchema(fieldName, fieldConfig);
|
|
192
|
-
if (operation === 'create' &&
|
|
193
|
-
'validation' in fieldConfig &&
|
|
194
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Validation property varies by field type
|
|
195
|
-
fieldConfig.validation?.isRequired) {
|
|
196
|
-
required.push(fieldName);
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
return { properties, required };
|
|
200
|
-
}
|
|
201
|
-
function handleToolsList(config, id) {
|
|
141
|
+
async function handleToolsList(config, context, id) {
|
|
202
142
|
const tools = [];
|
|
203
143
|
for (const [listKey, listConfig] of Object.entries(config.lists)) {
|
|
204
144
|
if (listConfig.mcp?.enabled === false)
|
|
205
145
|
continue;
|
|
146
|
+
// A session denied operation-level `query` outright sees none of this
|
|
147
|
+
// list's tools, nor any relation entry elsewhere pointing at it as a
|
|
148
|
+
// target (`relatedListIfVisible` in projection.ts applies the identical
|
|
149
|
+
// check there) — ADR-0033.
|
|
150
|
+
const queryAccess = listConfig.access?.operation?.query;
|
|
151
|
+
const accessResult = await checkAccess(queryAccess, { session: context.session, context });
|
|
152
|
+
if (accessResult === false)
|
|
153
|
+
continue;
|
|
206
154
|
const dbKey = getDbKey(listKey);
|
|
207
155
|
const defaultTools = config.mcp?.defaultTools || {
|
|
208
156
|
read: true,
|
|
@@ -217,6 +165,7 @@ function handleToolsList(config, id) {
|
|
|
217
165
|
delete: listConfig.mcp?.tools?.delete ?? defaultTools.delete ?? true,
|
|
218
166
|
};
|
|
219
167
|
if (enabledTools.read) {
|
|
168
|
+
const fieldsSchema = await generateFieldsProjectionSchema(listConfig, config, context.session, context);
|
|
220
169
|
tools.push({
|
|
221
170
|
name: `list_${dbKey}_query`,
|
|
222
171
|
description: `Query ${listKey} records with optional filters`,
|
|
@@ -227,6 +176,7 @@ function handleToolsList(config, id) {
|
|
|
227
176
|
take: { type: 'number', description: 'Number of records to return (max 100)' },
|
|
228
177
|
skip: { type: 'number', description: 'Number of records to skip' },
|
|
229
178
|
orderBy: { type: 'object', description: 'Sort order' },
|
|
179
|
+
fields: fieldsSchema,
|
|
230
180
|
},
|
|
231
181
|
},
|
|
232
182
|
});
|
|
@@ -352,23 +302,45 @@ args, session, config, getContext, id) {
|
|
|
352
302
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Result type varies by Prisma operation
|
|
353
303
|
let result;
|
|
354
304
|
switch (operation) {
|
|
355
|
-
case 'query':
|
|
305
|
+
case 'query': {
|
|
306
|
+
let projection;
|
|
307
|
+
if (args.fields !== undefined) {
|
|
308
|
+
const listEntry = Object.entries(config.lists).find(([listKey]) => getDbKey(listKey) === dbKey);
|
|
309
|
+
if (!listEntry) {
|
|
310
|
+
return createErrorResponse(`Unknown list for tool: ${dbKey}`, id);
|
|
311
|
+
}
|
|
312
|
+
const [listKey, listConfig] = listEntry;
|
|
313
|
+
try {
|
|
314
|
+
projection = await resolveFieldsProjection(args.fields, listKey, listConfig, config, context.session, context);
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
if (error instanceof McpProjectionRefusedError || error instanceof ValidationError) {
|
|
318
|
+
return createErrorResultResponse(error.message, id);
|
|
319
|
+
}
|
|
320
|
+
throw error;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
356
323
|
result = await context.db[dbKey].findMany({
|
|
357
324
|
where: args.where,
|
|
358
325
|
take: Math.min(args.take || 10, 100),
|
|
359
326
|
skip: args.skip,
|
|
360
327
|
orderBy: args.orderBy,
|
|
328
|
+
...(projection?.include ? { include: projection.include } : {}),
|
|
361
329
|
});
|
|
330
|
+
const items = projection
|
|
331
|
+
? result.map((item) => projectMcpResult(item, projection))
|
|
332
|
+
: result;
|
|
362
333
|
return createSuccessResponse({
|
|
363
|
-
items
|
|
364
|
-
count:
|
|
334
|
+
items,
|
|
335
|
+
count: items.length,
|
|
365
336
|
}, id);
|
|
337
|
+
}
|
|
366
338
|
case 'create':
|
|
367
339
|
result = await context.db[dbKey].create({
|
|
368
340
|
data: args.data,
|
|
369
341
|
});
|
|
370
342
|
if (!result) {
|
|
371
|
-
return
|
|
343
|
+
return createErrorResultResponse('Failed to create record. Access denied or validation failed.', id);
|
|
372
344
|
}
|
|
373
345
|
return createSuccessResponse({ success: true, item: result }, id);
|
|
374
346
|
case 'update':
|
|
@@ -377,7 +349,7 @@ args, session, config, getContext, id) {
|
|
|
377
349
|
data: args.data,
|
|
378
350
|
});
|
|
379
351
|
if (!result) {
|
|
380
|
-
return
|
|
352
|
+
return createErrorResultResponse('Failed to update record. Access denied or record not found.', id);
|
|
381
353
|
}
|
|
382
354
|
return createSuccessResponse({ success: true, item: result }, id);
|
|
383
355
|
case 'delete':
|
|
@@ -385,7 +357,7 @@ args, session, config, getContext, id) {
|
|
|
385
357
|
where: args.where,
|
|
386
358
|
});
|
|
387
359
|
if (!result) {
|
|
388
|
-
return
|
|
360
|
+
return createErrorResultResponse('Failed to delete record. Access denied or record not found.', id);
|
|
389
361
|
}
|
|
390
362
|
return createSuccessResponse({ success: true, deletedId: args.where.id }, id);
|
|
391
363
|
default:
|
|
@@ -393,7 +365,11 @@ args, session, config, getContext, id) {
|
|
|
393
365
|
}
|
|
394
366
|
}
|
|
395
367
|
catch (error) {
|
|
396
|
-
|
|
368
|
+
if (error instanceof AccessScopeDepthExceededError ||
|
|
369
|
+
error instanceof RelationFilterAccessDeniedError) {
|
|
370
|
+
return createErrorResultResponse(error.message, id);
|
|
371
|
+
}
|
|
372
|
+
return createErrorResultResponse('Operation failed: ' + (error instanceof Error ? error.message : 'Unknown error'), id);
|
|
397
373
|
}
|
|
398
374
|
}
|
|
399
375
|
async function handleCustomTool(toolName,
|
|
@@ -414,17 +390,7 @@ args, session, config, getContext, id) {
|
|
|
414
390
|
if (isZodSchema(customTool.inputSchema)) {
|
|
415
391
|
const parsed = customTool.inputSchema.safeParse(args);
|
|
416
392
|
if (!parsed.success) {
|
|
417
|
-
return
|
|
418
|
-
jsonrpc: '2.0',
|
|
419
|
-
id: id ?? null,
|
|
420
|
-
error: {
|
|
421
|
-
code: -32602,
|
|
422
|
-
message: `Invalid params: ${parsed.error.message}`,
|
|
423
|
-
},
|
|
424
|
-
}), {
|
|
425
|
-
status: 400,
|
|
426
|
-
headers: { 'Content-Type': 'application/json' },
|
|
427
|
-
});
|
|
393
|
+
return createErrorResultResponse(`Invalid params: ${parsed.error.message}`, id);
|
|
428
394
|
}
|
|
429
395
|
input = parsed.data;
|
|
430
396
|
}
|
|
@@ -437,7 +403,7 @@ args, session, config, getContext, id) {
|
|
|
437
403
|
return createSuccessResponse(result, id);
|
|
438
404
|
}
|
|
439
405
|
catch (error) {
|
|
440
|
-
return
|
|
406
|
+
return createErrorResultResponse('Custom tool execution failed: ' + (error instanceof Error ? error.message : 'Unknown error'), id);
|
|
441
407
|
}
|
|
442
408
|
}
|
|
443
409
|
/**
|
|
@@ -451,18 +417,38 @@ args, session, config, getContext, id) {
|
|
|
451
417
|
function mcpJsonReplacer(_key, value) {
|
|
452
418
|
return typeof value === 'bigint' ? value.toString() : value;
|
|
453
419
|
}
|
|
420
|
+
function toToolContent(data) {
|
|
421
|
+
const text = typeof data === 'string' ? data : JSON.stringify(data, mcpJsonReplacer, 2);
|
|
422
|
+
return [{ type: 'text', text }];
|
|
423
|
+
}
|
|
454
424
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Response data structure is flexible per MCP protocol
|
|
455
425
|
function createSuccessResponse(data, id) {
|
|
456
426
|
return new Response(JSON.stringify({
|
|
457
427
|
jsonrpc: '2.0',
|
|
458
428
|
id: id ?? null,
|
|
459
|
-
result: {
|
|
460
|
-
|
|
461
|
-
},
|
|
429
|
+
result: { content: toToolContent(data) },
|
|
430
|
+
}), {
|
|
431
|
+
headers: { 'Content-Type': 'application/json' },
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* A dispatched tool that failed — access denial, a thrown engine/database
|
|
436
|
+
* error, or custom-tool input validation. This is a successful JSON-RPC
|
|
437
|
+
* response (HTTP 200, no `error` member): the model that called the tool
|
|
438
|
+
* needs to see the failure in `result` to have any chance of correcting its
|
|
439
|
+
* request, whereas a JSON-RPC `error` object is a protocol-level failure a
|
|
440
|
+
* host may never surface back to it.
|
|
441
|
+
*/
|
|
442
|
+
function createErrorResultResponse(message, id) {
|
|
443
|
+
return new Response(JSON.stringify({
|
|
444
|
+
jsonrpc: '2.0',
|
|
445
|
+
id: id ?? null,
|
|
446
|
+
result: { content: toToolContent(message), isError: true },
|
|
462
447
|
}), {
|
|
463
448
|
headers: { 'Content-Type': 'application/json' },
|
|
464
449
|
});
|
|
465
450
|
}
|
|
451
|
+
/** Genuine JSON-RPC protocol failures — unknown method, malformed request, unknown tool name. */
|
|
466
452
|
function createErrorResponse(message, id) {
|
|
467
453
|
return new Response(JSON.stringify({
|
|
468
454
|
jsonrpc: '2.0',
|
package/dist/mcp/handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/mcp/handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/mcp/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { AccessContext, Session } from '../access/types.js';
|
|
2
|
+
import type { ListConfig, OpenSaasConfig } from '../config/types.js';
|
|
3
|
+
import type { FieldSelection } from '../query/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Thrown when a `query` tool's `fields` argument names something the
|
|
6
|
+
* generated projection schema does not advertise — an unknown field, a
|
|
7
|
+
* relation two levels deeper than enumerated, or the wrong shape for what
|
|
8
|
+
* it named. Caught in the MCP handler and turned into an `isError` tool
|
|
9
|
+
* result (never a JSON-RPC protocol error, #995) naming what was asked for
|
|
10
|
+
* and what is available, so the calling model can retry narrower.
|
|
11
|
+
*/
|
|
12
|
+
export declare class McpProjectionRefusedError extends Error {
|
|
13
|
+
constructor(message: string);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Generate the JSON Schema for the `query` tool's `fields` projection
|
|
17
|
+
* argument: two levels of the list's own vocabulary (ADR-0033). Level 1 is
|
|
18
|
+
* this list's own scalar/virtual fields (booleans) and relations (nested
|
|
19
|
+
* objects); level 2, inside a relation's own `fields`, is the related
|
|
20
|
+
* list's scalar/virtual fields only — a relation named there terminates
|
|
21
|
+
* (not itself selectable further), which is what keeps the schema finite
|
|
22
|
+
* against a self-referential relationship. Denied/MCP-disabled relation
|
|
23
|
+
* targets are omitted from the vocabulary entirely, per-session.
|
|
24
|
+
*/
|
|
25
|
+
export declare function generateFieldsProjectionSchema(listConfig: ListConfig<any>, config: OpenSaasConfig, session: Session | null, context: AccessContext): Promise<Record<string, unknown>>;
|
|
26
|
+
/** What `resolveFieldsProjection` produces: a `context.db` `include` to fetch, the field selection to project the result down to, and which relations asked for a count. */
|
|
27
|
+
export type ResolvedFieldsProjection = {
|
|
28
|
+
include: Record<string, unknown> | undefined;
|
|
29
|
+
fieldSelection: FieldSelection<unknown>;
|
|
30
|
+
countRequests: Map<string, 'only' | 'alongside'>;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Validate a caller-supplied `fields` argument against the same vocabulary
|
|
34
|
+
* `generateFieldsProjectionSchema` advertises, and translate it into a
|
|
35
|
+
* `context.db` `include` (so the normal read pipeline — access scoping,
|
|
36
|
+
* `needs` folding, the depth cap — applies exactly as it does for any other
|
|
37
|
+
* caller `include`; no parallel read path) plus a `FieldSelection` for
|
|
38
|
+
* projecting the result down to what was asked for. Throws
|
|
39
|
+
* `McpProjectionRefusedError` naming what was asked for and what's
|
|
40
|
+
* available on any mismatch, never serves on a best-effort basis.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveFieldsProjection(fieldsArg: unknown, listKey: string, listConfig: ListConfig<any>, config: OpenSaasConfig, session: Session | null, context: AccessContext): Promise<ResolvedFieldsProjection>;
|
|
43
|
+
/**
|
|
44
|
+
* Project one raw (already access-checked and field-visibility-filtered)
|
|
45
|
+
* result row down to a resolved `fields` projection, folding in any
|
|
46
|
+
* requested relation counts from Prisma's `_count`.
|
|
47
|
+
*
|
|
48
|
+
* `_count` is not a declared field, so field-visibility (`filterReadableFields`)
|
|
49
|
+
* never applies the relationship field's own field-level `read` access to it
|
|
50
|
+
* the way it already does for the relation's rows. Rather than re-deriving
|
|
51
|
+
* that decision here — which would mean evaluating the field's access rule
|
|
52
|
+
* a second time against `rawItem`, a row `filterReadableFields` may have
|
|
53
|
+
* already stripped OTHER fields from, risking a different answer than the
|
|
54
|
+
* canonical one it computed against the true raw row — `resolveFieldsProjection`
|
|
55
|
+
* names every counted relation in the include (even a count-only one, with
|
|
56
|
+
* `take: 0`) purely so the ordinary pipeline makes that decision once, at the
|
|
57
|
+
* right place. A count is emitted only for a relation whose key survived
|
|
58
|
+
* into `rawItem`; one field-visibility dropped is a relation whose count
|
|
59
|
+
* must stay hidden too.
|
|
60
|
+
*/
|
|
61
|
+
export declare function projectMcpResult(rawItem: Record<string, unknown>, resolved: ResolvedFieldsProjection): Record<string, unknown>;
|
|
62
|
+
//# sourceMappingURL=projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/mcp/projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAe,UAAU,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAA;AAGpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAuCvD;;;;;;;GAOG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AA6CD;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAElD,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,EAC3B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA4DlC;AAED,4KAA4K;AAC5K,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC5C,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACvC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,CAAA;CACjD,CAAA;AA4CD;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,MAAM,EAEf,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,EAC3B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAqNnC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,wBAAwB,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB"}
|