22 lines
870 B
JavaScript
22 lines
870 B
JavaScript
// Generated, do not edit. sha256:6d030f08e2df0805a10aaaf982941c7fff895ab138d87d0dfa035a84ed9a5d86
|
|
import { createRegistry } from '../shared/registry.js';
|
|
|
|
const needs = (keys) => (entry) => {
|
|
for (const k of keys) if (entry[k] === undefined) throw new Error(`'${entry.id}' lacks '${k}'`);
|
|
};
|
|
|
|
export const apiRoutes = createRegistry('api route', { validate: needs(['method', 'path', 'run']) });
|
|
|
|
export const dataModules = createRegistry('data module', { validate: needs(['module']) });
|
|
|
|
export const services = createRegistry('service');
|
|
|
|
export const mcpTools = createRegistry('mcp tool', {
|
|
validate: (e) => {
|
|
needs(['tool'])(e);
|
|
if (e.tool.name !== e.id) throw new Error(`mcp tool '${e.id}' carries the name '${e.tool.name}'`);
|
|
},
|
|
});
|
|
|
|
export const healthChecks = createRegistry('health check', { validate: needs(['severity', 'run', 'countsFrom']) });
|