@vfarcic/dot-ai
Version:
AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance
66 lines (65 loc) • 2.28 kB
JavaScript
;
/**
* Pattern Vector Service
*
* Handles pattern-specific Vector DB operations
* Extends BaseVectorService for organizational patterns
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.PatternVectorService = void 0;
const base_vector_service_1 = require("./base-vector-service");
class PatternVectorService extends base_vector_service_1.BaseVectorService {
constructor(collectionName = 'patterns', embeddingService) {
super(collectionName, embeddingService);
}
// Implement abstract methods from BaseVectorService
createSearchText(pattern) {
const triggerText = pattern.triggers.join(' ');
const resourceText = pattern.suggestedResources.join(' ');
return `${pattern.description} ${triggerText} ${resourceText} ${pattern.rationale}`.toLowerCase();
}
extractId(pattern) {
return pattern.id;
}
createPayload(pattern) {
return {
description: pattern.description,
triggers: pattern.triggers.map(t => t.toLowerCase()),
suggestedResources: pattern.suggestedResources,
rationale: pattern.rationale,
createdAt: pattern.createdAt,
createdBy: pattern.createdBy
};
}
payloadToData(payload) {
return {
id: '', // Will be set from document ID in base class
description: payload.description,
triggers: payload.triggers,
suggestedResources: payload.suggestedResources,
rationale: payload.rationale,
createdAt: payload.createdAt,
createdBy: payload.createdBy
};
}
// Public API methods - delegate to base class with appropriate names
async storePattern(pattern) {
await this.storeData(pattern);
}
async searchPatterns(query, options = {}) {
return await this.searchData(query, options);
}
async getPattern(id) {
return await this.getData(id);
}
async getAllPatterns() {
return await this.getAllData();
}
async deletePattern(id) {
await this.deleteData(id);
}
async getPatternsCount() {
return await this.getDataCount();
}
}
exports.PatternVectorService = PatternVectorService;