From 04477fef845f4ef60caee710e7cee8a58a08b36e Mon Sep 17 00:00:00 2001 From: David Snelling Date: Mon, 29 Sep 2025 10:05:46 -0700 Subject: [PATCH] refactor: replace Brainy with TransformerEmbedding in buildEmbeddedPatterns - Replace Brainy with TransformerEmbedding for embedding patterns - Update initialization logic to support TransformerEmbedding features like `localFilesOnly` - Adjust embedding logic to use TransformerEmbedding's embed method - Remove unused Brainy-related code (e.g., close method) --- .gitignore | 1 + scripts/buildEmbeddedPatterns.ts | 22 ++++++++++------------ src/neural/embeddedPatterns.ts | 2 +- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 810c0771..781bf0c6 100644 --- a/.gitignore +++ b/.gitignore @@ -92,3 +92,4 @@ docs/internal/ # Temporary files (redundant but explicit) *.tmp +/.junie/guidelines.md diff --git a/scripts/buildEmbeddedPatterns.ts b/scripts/buildEmbeddedPatterns.ts index 746c130f..b0023916 100644 --- a/scripts/buildEmbeddedPatterns.ts +++ b/scripts/buildEmbeddedPatterns.ts @@ -6,7 +6,7 @@ * NO runtime loading, NO external files needed! */ -import { Brainy } from '../dist/brainy.js' +import { TransformerEmbedding } from '../src/utils/embedding.js' import * as fs from 'fs/promises' import * as path from 'path' import { fileURLToPath } from 'url' @@ -22,14 +22,14 @@ async function buildEmbeddedPatterns() { console.log(`📚 Processing ${libraryData.patterns.length} patterns...`) - // Initialize Brainy for embedding (one-time only!) - const brain = new Brainy({ - // Use in-memory storage for build process - storage: { type: 'memory' } + // Initialize TransformerEmbedding for embedding (one-time only!) + const embedder = new TransformerEmbedding({ + verbose: true, + localFilesOnly: false // Allow downloading models during build }) - await brain.init() - console.log('✅ Brainy initialized for embedding') + await embedder.init() + console.log('✅ TransformerEmbedding initialized for embedding') // Process patterns in batches to avoid memory issues const batchSize = 10 @@ -45,8 +45,8 @@ async function buildEmbeddedPatterns() { for (const example of pattern.examples || []) { try { - // Use brain's embed method directly - no add/delete needed! - const embedding = await (brain as any).embed(example) + // Use embedder's embed method directly - no add/delete needed! + const embedding = await embedder.embed(example) if (embedding && Array.isArray(embedding)) { embeddings.push(embedding) } @@ -218,8 +218,6 @@ The patterns are now embedded directly in Brainy! No external files needed, instant availability. `) - // Close Brainy instance - await brain.close() } // Run if called directly @@ -227,4 +225,4 @@ if (import.meta.url === `file://${process.argv[1]}`) { buildEmbeddedPatterns().catch(console.error) } -export { buildEmbeddedPatterns } \ No newline at end of file +export { buildEmbeddedPatterns } diff --git a/src/neural/embeddedPatterns.ts b/src/neural/embeddedPatterns.ts index 7a0631ad..d68cf6d0 100644 --- a/src/neural/embeddedPatterns.ts +++ b/src/neural/embeddedPatterns.ts @@ -2,7 +2,7 @@ * 🧠 BRAINY EMBEDDED PATTERNS * * AUTO-GENERATED - DO NOT EDIT - * Generated: 2025-09-15T16:41:42.483Z + * Generated: 2025-09-29T17:05:30.153Z * Patterns: 220 * Coverage: 94-98% of all queries *