UNPKG

sourcesyncai-mcp

Version:

[![smithery badge](https://smithery.ai/badge/@pbteja1998/sourcesyncai-mcp)](https://smithery.ai/server/@pbteja1998/sourcesyncai-mcp)

119 lines (118 loc) 3.68 kB
import { z } from "zod"; import { FetchDocumentsSchema, UpdateDocumentsSchema, DeleteDocumentsSchema, ResyncDocumentsSchema } from "./schemas.js"; // Common schemas const DocumentTypeEnum = z.enum([ "TEXT", "URL", "FILE", "NOTION_DOCUMENT", "GOOGLE_DRIVE_DOCUMENT", "DROPBOX_DOCUMENT", "ONEDRIVE_DOCUMENT", "BOX_DOCUMENT" ]); const IngestionSourceEnum = z.enum([ "TEXT", "LOCAL_FILE", "URLS_LIST", "SITEMAP", "WEBSITE", "NOTION", "GOOGLE_DRIVE", "DROPBOX", "ONEDRIVE", "BOX" ]); const IngestionStatusEnum = z.enum([ "BACKLOG", "QUEUED", "QUEUED_FOR_RESYNC", "PROCESSING", "SUCCESS", "FAILED", "CANCELLED" ]); const FilterConfigSchema = z.object({ documentIds: z.array(z.string()).optional(), documentExternalIds: z.array(z.string()).optional(), documentConnectionIds: z.array(z.string()).optional(), documentTypes: z.array(DocumentTypeEnum).optional(), documentIngestionSources: z.array(IngestionSourceEnum).optional(), documentIngestionStatuses: z.array(IngestionStatusEnum).optional(), metadata: z.record(z.any()).optional(), }); const IncludeConfigSchema = z.object({ documents: z.boolean().optional(), stats: z.boolean().optional(), statsBySource: z.boolean().optional(), statsByStatus: z.boolean().optional(), rawFileUrl: z.boolean().optional(), parsedTextFileUrl: z.boolean().optional(), }).optional(); const PaginationSchema = z.object({ pageSize: z.number().min(1).max(100).optional(), cursor: z.string().optional(), }).optional(); /** * Fetch documents from a namespace */ export async function fetchDocuments(params) { try { // This is a placeholder implementation console.log("Fetching documents:", params); return { success: true, documents: [], message: "Document fetching is not fully implemented yet" }; } catch (error) { return { success: false, message: error.message || "Failed to fetch documents", error }; } } /** * Update documents in a namespace */ export async function updateDocuments(params) { try { // This is a placeholder implementation console.log("Updating documents:", params.documents); return { success: true, message: "Document updating is not implemented yet" }; } catch (error) { return { success: false, message: error.message || "Failed to update documents", error }; } } /** * Delete documents from a namespace */ export async function deleteDocuments(params) { try { // This is a placeholder implementation console.log("Deleting documents:", params.documentIds); return { success: true, message: "Document deletion is not implemented yet" }; } catch (error) { return { success: false, message: error.message || "Failed to delete documents", error }; } } /** * Resync documents in a namespace */ export async function resyncDocuments(params) { try { // This is a placeholder implementation console.log("Resyncing documents:", params.documentIds); return { success: true, message: "Document resyncing is not implemented yet" }; } catch (error) { return { success: false, message: error.message || "Failed to resync documents", error }; } } export { FetchDocumentsSchema, UpdateDocumentsSchema, DeleteDocumentsSchema, ResyncDocumentsSchema };