{"version":3,"file":"list-tables.cjs","names":["z","action"],"sources":["../../src/actions/list-tables.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { supabase } from \"../app\";\n\nexport const SupabaseListTablesInput = z.object({\n  schemas: z.array(z.string()).describe(\"List of schemas to search for tables (maximum 10). If not provided, lists tables from all non-system schemas. Specify schema names to limit the search to specific schemas.\").optional(),\n  project_ref: z.string().describe(\"The unique reference ID of the Supabase project. Must be exactly 20 lowercase letters (a-z only, no numbers or hyphens). This is visible in your Supabase project URL (e.g., https://supabase.com/dashboard/project/{project_ref}).\"),\n  include_views: z.boolean().default(true).describe(\"Whether to include views along with tables in the results\").optional(),\n  include_metadata: z.boolean().default(true).describe(\"Whether to include basic metadata like estimated row count and table size\").optional(),\n  include_system_schemas: z.boolean().default(false).describe(\"Whether to include system schemas (pg_catalog, information_schema, etc.) when listing all schemas. When set to false, temporary and internal schemas such as pg_temp_*, pg_toast_temp_* and pgbouncer are excluded from the results.\").optional(),\n}).describe(\"Request schema for listing tables in a Supabase database.\");\nconst SupabaseListTables_TableInfoSchema = z.object({\n  comment: z.string().describe(\"Optional comment/description of the table or view.\").nullable().optional(),\n  full_name: z.string().describe(\"Fully qualified name of the relation in the form schema_name.table_name\").nullable(),\n  row_count: z.number().int().describe(\"Estimated or recorded number of rows for the table. Null for views or when unavailable.\").nullable().optional(),\n  size_bytes: z.number().int().describe(\"On-disk size of the table/view in bytes. Null for views or when unavailable.\").nullable().optional(),\n  table_name: z.string().describe(\"Table or view name\").nullable(),\n  table_type: z.enum([\"BASE TABLE\", \"VIEW\"]).describe(\"Relation type: 'BASE TABLE' for tables or 'VIEW' for views.\").nullable(),\n  schema_name: z.string().describe(\"Database schema name\").nullable(),\n  size_pretty: z.string().describe(\"Human-readable size (e.g., '8.0 KB', '2.6 MB'). Null for views or when unavailable.\").nullable().optional(),\n}).passthrough().describe(\"Basic information about a database table or view (simplified relation metadata).\");\nconst SupabaseListTables_SchemaInfoSchema = z.object({\n  tables: z.array(SupabaseListTables_TableInfoSchema).describe(\"Detailed list of tables and views in the schema (simplified relation metadata used for listing/summary).\"),\n  view_count: z.number().int().describe(\"Number of views included in this schema when include_views=true.\").nullable(),\n  schema_name: z.string().describe(\"Name of the database schema (e.g., public, auth, storage).\").nullable(),\n  table_count: z.number().int().describe(\"Number of tables (and possibly views if included) in this schema.\").nullable(),\n  total_size_bytes: z.number().int().describe(\"Total size in bytes of all listed relations within the schema (tables and, if applicable, materialized storage).\").nullable().optional(),\n  total_size_pretty: z.string().describe(\"Human-readable total size for the schema (e.g., '624.0 KB', '2.7 MB').\").nullable().optional(),\n}).passthrough().describe(\"Information about tables in a specific schema with aggregated size information.\");\nconst SupabaseListTables_QueryMetadataSchema = z.object({\n  errors: z.union([z.string(), z.array(z.string())]).nullable().optional(),\n  include_views: z.boolean().describe(\"Whether views were included alongside tables in the results.\").nullable(),\n  include_metadata: z.boolean().describe(\"Whether size and row count metadata were requested and included.\").nullable(),\n}).passthrough().describe(\"Metadata about how the list was generated and any errors encountered.\");\nexport const SupabaseListTablesOutput = z.object({\n  tables: z.array(z.record(z.string(), z.unknown())).describe(\"Raw detailed table metadata returned by Supabase Meta API (postgres-meta) GET /tables. Present when the response includes the full table metadata payload.\").nullable().optional(),\n  schemas: z.array(SupabaseListTables_SchemaInfoSchema).describe(\"List of database schemas with their tables/views and aggregated size information.\"),\n  total_views: z.number().int().describe(\"Total number of relations of type 'VIEW' across all schemas.\").nullable(),\n  total_tables: z.number().int().describe(\"Total number of relations of type 'BASE TABLE' across all schemas.\").nullable(),\n  total_schemas: z.number().int().describe(\"Total number of schemas returned.\").nullable(),\n  query_metadata: SupabaseListTables_QueryMetadataSchema.nullable(),\n}).passthrough().describe(\"Comprehensive result of listing tables (and optionally views) across schemas in a Supabase/Postgres project.\");\n\nexport const supabaseListTables: AppAction<\n  typeof SupabaseListTablesInput,\n  typeof SupabaseListTablesOutput,\n  typeof supabase.credential\n> = action(\"SUPABASE_LIST_TABLES\", {\n  slug: \"supabase-list-tables\",\n  name: \"List Database Tables\",\n  description: \"Lists all tables and views in specified database schemas, providing a quick overview of database structure to help identify available tables before fetching detailed schemas.\",\n  input: SupabaseListTablesInput,\n  output: SupabaseListTablesOutput,\n});\n"],"mappings":"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"}