UNPKG

@aj-archipelago/cortex

Version:

Cortex is a GraphQL API for AI. It provides a simple, extensible interface for using AI services from OpenAI, Azure and others.

24 lines (21 loc) 807 B
import pubsub from './pubsub.js'; import { withFilter } from 'graphql-subscriptions'; import { publishRequestProgressSubscription } from '../lib/redisSubscription.js'; import logger from '../lib/logger.js'; const subscriptions = { requestProgress: { subscribe: withFilter( (_, args, __, _info) => { logger.debug(`Client requested subscription for request ids: ${args.requestIds}`); publishRequestProgressSubscription(args.requestIds); return pubsub.asyncIterator(['REQUEST_PROGRESS']) }, (payload, variables) => { return ( variables.requestIds.includes(payload.requestProgress.requestId) ); }, ), }, }; export default subscriptions;