@progress/telerik-blazor-mcp
Version:
Model Context Protocol for Blazor
34 lines (33 loc) • 1.14 kB
JavaScript
import protoLoader from '@grpc/proto-loader';
import grpc from '@grpc/grpc-js';
import { dirname, join } from 'path';
import { fileURLToPath } from 'url';
import { readLicense } from './read-license.js';
const protoPath = join(dirname(fileURLToPath(import.meta.url)), '../../proto/service.proto');
const proto = protoLoader.loadSync(protoPath, {
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true,
});
const protoDescriptor = grpc.loadPackageDefinition(proto);
const service = protoDescriptor.ContextQueryService;
const client = new service('contextapi.telerik.com:443', grpc.credentials.createSsl());
export async function query(queryParams) {
const license = readLicense();
const metadata = new grpc.Metadata();
if (license && typeof license === 'string') {
metadata.add('x-license-key', license);
}
return new Promise((resolve, reject) => {
client.query(queryParams, metadata, (err, response) => {
if (err) {
reject(err);
}
else {
resolve(response);
}
});
});
}