Database

Register the native Android database tool suite to discover SQLite databases, inspect schema, and run read-only queries.

Install

Published artifact: ai.ansight:ansight-tools-database-android.

dependencies {
    debugImplementation("ai.ansight:ansight-tools-database-android:1.0.2-preview.1")
}

Register the Suite

import ai.ansight.runtime.AnsightOptions
import ai.ansight.tools.database.withDatabaseTools

val options = AnsightOptions.createBuilder()
    .withDatabaseTools {
        includePlatformRoots(true)
        addRoot("fixtures", application.filesDir.resolve("db-fixtures"))
    }
    .withReadOnlyToolAccess()
    .build()

Registration API

  • withDatabaseTools(...): registers SQLite discovery, schema, and read-only query tools.
  • AndroidDatabaseToolsOptions.createBuilder(): creates a suite options builder.
  • addRoot(alias, path): exposes an additional approved database root.
  • includePlatformRoots(...): controls whether standard app roots are searched.

Specific Concerns

  • The suite is SQLite-focused.
  • Query execution is read-only.
  • Schema and query results can expose sensitive user or app data.
  • Paths are constrained to approved roots.

Tool Matrix

NameIdScopeDescriptionSecurity
List Databasesdata.list_databasesReadLists app databases that can be inspected.Moderate
Describe Schemadata.describe_schemaReadReturns schema metadata for a database or table.Moderate
Query Databasedata.queryReadExecutes a constrained read query.High

Tool Details

Use data.list_databases to discover SQLite files, data.describe_schema to inspect tables, and data.query for constrained read-only SQL.