UNPKG

@agentics.org/sparc2

Version:

SPARC 2.0 - Autonomous Vector Coding Agent + MCP. SPARC 2.0, vectorized AI code analysis, is an intelligent coding agent framework built to automate and streamline software development. It combines secure execution environments, and version control into

148 lines (120 loc) 4.54 kB
import { assertEquals, assertExists } from "https://deno.land/std@0.203.0/testing/asserts.ts"; import { clearVectorStore, type DiffEntry, indexDiffEntry, searchDiffEntries, searchLogEntries, type VectorSearchResult, vectorStoreLog, } from "./vectorStore.ts"; import { type LogEntry } from "../logger.ts"; // Mock console.debug to capture calls let debugLogs: string[] = []; const originalConsoleDebug = console.debug; const originalConsoleError = console.error; function setupMocks() { debugLogs = []; console.debug = (...args: unknown[]) => { debugLogs.push(args.map((arg) => String(arg)).join(" ")); }; console.error = (...args: unknown[]) => { // Suppress error messages in tests }; } function restoreMocks() { console.debug = originalConsoleDebug; console.error = originalConsoleError; } Deno.test("vectorStoreLog stores log entries", async () => { setupMocks(); try { const logEntry: LogEntry = { timestamp: new Date().toISOString(), level: "info", message: "Test log message", metadata: { test: true }, }; await vectorStoreLog(logEntry); // Verify that console.debug was called with the expected message // Find the relevant debug message const relevantLog = debugLogs.find((log) => log.includes("Vector store: Storing log entry")); assertExists(relevantLog, "Expected debug log about storing log entry was not found"); // Check that the debug message contains expected information assertEquals(relevantLog.includes("Test log message"), true); assertEquals(relevantLog.includes("info"), true); } finally { restoreMocks(); } }); Deno.test("indexDiffEntry stores diff entries", async () => { setupMocks(); try { const diffEntry: DiffEntry = { id: "test-id", file: "test-file.ts", diff: "- old line\n+ new line", metadata: { test: true }, }; await indexDiffEntry(diffEntry); // Verify that console.debug was called with the expected message // Find the relevant debug message const relevantLog = debugLogs.find((log) => log.includes("Vector store: Indexing diff entry")); assertExists(relevantLog, "Expected debug log about indexing diff entry was not found"); // Check that the debug message contains expected information assertEquals(relevantLog.includes("test-id"), true); assertEquals(relevantLog.includes("test-file.ts"), true); } finally { restoreMocks(); } }); Deno.test("searchDiffEntries returns empty array for now", async () => { setupMocks(); try { const results = await searchDiffEntries("test query"); // Verify that console.debug was called with the expected message // Find the relevant debug message const relevantLog = debugLogs.find((log) => log.includes("Vector store: Searching for diff entries") ); assertExists(relevantLog, "Expected debug log about searching diff entries was not found"); // Check that the debug message contains expected information assertEquals(relevantLog.includes("test query"), true); // Verify that the results are an empty array assertEquals(results, []); } finally { restoreMocks(); } }); Deno.test("searchLogEntries returns empty array for now", async () => { setupMocks(); try { const results = await searchLogEntries("test query"); // Verify that console.debug was called with the expected message // Find the relevant debug message const relevantLog = debugLogs.find((log) => log.includes("Vector store: Searching for log entries") ); assertExists(relevantLog, "Expected debug log about searching log entries was not found"); // Check that the debug message contains expected information assertEquals(relevantLog.includes("test query"), true); // Verify that the results are an empty array assertEquals(results, []); } finally { restoreMocks(); } }); Deno.test("clearVectorStore clears the vector store", async () => { setupMocks(); try { await clearVectorStore(); // Verify that console.debug was called with the expected message // Find the relevant debug message const relevantLog = debugLogs.find((log) => log.includes("Vector store: Clearing all entries")); assertExists(relevantLog, "Expected debug log about clearing vector store was not found"); // Check that the debug message contains expected information assertEquals(relevantLog.includes("Clearing all entries"), true); } finally { restoreMocks(); } });