bin/LoraxMod.xml

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>LoraxMod</name>
    </assembly>
    <members>
        <member name="T:LoraxMod.Cmdlets.FindLoraxFunctionCommand">
            <summary>
            Language-specific function extraction (convenience wrapper).
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxFunctionCommand.Code">
            <summary>
            Source code to parse.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxFunctionCommand.FilePath">
            <summary>
            Path to source file to parse.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxFunctionCommand.Language">
            <summary>
            Language name (e.g., 'javascript', 'python').
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxFunctionCommand.SchemaPath">
            <summary>
            Optional schema path (defaults to SchemaCache).
            </summary>
        </member>
        <member name="F:LoraxMod.Cmdlets.FindLoraxFunctionCommand.FunctionNodeTypes">
            <summary>
            Language-specific function node types.
            Public for reuse by Find-DeadCode.
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.GetLoraxDependencyCommand">
            <summary>
            Extract import/include dependencies (convenience wrapper).
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxDependencyCommand.Code">
            <summary>
            Source code to parse.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxDependencyCommand.FilePath">
            <summary>
            Path to source file to parse.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxDependencyCommand.Language">
            <summary>
            Language name (e.g., 'javascript', 'python').
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxDependencyCommand.SchemaPath">
            <summary>
            Optional schema path (defaults to SchemaCache).
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.GetLoraxDiffCommand">
            <summary>
            Semantic diff wrapper (convenience for Compare-LoraxAST).
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxDiffCommand.OldCode">
            <summary>
            Old version code.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxDiffCommand.NewCode">
            <summary>
            New version code.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxDiffCommand.OldPath">
            <summary>
            Path to old version file.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxDiffCommand.NewPath">
            <summary>
            Path to new version file.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxDiffCommand.Language">
            <summary>
            Language name (e.g., 'javascript', 'python').
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxDiffCommand.IncludeFullText">
            <summary>
            Include full text in OldValue/NewValue (default: truncate to 100 chars).
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxDiffCommand.SchemaPath">
            <summary>
            Optional schema path (defaults to SchemaCache).
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.FindLoraxCallSiteCommand">
            <summary>
            Extract all function/method calls from source files.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxCallSiteCommand.Code">
            <summary>
            Source code to parse.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxCallSiteCommand.FilePath">
            <summary>
            Path to source file to parse.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxCallSiteCommand.Language">
            <summary>
            Language name (e.g., 'javascript', 'python').
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxCallSiteCommand.SchemaPath">
            <summary>
            Optional schema path (defaults to SchemaCache).
            </summary>
        </member>
        <member name="F:LoraxMod.Cmdlets.FindLoraxCallSiteCommand.CallNodeTypes">
            <summary>
            Language-specific call node types and their callee fields.
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.FindDeadCodeCommand">
             <summary>
             Detect dead (unused) code by comparing function definitions to call sites.
             </summary>
             <example>
             <code>
             # Find dead code in Python files
             Find-DeadCode -Path "src/**/*.py" -Recurse
             
             # Find dead code without filtering
             Find-DeadCode -Path "*.js" -ExcludeDecorated:$false -ExcludeEntryPoints:$false
             
             # Specify language explicitly
             Find-DeadCode -Path "lib/*.ts" -Language typescript
             </code>
             </example>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindDeadCodeCommand.Path">
            <summary>
            Path or wildcard pattern for source files (e.g., '*.py', 'src/**/*.js').
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindDeadCodeCommand.Language">
            <summary>
            Language name (e.g., 'javascript', 'python').
            Optional - auto-detected from file extension if not specified.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindDeadCodeCommand.Recurse">
            <summary>
            Recursively search subdirectories for files.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindDeadCodeCommand.ExcludeDecorated">
            <summary>
            Skip decorated functions (default: true).
            Decorated functions are often registered via frameworks.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindDeadCodeCommand.ExcludeEntryPoints">
            <summary>
            Skip entry points like main, test_*, etc. (default: true).
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindDeadCodeCommand.ExcludeFrameworkHooks">
            <summary>
            Skip framework hooks like __init__, Dispose, etc. (default: true).
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindDeadCodeCommand.SchemaPath">
            <summary>
            Optional schema path (defaults to SchemaCache).
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindDeadCodeCommand.IncludeStats">
            <summary>
            Include summary statistics in output.
            </summary>
        </member>
        <member name="M:LoraxMod.Cmdlets.FindDeadCodeCommand.GetParser(System.String)">
            <summary>
            Get or create parser for a language.
            </summary>
        </member>
        <member name="M:LoraxMod.Cmdlets.FindDeadCodeCommand.ResolveFiles(System.String)">
            <summary>
            Resolve wildcard pattern to file list.
            </summary>
        </member>
        <member name="M:LoraxMod.Cmdlets.FindDeadCodeCommand.DetectLanguage(System.String)">
            <summary>
            Detect language from file extension.
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.ConvertToLoraxASTCommand">
             <summary>
             Parse code to AST in one-shot mode (no session).
             Supports wildcard file patterns and auto-detection of language from file extension.
             </summary>
             <example>
             <code>
             # Parse all Python files in current directory
             ConvertTo-LoraxAST *.py
             
             # Parse all supported files recursively with full AST depth
             ConvertTo-LoraxAST -Recurse -Depth
             
             # Parse specific file (language auto-detected)
             ConvertTo-LoraxAST -FilePath app.js
             
             # Parse code string (language required)
             "def foo(): pass" | ConvertTo-LoraxAST -Language python
             </code>
             </example>
        </member>
        <member name="P:LoraxMod.Cmdlets.ConvertToLoraxASTCommand.Code">
            <summary>
            Source code to parse. Requires -Language parameter.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.ConvertToLoraxASTCommand.FilePath">
            <summary>
            Path or wildcard pattern for source files (e.g., '*.py', 'src/**/*.js').
            Defaults to all supported extensions if not specified.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.ConvertToLoraxASTCommand.Language">
            <summary>
            Language name (e.g., 'javascript', 'python').
            Optional for file parsing - auto-detected from extension.
            Required for code string parsing.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.ConvertToLoraxASTCommand.Recurse">
            <summary>
            Recursively search subdirectories for files.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.ConvertToLoraxASTCommand.Depth">
            <summary>
            Extract all child nodes from AST (full depth traversal).
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.ConvertToLoraxASTCommand.SchemaPath">
            <summary>
            Optional schema path (defaults to SchemaCache).
            </summary>
        </member>
        <member name="M:LoraxMod.Cmdlets.ConvertToLoraxASTCommand.GetDefaultPattern">
            <summary>
            Build default wildcard pattern from all supported extensions.
            </summary>
        </member>
        <member name="M:LoraxMod.Cmdlets.ConvertToLoraxASTCommand.GetParser(System.String)">
            <summary>
            Get or create parser for a language.
            </summary>
        </member>
        <member name="M:LoraxMod.Cmdlets.ConvertToLoraxASTCommand.ResolveFiles(System.String)">
            <summary>
            Resolve wildcard pattern to file list.
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.FindLoraxNodeCommand">
            <summary>
            Find and extract nodes of specific types from AST.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxNodeCommand.Code">
            <summary>
            Source code to parse.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxNodeCommand.FilePath">
            <summary>
            Path to source file to parse.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxNodeCommand.Language">
            <summary>
            Language name (e.g., 'javascript', 'python').
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxNodeCommand.NodeTypes">
            <summary>
            Node types to extract (e.g., 'function_declaration', 'class_definition').
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.FindLoraxNodeCommand.SchemaPath">
            <summary>
            Optional schema path (defaults to SchemaCache).
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.CompareLoraxASTCommand">
            <summary>
            Compute semantic diff between two code versions.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.CompareLoraxASTCommand.OldCode">
            <summary>
            Old version code.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.CompareLoraxASTCommand.NewCode">
            <summary>
            New version code.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.CompareLoraxASTCommand.OldPath">
            <summary>
            Path to old version file.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.CompareLoraxASTCommand.NewPath">
            <summary>
            Path to new version file.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.CompareLoraxASTCommand.Language">
            <summary>
            Language name (e.g., 'javascript', 'python').
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.CompareLoraxASTCommand.IncludeFullText">
            <summary>
            Include full text in OldValue/NewValue (default: truncate to 100 chars).
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.CompareLoraxASTCommand.SchemaPath">
            <summary>
            Optional schema path (defaults to SchemaCache).
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.GetLoraxSchemaCommand">
            <summary>
            Query tree-sitter grammar schemas without parsing code.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxSchemaCommand.Language">
            <summary>
            Language name (e.g., 'javascript', 'python').
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxSchemaCommand.SchemaPath">
            <summary>
            Optional path to node-types.json schema file.
            If not specified, uses SchemaCache or local grammars.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxSchemaCommand.ListNodeTypes">
            <summary>
            List all node types in the schema.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxSchemaCommand.NodeType">
            <summary>
            Get fields for a specific node type.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxSchemaCommand.ExtractionPlan">
            <summary>
            Get extraction plan for a specific node type.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.GetLoraxSchemaCommand.ListAvailableLanguages">
            <summary>
            List available languages from SchemaCache.
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.StartLoraxParserSessionCommand">
            <summary>
            Start a parser session for batch processing.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.StartLoraxParserSessionCommand.SessionId">
            <summary>
            Session ID (unique identifier for this session).
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.StartLoraxParserSessionCommand.Language">
            <summary>
            Language name (e.g., 'javascript', 'python').
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.StartLoraxParserSessionCommand.SchemaPath">
            <summary>
            Optional schema path (defaults to SchemaCache).
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.InvokeLoraxParseCommand">
            <summary>
            Parse files using an existing session (batch pipeline mode).
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.InvokeLoraxParseCommand.SessionId">
            <summary>
            Session ID to use for parsing.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.InvokeLoraxParseCommand.Code">
            <summary>
            Source code to parse.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.InvokeLoraxParseCommand.FilePath">
            <summary>
            Path to source file to parse.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.InvokeLoraxParseCommand.Recurse">
            <summary>
            Recursively extract all child nodes.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.InvokeLoraxParseCommand.ContinueOnError">
            <summary>
            Continue processing on error (don't throw).
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.StopLoraxParserSessionCommand">
            <summary>
            Stop a parser session and report statistics.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.StopLoraxParserSessionCommand.SessionId">
            <summary>
            Session ID to stop.
            </summary>
        </member>
        <member name="P:LoraxMod.Cmdlets.StopLoraxParserSessionCommand.ShowStats">
            <summary>
            Show session statistics.
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.ParserSession">
            <summary>
            Represents an active parser session for batch processing.
            </summary>
        </member>
        <member name="T:LoraxMod.Cmdlets.SessionManager">
            <summary>
            Static session storage for parser sessions.
            Manages lifecycle of parser instances across cmdlet calls.
            </summary>
        </member>
        <member name="M:LoraxMod.Cmdlets.SessionManager.AddSession(System.String,LoraxMod.Cmdlets.ParserSession)">
            <summary>
            Add a new session.
            </summary>
        </member>
        <member name="M:LoraxMod.Cmdlets.SessionManager.GetSession(System.String)">
            <summary>
            Get an existing session.
            </summary>
        </member>
        <member name="M:LoraxMod.Cmdlets.SessionManager.RemoveSession(System.String)">
            <summary>
            Remove and dispose a session.
            </summary>
        </member>
        <member name="M:LoraxMod.Cmdlets.SessionManager.GetSessionIds">
            <summary>
            Get all active session IDs.
            </summary>
        </member>
        <member name="M:LoraxMod.Cmdlets.SessionManager.ClearAll">
            <summary>
            Clear all sessions (for cleanup).
            </summary>
        </member>
        <member name="T:LoraxMod.UnusedDefinition">
            <summary>
            Represents an unused function/method definition.
            </summary>
        </member>
        <member name="M:LoraxMod.UnusedDefinition.ToDict">
            <summary>
            Convert to dictionary for JSON serialization.
            </summary>
        </member>
        <member name="T:LoraxMod.CallGraphBuilder">
            <summary>
            Builds call graph from definitions and call sites.
            Tracks which functions are defined and which are called.
            </summary>
        </member>
        <member name="M:LoraxMod.CallGraphBuilder.AddDefinitions(System.Collections.Generic.IEnumerable{LoraxMod.ExtractedNode})">
            <summary>
            Add function/method definitions from extracted nodes.
            </summary>
        </member>
        <member name="M:LoraxMod.CallGraphBuilder.AddCallSites(System.Collections.Generic.IEnumerable{LoraxMod.ExtractedNode},System.String)">
            <summary>
            Add call sites and extract called identifiers.
            </summary>
        </member>
        <member name="M:LoraxMod.CallGraphBuilder.ExtractCalleeName(System.String)">
            <summary>
            Extract callee name from call expression text.
            Handles simple cases like "foo()", "bar.baz()".
            </summary>
        </member>
        <member name="M:LoraxMod.CallGraphBuilder.GetUnusedDefinitions">
            <summary>
            Get all definitions that are not called.
            </summary>
        </member>
        <member name="P:LoraxMod.CallGraphBuilder.DefinitionCount">
            <summary>
            Get count of definitions.
            </summary>
        </member>
        <member name="P:LoraxMod.CallGraphBuilder.CallSiteCount">
            <summary>
            Get count of unique call sites.
            </summary>
        </member>
        <member name="T:LoraxMod.FalsePositiveFilter">
            <summary>
            Filters false positives from dead code analysis.
            </summary>
        </member>
        <member name="F:LoraxMod.FalsePositiveFilter.DecoratorParentTypes">
            <summary>
            Parent node types that indicate decorated functions.
            </summary>
        </member>
        <member name="F:LoraxMod.FalsePositiveFilter.EntryPointNames">
            <summary>
            Entry point names (case-insensitive patterns).
            </summary>
        </member>
        <member name="F:LoraxMod.FalsePositiveFilter.EntryPointPatterns">
            <summary>
            Entry point patterns (regex).
            </summary>
        </member>
        <member name="F:LoraxMod.FalsePositiveFilter.FrameworkHooks">
            <summary>
            Framework hooks by language.
            </summary>
        </member>
        <member name="M:LoraxMod.FalsePositiveFilter.ShouldExclude(LoraxMod.ExtractedNode,System.String@)">
            <summary>
            Check if a definition should be excluded from dead code results.
            </summary>
        </member>
        <member name="M:LoraxMod.FalsePositiveFilter.IsDecorated(LoraxMod.ExtractedNode)">
            <summary>
            Check if function is decorated (has decorator parent).
            </summary>
        </member>
        <member name="M:LoraxMod.FalsePositiveFilter.IsEntryPoint(System.String)">
            <summary>
            Check if identifier is an entry point or test.
            </summary>
        </member>
        <member name="M:LoraxMod.FalsePositiveFilter.IsFrameworkHook(System.String)">
            <summary>
            Check if identifier is a framework hook/magic method.
            </summary>
        </member>
        <member name="M:LoraxMod.FalsePositiveFilter.FilterUnused(System.Collections.Generic.IEnumerable{LoraxMod.ExtractedNode})">
            <summary>
            Filter unused definitions, removing false positives.
            Returns UnusedDefinition objects with reasons.
            </summary>
        </member>
        <member name="T:LoraxMod.DeadCodeOptions">
            <summary>
            Options for dead code detection.
            </summary>
        </member>
        <member name="T:LoraxMod.ChangeType">
            <summary>
            Types of semantic changes between two ASTs.
            </summary>
        </member>
        <member name="T:LoraxMod.SemanticChange">
            <summary>
            Represents a semantic change between two AST versions.
            </summary>
        </member>
        <member name="M:LoraxMod.SemanticChange.ToDict">
            <summary>
            Convert to dictionary for JSON serialization.
            </summary>
        </member>
        <member name="T:LoraxMod.DiffResult">
            <summary>
            Complete diff result between two AST versions.
            </summary>
        </member>
        <member name="M:LoraxMod.DiffResult.ToDict">
            <summary>
            Convert to dictionary for JSON serialization.
            </summary>
        </member>
        <member name="T:LoraxMod.TreeDiffer">
            <summary>
            Compute semantic diff between two AST trees.
            PORTABLE: Uses SchemaReader for identity matching.
            </summary>
        </member>
        <member name="M:LoraxMod.TreeDiffer.Diff(LoraxMod.INodeInterface,LoraxMod.INodeInterface,System.String,System.Boolean)">
            <summary>
            Compute semantic diff between two AST trees.
            </summary>
            <param name="oldRoot">Root node of old version</param>
            <param name="newRoot">Root node of new version</param>
            <param name="pathPrefix">Path prefix for nested diffs</param>
            <param name="includeFullText">Store full text instead of truncated</param>
        </member>
        <member name="T:LoraxMod.INodeInterface">
            <summary>
            Interface for tree-sitter node-like objects.
            Allows extraction to work with any compatible AST node.
            </summary>
        </member>
        <member name="T:LoraxMod.ExtractedNode">
            <summary>
            Extracted node with structured data.
            </summary>
        </member>
        <member name="P:LoraxMod.ExtractedNode.SourceFile">
            <summary>
            Source file path (set by cmdlets for context).
            </summary>
        </member>
        <member name="P:LoraxMod.ExtractedNode.ParentNodeType">
            <summary>
            Parent node type (for decorator detection in dead code analysis).
            </summary>
        </member>
        <member name="P:LoraxMod.ExtractedNode.Identity">
            <summary>
            Get identity (usually the name) of this node.
            </summary>
        </member>
        <member name="M:LoraxMod.ExtractedNode.ToDict">
            <summary>
            Convert to dictionary for JSON serialization.
            </summary>
        </member>
        <member name="T:LoraxMod.SchemaExtractor">
            <summary>
            Schema-driven extractor for AST nodes.
            PORTABLE: Works with any INodeInterface implementation.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaExtractor.ExtractNode(LoraxMod.INodeInterface)">
            <summary>
            Extract data from a single node using schema.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaExtractor.Extract(LoraxMod.INodeInterface,System.String)">
            <summary>
            Extract a specific semantic intent from a node.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaExtractor.ExtractField(LoraxMod.INodeInterface,System.String)">
            <summary>
            Extract a specific field from a node.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaExtractor.ExtractAll(LoraxMod.INodeInterface,System.Boolean)">
            <summary>
            Extract all data from a node and optionally its children.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaExtractor.ExtractByType(LoraxMod.INodeInterface,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Find and extract all nodes of specific types.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaExtractor.IsSignificant(LoraxMod.INodeInterface)">
            <summary>
            Check if a node is significant (exists in schema).
            Filters out anonymous tokens and unsupported node types.
            </summary>
        </member>
        <member name="T:LoraxMod.ModuleInitializer">
             <summary>
             Module initializer to configure native library resolution for tree-sitter DLLs.
             
             Solves: When LoraxMod.dll is loaded from external path (e.g., via PWSH_MCP_MODULES),
             .NET's default resolver doesn't search the module directory for P/Invoke dependencies.
             This causes all tree-sitter language DLLs to fail loading.
             
             Solution: Register custom resolver that searches runtimes/{RID}/native/ and bin/ directories.
             </summary>
        </member>
        <member name="T:LoraxMod.TreeSitterNode">
            <summary>
            Adapter to wrap TreeSitter.DotNet nodes as INodeInterface.
            </summary>
        </member>
        <member name="T:LoraxMod.Parser">
            <summary>
            High-level parser wrapping tree-sitter for a specific language.
            Uses TreeSitter.DotNet for native bindings.
            </summary>
        </member>
        <member name="F:LoraxMod.Parser.LanguageIdMap">
            <summary>
            Language ID mapping: User-friendly name -> TreeSitter.DotNet name.
            TreeSitter.DotNet uses hyphens (c-sharp) but users expect no hyphens (csharp).
            </summary>
        </member>
        <member name="M:LoraxMod.Parser.LoadEmbeddedSchema(System.String)">
            <summary>
            Load schema from embedded resource in the DLL.
            Resource names follow pattern: LoraxMod.schemas.{language}.json
            </summary>
            <param name="language">Language name (e.g., 'javascript', 'python')</param>
            <returns>SchemaReader if found, null otherwise</returns>
        </member>
        <member name="M:LoraxMod.Parser.CreateAsync(System.String,System.String)">
            <summary>
            Create a parser for a language (async factory).
            </summary>
            <param name="language">Language name (e.g., 'javascript', 'python', 'csharp')</param>
            <param name="schemaPath">Optional path to node-types.json (uses SchemaCache if null)</param>
        </member>
        <member name="M:LoraxMod.Parser.Parse(System.String)">
            <summary>
            Parse source code into AST.
            </summary>
        </member>
        <member name="M:LoraxMod.Parser.ParseFile(System.String)">
            <summary>
            Parse a file into AST.
            </summary>
        </member>
        <member name="M:LoraxMod.Parser.ExtractAll(TreeSitter.Tree,System.Boolean)">
            <summary>
            Extract all data from tree root.
            </summary>
        </member>
        <member name="M:LoraxMod.Parser.ExtractByType(TreeSitter.Tree,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Find and extract all nodes of specific types.
            </summary>
        </member>
        <member name="M:LoraxMod.Parser.Diff(System.String,System.String,System.Boolean)">
            <summary>
            Compute semantic diff between two code versions.
            </summary>
            <param name="oldCode">Old version source code</param>
            <param name="newCode">New version source code</param>
            <param name="includeFullText">Store full text instead of truncated</param>
        </member>
        <member name="M:LoraxMod.Parser.DiffFiles(System.String,System.String,System.Boolean)">
            <summary>
            Compute semantic diff between two files.
            </summary>
            <param name="oldPath">Path to old version file</param>
            <param name="newPath">Path to new version file</param>
            <param name="includeFullText">Store full text instead of truncated</param>
        </member>
        <member name="T:LoraxMod.MultiParser">
            <summary>
            Parser that handles multiple languages with auto-detection.
            </summary>
        </member>
        <member name="F:LoraxMod.MultiParser.Extensions">
            <summary>
            File extension to language mapping.
            </summary>
        </member>
        <member name="M:LoraxMod.MultiParser.GetParserAsync(System.String,System.String)">
            <summary>
            Get or create parser for a language.
            </summary>
        </member>
        <member name="M:LoraxMod.MultiParser.DetectLanguage(System.String)">
            <summary>
            Detect language from file extension.
            </summary>
        </member>
        <member name="M:LoraxMod.MultiParser.ParseAsync(System.String,System.String,System.String)">
            <summary>
            Parse code in a specific language.
            </summary>
        </member>
        <member name="M:LoraxMod.MultiParser.ParseFileAsync(System.String,System.String,System.String)">
            <summary>
            Parse file with optional auto-detection.
            </summary>
        </member>
        <member name="M:LoraxMod.MultiParser.Dispose">
            <summary>
            Dispose all cached parsers.
            </summary>
        </member>
        <member name="T:LoraxMod.SemanticIntents">
            <summary>
            Semantic intent mappings - abstract concepts to concrete field names.
            Same as Python version for cross-language consistency.
            </summary>
        </member>
        <member name="T:LoraxMod.SchemaReader">
            <summary>
            Reads and indexes tree-sitter node-types.json schema files.
            PORTABLE: Pure C#, no tree-sitter dependency.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.FromFile(System.String)">
            <summary>
            Load schema from JSON file path.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.FromJson(System.String)">
            <summary>
            Load schema from JSON string.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.GetNodeTypes">
            <summary>
            Get all node type names in schema.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.HasNodeType(System.String)">
            <summary>
            Check if node type exists in schema.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.GetFields(System.String)">
            <summary>
            Get fields defined for a node type.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.GetFieldNames(System.String)">
            <summary>
            Get list of field names for a node type.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.HasField(System.String,System.String)">
            <summary>
            Check if node type has a specific field.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.GetFieldTypes(System.String,System.String)">
            <summary>
            Get possible types for a field.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.ResolveIntent(System.String,System.String)">
            <summary>
            Resolve semantic intent to actual field name.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.GetExtractionPlan(System.String)">
            <summary>
            Get full extraction plan for a node type.
            Maps all semantic intents to available fields.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.GetIdentityField(System.String)">
            <summary>
            Get the identity field for a node type (usually 'name').
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaReader.GetChildrenTypes(System.String)">
            <summary>
            Get possible child node types (for nodes without named fields).
            Some nodes use positional children instead of named fields.
            </summary>
        </member>
        <member name="T:LoraxMod.SchemaCache">
             <summary>
             Schema cache for fetching and caching grammar files from GitHub.
             
             Fetches node-types.json and grammar.json from tree-sitter grammar repositories
             using the exact revisions specified in tree-sitter-language-pack's language_definitions.json.
             
             Cache is invalidated when loraxmod version changes.
             </summary>
        </member>
        <member name="M:LoraxMod.SchemaCache.GetCacheDir">
            <summary>
            Get versioned cache directory.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaCache.FetchUrlAsync(System.String)">
            <summary>
            Fetch URL content.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaCache.GetLanguageDefinitionsAsync">
            <summary>
            Get language definitions (repo URLs and revisions).
            Cached after first fetch.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaCache.BuildFileUrl(System.Text.Json.JsonElement,System.String)">
            <summary>
            Build raw GitHub URL for a file in src/.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaCache.FetchAndCacheAsync(System.String,System.String,System.String)">
            <summary>
            Fetch a file from GitHub and cache it.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaCache.GetSchemaPathAsync(System.String)">
            <summary>
            Get path to cached node-types.json for a language.
            Fetches from GitHub if not cached.
            </summary>
            <param name="language">Language name (e.g., 'javascript', 'python')</param>
            <returns>Path to cached node-types.json</returns>
            <exception cref="T:System.ArgumentException">If language not found</exception>
            <exception cref="T:System.InvalidOperationException">If fetch fails</exception>
        </member>
        <member name="M:LoraxMod.SchemaCache.GetGrammarPathAsync(System.String)">
            <summary>
            Get path to cached grammar.json for a language.
            Fetches from GitHub if not cached.
            </summary>
            <param name="language">Language name (e.g., 'javascript', 'python')</param>
            <returns>Path to cached grammar.json</returns>
            <exception cref="T:System.ArgumentException">If language not found</exception>
            <exception cref="T:System.InvalidOperationException">If fetch fails</exception>
        </member>
        <member name="M:LoraxMod.SchemaCache.ClearCache">
            <summary>
            Clear all cached schemas.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaCache.ListCachedSchemas">
            <summary>
            List languages with cached schemas.
            </summary>
        </member>
        <member name="M:LoraxMod.SchemaCache.GetAvailableLanguagesAsync">
            <summary>
            Get list of all available languages.
            </summary>
        </member>
    </members>
</doc>