Gridlet.Core 1.7.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Gridlet.Core --version 1.7.0
                    
NuGet\Install-Package Gridlet.Core -Version 1.7.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Gridlet.Core" Version="1.7.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Gridlet.Core" Version="1.7.0" />
                    
Directory.Packages.props
<PackageReference Include="Gridlet.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Gridlet.Core --version 1.7.0
                    
#r "nuget: Gridlet.Core, 1.7.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Gridlet.Core@1.7.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Gridlet.Core&version=1.7.0
                    
Install as a Cake Addin
#tool nuget:?package=Gridlet.Core&version=1.7.0
                    
Install as a Cake Tool

<p align="center"> <img src="assets/gridlet-logo.png" width="160" height="160" alt="Gridlet logo" /> </p>

<h1 align="center">Gridlet</h1>

Gridlet is an embeddable ASP.NET Core database management interface. Add it to an existing application to browse schemas and data, inspect keys, indexes and relationships, edit database objects, run queries, publish APIs, and talk to your data with an integrated AI agent, all through the host application's authentication, authorisation, routing, logging and deployment model.

<p align="center"> <img src="assets/screenshot-1.png" width="100%" alt="Gridlet table browser showing customer data" /> </p>

Highlights

  • Embed a complete database workspace at /gridlet or a custom route.
  • Connect SQL Server and SQLite databases side by side.
  • Browse tables, views, keys, indexes, relationships, routines and triggers where supported.
  • Query, save and export data; optionally enable row editing and schema design.
  • Publish queries as protected HTTP endpoints with typed parameters.
  • Add natural-language database exploration through the optional AI package.
  • Reuse the host application's ASP.NET Core security and operational infrastructure.

Multiple databases, one interface

Register one or more SQL Server and SQLite connections, then switch between them from the Gridlet header. The interface adapts to the capabilities of the selected provider.

builder.Services
    .AddGridlet()
    .AddSqlServer(sqlServerConnectionString)
    .AddSqlite(sqliteConnectionString);

<p align="center"> <img src="assets/screenshot-4.png" width="720" alt="Gridlet connection selector showing SQLite and SQL Server connections in one app" /> </p>

Query, edit and design

Run SQL with streamed results, save useful queries, and export CSV or JSON. Per-connection feature gates can enable or hide row editing, ad-hoc SQL and schema-changing tools, while the database identity remains the final permission boundary.

<p align="center"> <img src="assets/screenshot-3.png" width="100%" alt="Gridlet query editor showing order summary results" /> </p>

Talk with your database

The optional prerelease Gridlet.AgentFramework package adds an Ask workspace powered by Microsoft Agent Framework. It can explain schema, generate SQL, run bounded read-only queries, and work with published GET endpoints.

Schema, data and published-API access are shared independently for each conversation. The host sets the maximum allowed access, the user chooses what to share, and the agent can request missing access through an auditable Allow / Deny prompt. Gridlet never gives the agent write or DDL tools.

Profiles can use local Codex, Claude Code or GitHub Copilot subscriptions, hosted OpenAI or Anthropic APIs, OpenAI-compatible endpoints, or Ollama.

<video src="https://github.com/user-attachments/assets/f62b6df5-9681-4a37-b133-3141b31f568d" controls></video>

<p align="center"><em>Gridlet Ask workspace demonstration.</em></p>

Publish queries as APIs

Publish a query as a GET, POST, PUT, PATCH or DELETE endpoint, declare typed parameters, attach an existing ASP.NET Core authorization policy, and test it in the built-in request preview. Endpoints are served under /gridlet/pub by default and can stream JSON or NDJSON responses.

<p align="center"> <img src="assets/screenshot-2.png" width="620" alt="Gridlet published API preview showing a formatted JSON response" /> </p>

Quick start

Gridlet currently targets .NET 10. Install the ASP.NET Core package and a database provider:

dotnet add package Gridlet.AspNetCore
dotnet add package Gridlet.SqlServer

Register a connection and map Gridlet:

using Gridlet;

var builder = WebApplication.CreateBuilder(args);

builder.Services
    .AddGridlet()
    .AddSqlServer(builder.Configuration.GetConnectionString("Default")!);

var app = builder.Build();

app.MapGridlet();

app.Run();

