Add comprehensive tests for ast-grep and tree-sitter relationship extraction

- Introduced test suite for AstGrepPythonProcessor covering pattern definitions, parsing, and relationship extraction.
- Added comparison tests between tree-sitter and ast-grep for consistency in relationship extraction.
- Implemented tests for ast-grep binding module to verify functionality and availability.
- Ensured tests cover various scenarios including inheritance, function calls, and imports.
This commit is contained in:
catlog22
2026-02-15 21:14:14 +08:00
parent 126a357aa2
commit 48a6a1f2aa
56 changed files with 10622 additions and 374 deletions

View File

@@ -14,4 +14,20 @@ export function cn(...inputs: ClassValue[]): string {
return twMerge(clsx(inputs));
}
/**
* Safely parse memory metadata from string, object, or undefined.
* Returns an empty object on parse failure or missing input.
*/
export function parseMemoryMetadata(
metadata: string | Record<string, any> | undefined | null
): Record<string, any> {
if (!metadata) return {};
if (typeof metadata === 'object') return metadata;
try {
return JSON.parse(metadata);
} catch {
return {};
}
}
export type { ClassValue };