UNPKG

mcp-talent-server

Version:

Model Context Protocol server for talent management tools

36 lines 1.71 kB
import mongoose, { Schema } from "mongoose"; // Schema for sheet vector data export const SheetVectorDataSchema = new Schema({ sheetId: { type: String, required: true, index: true }, rowId: { type: String, required: true, index: true }, userId: { type: String, required: true, index: true }, sheetName: { type: String, required: true, index: true }, originalData: { type: Schema.Types.Mixed, required: true }, searchableContent: { type: String, required: true }, // contentEmbedding: [{ type: Number }], extractedEntities: { numbers: [{ type: Number }], dates: [{ type: String }], emails: [{ type: String }], urls: [{ type: String }], categories: [{ type: String }] }, dataTypes: { type: Schema.Types.Mixed }, columnMetadata: [{ name: { type: String, required: true }, label: { type: String, required: true }, type: { type: String, required: true }, value: { type: Schema.Types.Mixed } }] }, { timestamps: true }); // Indexes for efficient searching SheetVectorDataSchema.index({ sheetId: 1, rowId: 1 }, { unique: true }); SheetVectorDataSchema.index({ userId: 1, sheetId: 1 }); SheetVectorDataSchema.index({ searchableContent: 'text' }); SheetVectorDataSchema.index({ 'extractedEntities.categories': 1 }); // Vector search index - this will be created manually in MongoDB Atlas // SheetVectorDataSchema.index({ contentEmbedding: "2dsphere" }); const SheetVectorData = mongoose.model("SheetVectorData", SheetVectorDataSchema); export const SheetVectorDataType = SheetVectorDataSchema.obj; export default SheetVectorData; //# sourceMappingURL=sheet-vector.model.js.map