Open /gridlet. By default, every Gridlet endpoint uses the host application's default authorization policy. The mount path can be changed with app.MapGridlet("/internal/database").

For SQLite, install Gridlet.Sqlite and replace AddSqlServer with AddSqlite.

Essential configuration

Configure security and connection capabilities when registering Gridlet:

builder.Services
    .AddGridlet(options =>
    {
        options.Security.AuthorizationPolicy = "DatabaseAdministrators";
        options.Limits.MaxQueryResultRows = 10_000;
        options.PublishedApiRoutePrefix = "pub";
    })
    .AddSqlServer(connectionString, connection =>
    {
        connection.AllowSqlExecution = true;
        connection.AllowWrites = false;
        connection.AllowDdl = false;

        connection.AllowAgentSchemaAccess = true;
        connection.AllowAgentDataAccess = true;
        connection.AllowAgentApiAccess = true;
        connection.AgentDataConnectionString = readOnlyConnectionString;
    });

AllowSqlExecution, AllowWrites and AllowDdl control separate UI and API capabilities. Use a least-privileged database identity because SQL submitted through the query editor has the permissions of its configured connection.

Options can also be bound with AddGridletFromConfiguration. Hosts that do not need the embedded UI can map MapGridletApi or MapGridletPublished instead.

Security

  • Gridlet requires the host's default authorization policy unless a named policy or explicit anonymous access is configured.
  • Connections are an explicit allow-list; Gridlet does not expose other application connection strings automatically.
  • Dynamic identifiers are checked against database metadata and values are parameterised.
  • Paging, result-size and command-timeout limits are enforced server-side.
  • Query execution, writes, DDL and published-API calls produce structured audit events.
  • Agent data access can use a separate read-only connection and is always limited to bounded, read-only tools.

Packages

Package Purpose
Gridlet.AspNetCore ASP.NET Core registration, endpoints and embedded web interface.
Gridlet.SqlServer SQL Server provider.
Gridlet.Sqlite SQLite provider.
Gridlet.AgentFramework Optional prerelease AI integration.
Gridlet.Core Provider abstractions, models, options and auditing.

Provider support

Provider Coverage
SQL Server Databases, schemas, tables, views, keys, indexes, relationships, procedures, functions, triggers, queries, writes and DDL.
SQLite The main database, tables, views, keys, indexes, relationships, generated columns, triggers, queries, writes and DDL.

Provider-specific concepts are omitted when they do not apply; for example, SQLite does not expose stored procedures, functions or user-created schemas.

Demo

The sample application creates a seeded SQLite database and, on Windows when available, a SQL Server LocalDB database:

dotnet run --project samples/Gridlet.Demo

Open http://localhost:5088/gridlet.

Development

dotnet build
dotnet test --configuration Release

The test suite covers the core services, real endpoint pipeline, temporary SQLite databases and the embedded interface through headless Chromium. SQL Server is not required for the tests.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on Gridlet.Core:

Package Downloads
Gridlet.AspNetCore

ASP.NET Core integration for Gridlet: AddGridlet()/MapGridlet() plus an embedded web UI for browsing schema, viewing and editing data, and running queries against configured connections.

Gridlet.SqlServer

SQL Server provider for Gridlet, an embeddable web-based database management interface for ASP.NET Core.

Gridlet.Sqlite

SQLite provider for Gridlet, an embeddable web-based database management interface for ASP.NET Core.

Gridlet.AgentFramework

Microsoft Agent Framework integration for safe, conversational schema exploration and read-only data analysis in Gridlet.

Gridlet.Voice

Read-aloud support for Gridlet. Adds a speaker button to agent responses that speaks them through the browser's own speech synthesizer, with no audio generated or sent by the server.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.13.0 114 8/15/2026
1.12.0 108 8/14/2026
1.11.0 122 8/11/2026
1.10.0 116 8/11/2026
1.9.1 120 8/10/2026
1.8.0 124 8/9/2026
1.7.0 118 8/9/2026
1.6.0 116 8/8/2026
1.4.0 119 8/8/2026
1.3.0 132 7/13/2026
1.2.0 134 7/12/2026
1.1.1 130 7/12/2026
1.1.0 121 7/11/2026
1.0.0 99 7/11/2026