Skip to main content
Glama
logs.ts1.89 kB
import { LogEntry } from "@superglue/shared"; import { EventEmitter } from 'events'; import { logEmitter } from '../../utils/logs.js'; import { Context } from '../types.js'; // Export resolver export const logsResolver = { subscribe: (_, { }, context: Context) => { const orgId = context.orgId; return { [Symbol.asyncIterator]() { const emitter = new EventEmitter(); // Handler for new logs const logHandler = (log: LogEntry) => { if (log.orgId === orgId) { // Add small delay to ensure subscription is ready setTimeout(() => { emitter.emit('data', { logs: log }); }, 0); } }; // Subscribe to log events logEmitter.on('log', logHandler); return { next() { return new Promise((resolve) => { emitter.once('data', (value) => { if (value?.logs?.orgId === orgId) { resolve({ value, done: false }); } }); }); }, return() { logEmitter.removeListener('log', logHandler); return Promise.resolve({ value: undefined, done: true }); }, throw(error: Error) { logEmitter.removeListener('log', logHandler); return Promise.reject(error); }, [Symbol.asyncIterator]() { return this; } }; } }; } };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/superglue-ai/superglue'

If you have feedback or need assistance with the MCP directory API, please join our Discord server