import type { McpRequest } from 'insomnia-data'; import { database as db, models } from 'insomnia-data'; import { invariant } from 'insomnia-data/common'; const { type } = models.mcpRequest; export function create(patch: Partial = {}) { if (!patch.parentId) { throw new Error('New McpRequest missing `parentId`'); } return db.docCreate(type, patch); } export function remove(obj: McpRequest) { return db.remove(obj); } export function all() { return db.find(type); } export function getByParentId(parentId: string) { return db.findOne(type, { parentId }); } export function getById(id: string) { return db.findOne(type, { _id: id }); } export function update(request: McpRequest, patch: Partial = {}) { return db.docUpdate(request, patch); } export async function clearResourceSubscriptions(requestId: string) { const request = await getById(requestId); invariant(request, 'McpRequest not found'); return update(request, { subscribeResources: [] }); }