bin/net8.0/SqlLabDataGenerator.xml

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SqlLabDataGenerator</name>
    </assembly>
    <members>
        <member name="T:SqlLabDataGenerator.AIModelOverride">
            <summary>
            Represents a per-purpose AI model override configuration.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIModelOverride.Purpose">
            <summary>The purpose this override applies to.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIModelOverride.Provider">
            <summary>The AI provider for this purpose.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIModelOverride.Model">
            <summary>The model name for this purpose.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIModelOverride.Endpoint">
            <summary>The API endpoint for this purpose.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIModelOverride.MaxTokens">
            <summary>Maximum tokens for this purpose.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.AIModelOverride.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.AIModelOverride"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.AIPlanAdvice">
            <summary>
            Represents AI-generated advice for a generation plan.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIPlanAdvice.Tables">
            <summary>Per-table advice (key = FullName, value = { RowCount, TableType, Notes }).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIPlanAdvice.CustomRules">
            <summary>Custom generation rules suggested by AI.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIPlanAdvice.CrossTableRules">
            <summary>Cross-table relationship rules.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIPlanAdvice.TableGenerationNotes">
            <summary>Per-table generation notes produced by schema analysis (key = FullName, value = notes string).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIPlanAdvice.Source">
            <summary>The AI provider that generated this advice.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIPlanAdvice.GeneratedAt">
            <summary>When the advice was generated.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.AIPlanAdvice.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.AIPlanAdvice"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.AIProviderInfo">
            <summary>
            Represents information about the configured AI provider.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.Provider">
            <summary>The AI provider name ('OpenAI', 'AzureOpenAI', 'Ollama').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.Model">
            <summary>The model name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.Endpoint">
            <summary>The API endpoint URL.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.ApiKeySet">
            <summary>Whether an API key has been configured.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.MaxTokens">
            <summary>Maximum tokens for AI responses.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.Temperature">
            <summary>Temperature setting (Ollama).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.SkipCertCheck">
            <summary>Whether to skip certificate checks (Ollama).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.AIGeneration">
            <summary>Whether AI-powered generation is enabled.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.AILocale">
            <summary>Whether AI locale generation is enabled.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.Locale">
            <summary>The configured locale.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.Purpose">
            <summary>Purpose identifier when querying for a specific purpose.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.IsOverride">
            <summary>Whether this represents a per-purpose override vs base config.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.ModelOverrides">
            <summary>Array of per-purpose model override summaries.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.Database">
            <summary>Active database name, if connected.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.ServerInstance">
            <summary>Active server instance, if connected.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderInfo.DatabaseProvider">
            <summary>Active database provider, if connected.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.AIProviderInfo.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.AIProviderInfo"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.AIProviderTestResult">
            <summary>
            Represents the result of testing an AI provider connection.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderTestResult.Provider">
            <summary>The AI provider name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderTestResult.Model">
            <summary>The model name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderTestResult.Endpoint">
            <summary>The API endpoint URL.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderTestResult.Status">
            <summary>Connection status ('NotConfigured', 'Connected', 'NoResponse', 'Failed').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderTestResult.ResponseMs">
            <summary>Response time in milliseconds, or null.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderTestResult.Error">
            <summary>Error message if the test failed.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.AIProviderTestResult.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.AIProviderTestResult"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.ColumnClassification">
            <summary>
            Represents the classification of a database column by semantic analysis.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnClassification.ColumnName">
            <summary>The column name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnClassification.TableName">
            <summary>The fully qualified table name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnClassification.SemanticType">
            <summary>The resolved semantic type (e.g., 'person-first-name').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnClassification.IsPII">
            <summary>Whether the column contains personally identifiable information.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnClassification.Confidence">
            <summary>Confidence score (0.0 to 1.0).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnClassification.Source">
            <summary>Classification source ('Pattern', 'AI', 'Cached').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnClassification.MatchedRule">
            <summary>The rule or hint that matched.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnClassification.ValueExamples">
            <summary>Example values suggested by AI.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnClassification.ValuePattern">
            <summary>Value pattern suggested by AI (e.g., regex).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnClassification.CrossColumnDependency">
            <summary>Cross-column dependency hint from AI.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.ColumnClassification.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.ColumnClassification"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.PromptTemplate">
            <summary>
            Represents a prompt template for AI operations.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.PromptTemplate.Purpose">
            <summary>The prompt purpose identifier.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.PromptTemplate.Variant">
            <summary>Provider-specific variant name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.PromptTemplate.Description">
            <summary>Description from YAML front matter.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.PromptTemplate.Version">
            <summary>Version from YAML front matter.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.PromptTemplate.Path">
            <summary>Full path to the .prompt file.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.PromptTemplate.IsCustom">
            <summary>Whether this is a custom (user-overridden) template.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.PromptTemplate.Placeholders">
            <summary>Placeholder names extracted from {{}} tokens.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.PromptTemplate.Content">
            <summary>Template content (only populated with -IncludeContent).</summary>
        </member>
        <member name="M:SqlLabDataGenerator.PromptTemplate.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.PromptTemplate"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.Connection">
            <summary>
            Represents an active database connection.
            <para>
            Since the move to PSSqlRepository the connection is opened by
            <c>Connect-PSSqlRepository</c>; this object keeps the raw ADO.NET
            <see cref="P:SqlLabDataGenerator.Connection.DbConnection"/> the generation engine works with, the
            <see cref="T:SqlLabDataGenerator.Data.SqlDialect"/> that phrases SQL for the engine, and the PSSqlRepository
            session handle so <c>Disconnect-SldgDatabase</c> can release it.
            </para>
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.Connection.DbConnection">
            <summary>The underlying database connection object.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Connection.ServerInstance">
            <summary>The server instance (hostname, or 'localhost' for file-based engines).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Connection.Database">
            <summary>The database name or file path.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Connection.Provider">
            <summary>The PSSqlRepository provider name ('SqlServer', 'Sqlite', 'DuckDB', ...).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Connection.Dialect">
            <summary>The SQL dialect the engine uses for this connection.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Connection.Repository">
            <summary>
            The PSSqlRepository session handle (<c>PSSqlRepository.Providers.SqlRepositoryConnection</c>).
            Typed as <see cref="T:System.IDisposable"/> so this library does not reference PSSqlRepository's
            assemblies; disposing it closes the EF Core session that owns <see cref="P:SqlLabDataGenerator.Connection.DbConnection"/>.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.Connection.ConnectedAt">
            <summary>When the connection was established.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.Connection.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.Connection"/> class.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Connection.IsValid">
            <summary>
            Validates that the connection has the minimum required state.
            Returns true if DbConnection and Provider are set.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.Connection.IsOpen">
            <summary>Whether the underlying connection is currently open.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.Connection.GetDialect">
            <summary>The dialect, resolved from the provider name or connection type when not set explicitly.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.Connection.Dispose">
            <summary>Disposes the underlying database connection and the PSSqlRepository session.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.Connection.Dispose(System.Boolean)">
            <summary>Releases resources used by the connection.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.Data.SldgSchemaContext">
            <summary>
            The repository context SqlLabDataGenerator registers with PSSqlRepository.
            <para>
            PSSqlRepository is entity-oriented: <c>Connect-PSSqlRepository</c> refuses to open a
            session for a provider that has no registered <see cref="T:Microsoft.EntityFrameworkCore.DbContext"/>, and a context
            with mapped entities makes it verify that every mapped table exists. This module
            works the other way round - it discovers whatever schema the target database has and
            fills it - so the context it registers is deliberately EMPTY. With no entity types
            the schema check is a no-op and the session becomes a plain, provider-agnostic
            <see cref="T:System.Data.Common.DbConnection"/> factory: SQL Server, SQLite, DuckDB and
            every other PSSqlRepository provider, without this module bundling a single driver.
            </para>
            <para>
            The generic-options constructor is what <c>Register-PSSqlRepositoryContext</c>
            requires. Registering the base <see cref="T:Microsoft.EntityFrameworkCore.DbContext"/> type itself does not work:
            the infrastructure registration then resolves <c>DbContext</c> through itself and
            the connect call never returns.
            </para>
            </summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SldgSchemaContext.#ctor(Microsoft.EntityFrameworkCore.DbContextOptions{SqlLabDataGenerator.Data.SldgSchemaContext})">
            <summary>Initializes the context with the provider-configured options.</summary>
            <param name="options">Options supplied by PSSqlRepository's session container.</param>
        </member>
        <member name="T:SqlLabDataGenerator.Data.SqlDialect">
            <summary>
            Everything about a database engine that the generation engine has to phrase
            differently: identifier quoting, row limiting, identity insert, constraint toggling,
            parameter limits and where the schema catalog lives.
            <para>
            The PowerShell layer never branches on a provider name; it asks the dialect attached
            to the active <see cref="T:SqlLabDataGenerator.Connection"/>. Adding an engine means adding a subclass and
            one entry in <see cref="M:SqlLabDataGenerator.Data.SqlDialect.ForProvider(System.String)"/> - nothing else in the module changes.
            </para>
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlDialect.Name">
            <summary>Dialect name ('SqlServer', 'Sqlite', 'MySql', 'Ansi').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlDialect.SchemaSource">
            <summary>
            Which catalog the schema reader has to query: 'SqlServer' (sys.* catalog views),
            'Sqlite' (PRAGMA) or 'InformationSchema' (the ANSI INFORMATION_SCHEMA views,
            as served by DuckDB, PostgreSQL, MySQL and MariaDB).
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlDialect.SupportsSchemas">
            <summary>Whether tables live in named schemas ('dbo.Customer') or a flat namespace.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlDialect.DefaultSchema">
            <summary>The schema name used when the engine has none ('main' for SQLite).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlDialect.SupportsBulkCopy">
            <summary>Whether SqlBulkCopy can be used for inserts (SQL Server only).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlDialect.SupportsIdentityInsert">
            <summary>Whether explicit values can be written to identity/auto-increment columns.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlDialect.MaxParametersPerCommand">
            <summary>
            Upper bound on parameters per command. Multi-row inserts are sized so that
            rows * columns never exceeds it (SQL Server 2100, SQLite 999 by default).
            </summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.QuoteIdentifier(System.String)">
            <summary>Quotes a single identifier (table, column, constraint name).</summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.ParameterPlaceholder(System.String)">
            <summary>
            The token that stands for a named parameter in SQL text: '@name' on SQL Server,
            SQLite, MySQL and PostgreSQL; '$name' on DuckDB.
            </summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.ParameterName(System.String)">
            <summary>
            The value to assign to <see cref="P:System.Data.Common.DbParameter.ParameterName"/> for the same
            parameter. Most drivers accept the prefixed form; DuckDB wants the bare name.
            </summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.QualifiedName(System.String,System.String)">
            <summary>
            Quotes 'schema.table'. Engines without schemas ignore the schema part.
            </summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.SelectLimited(System.String,System.String,System.Int32,System.Boolean,System.String)">
            <summary>
            Builds a row-limited SELECT: TOP (n) on SQL Server, LIMIT n elsewhere.
            </summary>
            <param name="columns">Already-quoted column list (or '*').</param>
            <param name="from">Already-quoted table name.</param>
            <param name="limit">Row cap; 0 or less means no cap.</param>
            <param name="distinct">Emit SELECT DISTINCT.</param>
            <param name="orderBy">Optional already-quoted ORDER BY list.</param>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.SelectMaxOrZero(System.String,System.String)">
            <summary>SELECT COALESCE(MAX(column), 0) FROM table - the next free integer key.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.IdentityInsertStatement(System.String,System.Boolean)">
            <summary>Statement toggling explicit identity values for a table, or null when unsupported.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.DisableForeignKeyStatement(System.String,System.String)">
            <summary>
            Statement disabling ONE foreign-key constraint on a table, or null when the engine
            can only toggle constraints globally (see <see cref="P:SqlLabDataGenerator.Data.SqlDialect.DisableAllForeignKeysStatement"/>).
            </summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.EnableForeignKeyStatement(System.String,System.String)">
            <summary>Re-enables a constraint disabled by <see cref="M:SqlLabDataGenerator.Data.SqlDialect.DisableForeignKeyStatement(System.String,System.String)"/>.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlDialect.DisableAllForeignKeysStatement">
            <summary>Session-wide foreign-key checking off, or null when unsupported.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlDialect.EnableAllForeignKeysStatement">
            <summary>Session-wide foreign-key checking back on, or null when unsupported.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.ForProvider(System.String)">
            <summary>
            Maps a provider name as reported by PSSqlRepository ('SqlServer', 'Sqlite',
            'DuckDB', ...) to a dialect. Unknown engines get the ANSI dialect: double-quoted
            identifiers, LIMIT, INFORMATION_SCHEMA - which is what every mainstream engine
            other than SQL Server and SQLite speaks.
            </summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.ForConnection(System.Data.Common.DbConnection)">
            <summary>
            Picks the dialect from the concrete ADO.NET connection type, for callers that
            hold a <see cref="T:System.Data.Common.DbConnection"/> but no provider name (tests, transformers).
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlDialect.KnownDialects">
            <summary>Dialect names this module has a dedicated implementation for.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlDialect.ToString">
            <inheritdoc />
        </member>
        <member name="T:SqlLabDataGenerator.Data.SqlServerDialect">
            <summary>SQL Server: bracket identifiers, TOP, IDENTITY_INSERT, per-constraint NOCHECK, SqlBulkCopy.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlServerDialect.Name">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlServerDialect.SchemaSource">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlServerDialect.DefaultSchema">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlServerDialect.SupportsBulkCopy">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlServerDialect.SupportsIdentityInsert">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqlServerDialect.MaxParametersPerCommand">
            <inheritdoc />
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlServerDialect.QuoteIdentifier(System.String)">
            <inheritdoc />
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlServerDialect.SelectLimited(System.String,System.String,System.Int32,System.Boolean,System.String)">
            <inheritdoc />
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlServerDialect.IdentityInsertStatement(System.String,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlServerDialect.DisableForeignKeyStatement(System.String,System.String)">
            <inheritdoc />
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqlServerDialect.EnableForeignKeyStatement(System.String,System.String)">
            <inheritdoc />
        </member>
        <member name="T:SqlLabDataGenerator.Data.SqliteDialect">
            <summary>SQLite: double-quoted identifiers, LIMIT, PRAGMA catalog, global PRAGMA foreign_keys.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqliteDialect.Name">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqliteDialect.SchemaSource">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqliteDialect.SupportsSchemas">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqliteDialect.DefaultSchema">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqliteDialect.MaxParametersPerCommand">
            <inheritdoc />
        </member>
        <member name="M:SqlLabDataGenerator.Data.SqliteDialect.QuoteIdentifier(System.String)">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqliteDialect.DisableAllForeignKeysStatement">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.SqliteDialect.EnableAllForeignKeysStatement">
            <inheritdoc />
        </member>
        <member name="T:SqlLabDataGenerator.Data.MySqlDialect">
            <summary>MySQL / MariaDB: backtick identifiers, LIMIT, INFORMATION_SCHEMA, session FOREIGN_KEY_CHECKS.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.MySqlDialect.Name">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.MySqlDialect.SchemaSource">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.MySqlDialect.MaxParametersPerCommand">
            <inheritdoc />
        </member>
        <member name="M:SqlLabDataGenerator.Data.MySqlDialect.QuoteIdentifier(System.String)">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.MySqlDialect.DisableAllForeignKeysStatement">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.MySqlDialect.EnableAllForeignKeysStatement">
            <inheritdoc />
        </member>
        <member name="T:SqlLabDataGenerator.Data.DuckDbDialect">
            <summary>
            DuckDB: the ANSI baseline (double-quoted identifiers, LIMIT, INFORMATION_SCHEMA)
            with DuckDB.NET's parameter convention - '$name' in the SQL text and the bare name
            on the DbParameter. Constraints cannot be toggled; identity values come from sequences.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.DuckDbDialect.Name">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.DuckDbDialect.SchemaSource">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.DuckDbDialect.MaxParametersPerCommand">
            <inheritdoc />
        </member>
        <member name="M:SqlLabDataGenerator.Data.DuckDbDialect.QuoteIdentifier(System.String)">
            <inheritdoc />
        </member>
        <member name="M:SqlLabDataGenerator.Data.DuckDbDialect.ParameterPlaceholder(System.String)">
            <inheritdoc />
        </member>
        <member name="M:SqlLabDataGenerator.Data.DuckDbDialect.ParameterName(System.String)">
            <inheritdoc />
        </member>
        <member name="T:SqlLabDataGenerator.Data.AnsiSqlDialect">
            <summary>
            The ANSI baseline used for every engine without a dedicated dialect - DuckDB,
            PostgreSQL and whatever PSSqlRepository provider comes next: double-quoted
            identifiers, LIMIT, INFORMATION_SCHEMA. Constraint toggling and identity insert are
            engine-specific and therefore unsupported here; the engine falls back to ordered
            inserts and skips explicit identity values.
            </summary>
        </member>
        <member name="M:SqlLabDataGenerator.Data.AnsiSqlDialect.#ctor(System.String)">
            <summary>Creates the ANSI dialect, remembering the provider it stands in for.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.AnsiSqlDialect.Name">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.AnsiSqlDialect.ProviderName">
            <summary>The PSSqlRepository provider this dialect was resolved for ('DuckDB', ...).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Data.AnsiSqlDialect.SchemaSource">
            <inheritdoc />
        </member>
        <member name="P:SqlLabDataGenerator.Data.AnsiSqlDialect.MaxParametersPerCommand">
            <inheritdoc />
        </member>
        <member name="M:SqlLabDataGenerator.Data.AnsiSqlDialect.QuoteIdentifier(System.String)">
            <inheritdoc />
        </member>
        <member name="T:SqlLabDataGenerator.ColumnPlan">
            <summary>
            Represents the generation plan for a single column.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.ColumnName">
            <summary>The column name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.DataType">
            <summary>The SQL data type.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.SemanticType">
            <summary>The resolved semantic type.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.Generator">
            <summary>The generator function name, or 'Fallback'.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.IsPII">
            <summary>Whether the column contains personally identifiable information.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.IsPrimaryKey">
            <summary>Whether the column is part of the primary key.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.IsUnique">
            <summary>Whether the column has a unique constraint.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.IsNullable">
            <summary>Whether the column allows NULL values.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.MaxLength">
            <summary>Maximum character length, if applicable.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.ForeignKey">
            <summary>Foreign key reference, if any.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.SchemaHint">
            <summary>Schema hint for generation.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.Skip">
            <summary>Whether to skip generation (identity/computed/timestamp).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.IsIdentity">
            <summary>Whether this is an identity (auto-increment) column.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.IsComputed">
            <summary>Whether this is a computed column.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnPlan.CustomRule">
            <summary>Custom generation rule, if set.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.ColumnPlan.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.ColumnPlan"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.GenerationPlan">
            <summary>
            Represents the overall data generation plan for a database.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationPlan.Database">
            <summary>The database name or path.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationPlan.Mode">
            <summary>Generation mode ('Synthetic', 'Masking', 'Scenario').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationPlan.Tables">
            <summary>Table generation plans in insertion order.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationPlan.TableCount">
            <summary>Number of tables in the plan.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationPlan.TotalRows">
            <summary>Total rows to generate across all tables.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationPlan.GeneratorMap">
            <summary>Mapping of semantic type to generator function.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationPlan.CreatedAt">
            <summary>When the plan was created.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationPlan.GenerationRules">
            <summary>Custom generation rules per table/column.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationPlan.AIAdvice">
            <summary>AI-generated plan advice, if available.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationPlan.UseAIGeneration">
            <summary>When true, AI batch generation is used for row-level data (set by -UseAI on New-SldgGenerationPlan).</summary>
        </member>
        <member name="M:SqlLabDataGenerator.GenerationPlan.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.GenerationPlan"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.GenerationQualityReport">
            <summary>
            Row-level quality summary of one Invoke-SldgDataGeneration run: what was asked for,
            what landed, what was skipped or failed, how many foreign keys had to be resolved from
            the database, and how post-insert validation went.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.RequestedRows">
            <summary>Rows the plan asked for across all tables.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.InsertedRows">
            <summary>Rows actually inserted.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.SkippedRows">
            <summary>Rows dropped by the provider (constraint violations) or the engine.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.FailedRows">
            <summary>Rows belonging to tables whose generation failed outright.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.TableCount">
            <summary>Tables in the plan.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.SuccessfulTables">
            <summary>Tables that completed.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.FailedTables">
            <summary>Tables that failed.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.FKFallbackReferenceCount">
            <summary>Foreign-key references whose parent values had to be read from the database.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.FKFallbackValueCount">
            <summary>Parent values loaded by those fallbacks.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.FKFallbacks">
            <summary>The individual fallbacks.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.ValidationRun">
            <summary>Whether -ValidateAfterGeneration ran.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.ValidationPassed">
            <summary>Validation outcome; null when validation did not run.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.ValidationErrorCount">
            <summary>Validation checks that failed with severity Error.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationQualityReport.ValidationWarningCount">
            <summary>Validation checks that reported a warning.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.GenerationQualityReport.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.GenerationQualityReport"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.ForeignKeyFallback">
            <summary>
            One foreign-key reference whose parent values were not in the in-memory row sets and
            had to be loaded from the database (a parent table outside the plan, or already filled).
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyFallback.ReferenceKey">
            <summary>'schema.table.column' of the referenced parent column.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyFallback.ValueCount">
            <summary>Distinct parent values loaded.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyFallback.TableName">
            <summary>The child table ('schema.table') that needed them.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.ForeignKeyFallback.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.ForeignKeyFallback"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.DisabledForeignKeySet">
            <summary>
            What Disable-SldgCircularFKConstraint switched off, so Enable-SldgCircularFKConstraint
            can put it back: either one session-wide toggle (SQLite, MySQL) or a list of
            individual constraints (SQL Server).
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.DisabledForeignKeySet.DisabledTables">
            <summary>Tables whose constraints were relaxed.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.DisabledForeignKeySet.DisabledConstraintNames">
            <summary>'schema.table|constraint' entries, one per individually disabled constraint.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.DisabledForeignKeySet.SessionWide">
            <summary>True when the engine's session-wide switch was used instead of per-constraint statements.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.DisabledForeignKeySet.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.DisabledForeignKeySet"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.GenerationResult">
            <summary>
            Represents the overall result of a data generation run.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.Database">
            <summary>The database name or path.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.Mode">
            <summary>Generation mode.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.TableCount">
            <summary>Number of tables processed.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.TotalRows">
            <summary>Total rows generated.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.Tables">
            <summary>Per-table results.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.SuccessCount">
            <summary>Number of tables that succeeded.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.FailureCount">
            <summary>Number of tables that failed.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.StartedAt">
            <summary>When generation started.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.CompletedAt">
            <summary>When generation completed.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.Duration">
            <summary>Total generation duration.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.User">
            <summary>The user who ran the generation.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.QualityReport">
            <summary>Row-level quality summary (requested, inserted, skipped, failed, FK fallbacks, validation).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationResult.ValidationResults">
            <summary>Validation checks from -ValidateAfterGeneration; empty when validation did not run.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.GenerationResult.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.GenerationResult"/> class.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.GenerationResult.Dispose">
            <summary>Disposes all contained TableResult objects.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.RowSet">
            <summary>
            Represents a set of generated rows for a table.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.RowSet.TableInfo">
            <summary>The table info for which rows were generated.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.RowSet.DataTable">
            <summary>The generated data table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.RowSet.RowCount">
            <summary>Number of rows generated.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.RowSet.GeneratedValues">
            <summary>Generated PK/Unique values for cross-table reference (key = "schema.table.column").</summary>
        </member>
        <member name="M:SqlLabDataGenerator.RowSet.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.RowSet"/> class.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.RowSet.Dispose">
            <summary>Disposes the contained DataTable.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.ScenarioTemplate">
            <summary>
            Represents a scenario template for guided data generation.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.ScenarioTemplate.Name">
            <summary>Template name (e.g., 'eCommerce', 'Healthcare').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ScenarioTemplate.Description">
            <summary>Human-readable description of the scenario.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ScenarioTemplate.TableRoles">
            <summary>Table role patterns with row count multipliers.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ScenarioTemplate.ValueRules">
            <summary>Column pattern to value rules mapping.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.ScenarioTemplate.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.ScenarioTemplate"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.TablePlan">
            <summary>
            Represents the generation plan for a single table.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.TablePlan.Order">
            <summary>Topological insertion order.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TablePlan.SchemaName">
            <summary>The schema name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TablePlan.TableName">
            <summary>The table name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TablePlan.FullName">
            <summary>Fully qualified name in 'schema.table' format.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TablePlan.RowCount">
            <summary>Number of rows to generate.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TablePlan.Columns">
            <summary>Column generation plans.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TablePlan.ForeignKeys">
            <summary>Foreign key definitions from the schema.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TablePlan.ColumnCount">
            <summary>Number of columns.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TablePlan.HasCircularDependency">
            <summary>Whether the table has circular FK dependencies.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.TablePlan.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.TablePlan"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.TableResult">
            <summary>
            Represents the result of data generation for a single table.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableResult.TableName">
            <summary>Fully qualified table name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableResult.RowCount">
            <summary>Number of rows generated or inserted.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableResult.Success">
            <summary>Whether generation succeeded.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableResult.Error">
            <summary>Error message if generation failed.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableResult.DataTable">
            <summary>Generated data table (when PassThru is used, single chunk).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableResult.DataTables">
            <summary>Generated data tables (when PassThru is used, streaming).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableResult.RolledBack">
            <summary>Whether the transaction was rolled back.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableResult.RequestedRows">
            <summary>Rows the plan asked for in this table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableResult.SkippedRows">
            <summary>Rows the provider dropped (constraint violations) or the engine could not produce.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableResult.DurationMs">
            <summary>Wall-clock time spent on this table, in milliseconds.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.TableResult.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.TableResult"/> class.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.TableResult.Dispose">
            <summary>Disposes the contained DataTable(s).</summary>
        </member>
        <member name="T:SqlLabDataGenerator.SqlProvider">
            <summary>
            Represents a registered database provider (SQL Server, SQLite, etc.).
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.SqlProvider.Name">
            <summary>Provider name ('SQLite', 'SqlServer').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SqlProvider.FunctionMap">
            <summary>Function map (keys: Connect, GetSchema, WriteData, ReadData, Disconnect, optional DeleteData).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SqlProvider.Registered">
            <summary>When the provider was registered.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.SqlProvider.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.SqlProvider"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.ColumnInfo">
            <summary>
            Represents column metadata discovered from a database schema.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.ColumnName">
            <summary>The name of the column.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.DataType">
            <summary>The SQL data type.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.MaxLength">
            <summary>Maximum character length, if applicable.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.NumericPrecision">
            <summary>Numeric precision (SQL Server).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.NumericScale">
            <summary>Numeric scale (SQL Server).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.OrdinalPosition">
            <summary>Ordinal position in the table (SQL Server).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.IsNullable">
            <summary>Whether the column allows NULL values.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.IsPrimaryKey">
            <summary>Whether the column is part of the primary key.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.IsIdentity">
            <summary>Whether the column is an identity (auto-increment) column.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.IsComputed">
            <summary>Whether the column is computed.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.IsUnique">
            <summary>Whether the column has a unique constraint.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.DefaultValue">
            <summary>The default value expression, if any.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.ForeignKey">
            <summary>Foreign key reference, if this column references another table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.CheckConstraints">
            <summary>Check constraints defined on this column.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.SchemaHint">
            <summary>Hint derived from view definitions (e.g., JSON/XML format).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.ViewDetectedFormat">
            <summary>Detected format from view definition ('Json', 'Xml', or null).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.SemanticType">
            <summary>Resolved semantic type (e.g., 'person-first-name').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.Classification">
            <summary>Column classification result.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.GenerationRule">
            <summary>Custom generation rule, if set.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.PKStartValue">
            <summary>
            For non-identity integer primary keys: MAX(column) read from the table before
            generation, so new keys continue the sequence. Null until the engine sets it.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.AIValueExamples">
            <summary>AI-provided example values for this column (Get-SldgColumnAnalysis -UseAI).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.AIValuePattern">
            <summary>AI-provided value pattern (format, range or regex) for this column.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.AICrossColumnDependency">
            <summary>Another column of the same table whose value drives this one, as reported by AI.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ColumnInfo.AIGenerationHint">
            <summary>Free-text generation guidance reported by AI for this column.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.ColumnInfo.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.ColumnInfo"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.ForeignKeyInfo">
            <summary>
            Represents a foreign key relationship between tables.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyInfo.ForeignKeyName">
            <summary>The name of the foreign key constraint.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyInfo.ParentSchema">
            <summary>The schema of the parent (referencing) table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyInfo.ParentTable">
            <summary>The name of the parent (referencing) table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyInfo.ParentColumn">
            <summary>The name of the parent (referencing) column.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyInfo.ReferencedSchema">
            <summary>The schema of the referenced table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyInfo.ReferencedTable">
            <summary>The name of the referenced table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyInfo.ReferencedColumn">
            <summary>The name of the referenced column.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.ForeignKeyInfo.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.ForeignKeyInfo"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.ForeignKeyRef">
            <summary>
            Represents a foreign key reference from a column to a referenced table/column.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyRef.ForeignKeyName">
            <summary>The name of the foreign key constraint.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyRef.ReferencedSchema">
            <summary>The schema of the referenced table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyRef.ReferencedTable">
            <summary>The name of the referenced table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ForeignKeyRef.ReferencedColumn">
            <summary>The name of the referenced column.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.ForeignKeyRef.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.ForeignKeyRef"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.SchemaModel">
            <summary>
            Represents the complete schema model for a database.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.SchemaModel.Database">
            <summary>The database name or path.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SchemaModel.Tables">
            <summary>All tables discovered in the schema.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SchemaModel.TableCount">
            <summary>Number of tables in the schema.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SchemaModel.DiscoveredAt">
            <summary>When the schema was discovered.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SchemaModel.ColumnClassifications">
            <summary>Every column classification, filled by Get-SldgColumnAnalysis.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.SchemaModel.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.SchemaModel"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.TableInfo">
            <summary>
            Represents table metadata discovered from a database schema.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableInfo.SchemaName">
            <summary>The schema name (e.g., 'dbo').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableInfo.TableName">
            <summary>The table name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableInfo.FullName">
            <summary>Fully qualified name in 'schema.table' format.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableInfo.Columns">
            <summary>Column metadata for all columns in the table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableInfo.ForeignKeys">
            <summary>Foreign key relationships defined on this table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableInfo.ColumnCount">
            <summary>Number of columns in the table.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.TableInfo.HasCircularDependency">
            <summary>Set by Resolve-SldgForeignKeyOrder when the table sits in a foreign-key cycle.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.TableInfo.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.TableInfo"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.HealthStatus">
            <summary>Snapshot returned by Get-SldgHealth.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthStatus.Status">
            <summary>'OK' while the module is importable and its registries are populated.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthStatus.ModuleVersion">
            <summary>Module version from the manifest.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthStatus.PowerShellVersion">
            <summary>PowerShell engine version.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthStatus.Providers">
            <summary>Registered schema/data function maps (dialect schema sources).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthStatus.AIEnabled">
            <summary>Whether AI row generation is enabled.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthStatus.AILocaleEnabled">
            <summary>Whether AI locale generation is enabled.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthStatus.ActiveConnection">
            <summary>The active connection, or null.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthStatus.RegisteredLocales">
            <summary>Registered locale codes.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthStatus.Transformers">
            <summary>Registered transformer names.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthStatus.Timestamp">
            <summary>When the snapshot was taken.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.HealthStatus.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.HealthStatus"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.HealthConnection">
            <summary>Connection summary inside <see cref="T:SqlLabDataGenerator.HealthStatus"/>.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthConnection.Provider">
            <summary>PSSqlRepository provider name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthConnection.ServerInstance">
            <summary>Server instance or 'localhost'.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.HealthConnection.Database">
            <summary>Database name or file path.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.HealthConnection.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.HealthConnection"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.SessionInfo">
            <summary>
            Summary snapshot of the current session state returned by Get-SldgSession.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.SessionInfo.SessionId">
            <summary>Unique identifier of the session.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SessionInfo.CreatedAt">
            <summary>When the session was created (UTC).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SessionInfo.Connection">
            <summary>Connection summary, or null when disconnected.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SessionInfo.AIProvider">
            <summary>AI provider configuration summary.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SessionInfo.RegisteredProviders">
            <summary>Names of registered database providers.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SessionInfo.RegisteredTransformers">
            <summary>Names of registered data transformers.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SessionInfo.RegisteredLocales">
            <summary>Names of registered locale packs.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SessionInfo.CacheSizes">
            <summary>Number of entries in each AI cache.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SessionInfo.GenerationPlans">
            <summary>Names of active generation plans.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SessionInfo.GenerationHistory">
            <summary>Per-database generation history entries.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.ConnectionSummary">
            <summary>
            Summarises the active database connection.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.ConnectionSummary.Provider">
            <summary>The database provider ('SqlServer' or 'SQLite').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ConnectionSummary.ServerInstance">
            <summary>The server instance or hostname.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ConnectionSummary.Database">
            <summary>The database name or file path.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ConnectionSummary.State">
            <summary>Current connection state ('Open', 'Closed', 'Disposed').</summary>
        </member>
        <member name="T:SqlLabDataGenerator.AIProviderSummary">
            <summary>
            Summarises the AI provider configuration.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderSummary.Provider">
            <summary>The active AI provider name (e.g. 'AzureOpenAI', 'Ollama', 'None').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderSummary.Model">
            <summary>The active AI model name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.AIProviderSummary.Overrides">
            <summary>Per-purpose model overrides (key = purpose, value = "Provider/Model").</summary>
        </member>
        <member name="T:SqlLabDataGenerator.CacheSummary">
            <summary>
            Number of cached entries in each AI cache.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.CacheSummary.AIValueCache">
            <summary>AI-generated column value cache size.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.CacheSummary.AILocaleCache">
            <summary>AI-generated locale data cache size.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.CacheSummary.AILocaleCategoryCache">
            <summary>AI-generated locale category data cache size.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.CacheSummary.CacheTimestamps">
            <summary>Total number of cache timestamp entries.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.GenerationHistoryEntry">
            <summary>
            One entry in the per-database generation history.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationHistoryEntry.Database">
            <summary>The database name or path.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.GenerationHistoryEntry.Tables">
            <summary>Number of tables in the generation result.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.SldgSession">
            <summary>
            Encapsulates all mutable state for a SqlLabDataGenerator session.
            Thread-safe: uses ConcurrentDictionary/ConcurrentQueue for all collections
            and explicit locking for compound operations.
            <para>
            Replaces the previous <c>$script:SldgState</c> synchronized hashtable
            with a strongly-typed object that supports multiple parallel sessions
            without cross-contamination.
            </para>
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.SessionId">
            <summary>Unique identifier for this session.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.CreatedAt">
            <summary>When the session was created.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.ActiveConnection">
            <summary>The currently active database connection, or null.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.ActiveProvider">
            <summary>The name of the active database provider, or null.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.Providers">
            <summary>Registered database providers keyed by name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.Transformers">
            <summary>Registered data transformers keyed by name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.GenerationPlans">
            <summary>Active generation plans keyed by database name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.GeneratedData">
            <summary>Results of last generation run keyed by database name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.Locales">
            <summary>Static locale packs keyed by locale name (e.g. 'en-US', 'cs-CZ').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.AILocaleCache">
            <summary>AI-generated locale data cache.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.AILocaleCategoryCache">
            <summary>AI-generated locale category data cache.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.AIValueCache">
            <summary>AI-generated column value cache.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.CacheTimestamps">
            <summary>Timestamps for cache entries (key = "CacheName|Key").</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.AIRequestTimestamps">
            <summary>Timestamps of recent AI requests for rate limiting.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.AIRateLimitLock">
            <summary>Lock object for atomic rate-limit check-wait-enqueue operations.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.SldgSession.AIModelOverrides">
            <summary>Per-purpose AI model overrides keyed by purpose name.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.SldgSession.#ctor">
            <summary>Creates a new session with a unique identifier.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.SldgSession.ClearCaches">
            <summary>
            Resets all caches without touching providers, locales, or the active connection.
            </summary>
        </member>
        <member name="M:SqlLabDataGenerator.SldgSession.Reset">
            <summary>
            Resets the entire session to a clean state: disconnects, clears providers,
            plans, caches, locales, and transformers.
            </summary>
        </member>
        <member name="M:SqlLabDataGenerator.SldgSession.Dispose">
            <summary>Disposes the session, closing the active connection.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.EntraIdGroup">
            <summary>
            Represents a group object formatted for Microsoft Entra ID import.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdGroup.DisplayName">
            <summary>The display name of the group.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdGroup.MailNickname">
            <summary>The mail nickname.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdGroup.MailEnabled">
            <summary>Whether the group is mail-enabled.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdGroup.SecurityEnabled">
            <summary>Whether the group is security-enabled.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdGroup.GroupTypes">
            <summary>Group types (e.g., ['Unified'] for Microsoft 365 groups).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdGroup.Description">
            <summary>Group description.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdGroup.Department">
            <summary>Department associated with the group.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.EntraIdGroup.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.EntraIdGroup"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.EntraIdUser">
            <summary>
            Represents a user object formatted for Microsoft Entra ID import.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.AccountEnabled">
            <summary>Whether the account is enabled.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.DisplayName">
            <summary>The display name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.GivenName">
            <summary>The given (first) name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.Surname">
            <summary>The surname (last name).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.UserPrincipalName">
            <summary>The user principal name (UPN).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.MailNickname">
            <summary>The mail nickname.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.UsageLocation">
            <summary>Usage location for licensing (ISO country code).</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.PasswordProfile">
            <summary>Password profile with initial password and change requirement.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.Mail">
            <summary>Email address.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.MobilePhone">
            <summary>Mobile phone number.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.JobTitle">
            <summary>Job title.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.Department">
            <summary>Department.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.CompanyName">
            <summary>Company name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.City">
            <summary>City.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.State">
            <summary>State or province.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.Country">
            <summary>Country.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.PostalCode">
            <summary>Postal code.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.EntraIdUser.StreetAddress">
            <summary>Street address.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.EntraIdUser.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.EntraIdUser"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.Transformer">
            <summary>
            Represents a registered data transformer.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.Transformer.Name">
            <summary>Transformer name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Transformer.Description">
            <summary>Human-readable description.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Transformer.TransformFunction">
            <summary>Name of the PowerShell function to invoke.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Transformer.RequiredSemanticTypes">
            <summary>Semantic types required by this transformer.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.Transformer.OutputType">
            <summary>PSTypeName of the output objects.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.Transformer.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.Transformer"/> class.</summary>
        </member>
        <member name="T:SqlLabDataGenerator.ValidationResult">
            <summary>
            Represents the result of a data validation check.
            </summary>
        </member>
        <member name="P:SqlLabDataGenerator.ValidationResult.CheckType">
            <summary>Type of validation check ('NotNull', 'RowCount', 'ForeignKey', 'PrimaryKey', 'UniqueConstraint').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ValidationResult.TableName">
            <summary>Fully qualified table name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ValidationResult.ConstraintName">
            <summary>Constraint or check name.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ValidationResult.Column">
            <summary>Column name, or null for table-level checks.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ValidationResult.ReferencedTable">
            <summary>Referenced table for FK checks.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ValidationResult.ReferencedColumn">
            <summary>Referenced column for FK checks.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ValidationResult.Passed">
            <summary>Whether the check passed.</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ValidationResult.Severity">
            <summary>Severity level ('OK', 'Error', 'Warning').</summary>
        </member>
        <member name="P:SqlLabDataGenerator.ValidationResult.Details">
            <summary>Human-readable details about the check result.</summary>
        </member>
        <member name="M:SqlLabDataGenerator.ValidationResult.#ctor">
            <summary>Initializes a new instance of the <see cref="T:SqlLabDataGenerator.ValidationResult"/> class.</summary>
        </member>
    </members>
</doc>