{"version":3,"file":"get-table-schemas.mjs","names":[],"sources":["../../src/actions/get-table-schemas.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 SupabaseGetTableSchemasInput = z.object({\n  project_ref: z.string().describe(\"The unique reference ID of the Supabase project. This is visible in your Supabase project URL (e.g., https://supabase.com/dashboard/project/{project_ref}).\"),\n  table_names: z.array(z.string()).describe(\"List of table names to retrieve schemas for. At least one table name is required (empty lists are not allowed). Tables can be from different schemas (e.g., 'public.users', 'operations.call_queue_items'). Without schema prefix, 'public' is assumed. Maximum 20 tables per request.\"),\n  include_indexes: z.boolean().default(true).describe(\"Whether to include index information in the response\").optional(),\n  exclude_null_values: z.boolean().default(true).describe(\"Whether to exclude properties with null values from the response for cleaner output\").optional(),\n  include_relationships: z.boolean().default(true).describe(\"Whether to include foreign key relationships in the response\").optional(),\n}).describe(\"Request schema for retrieving table schemas from Supabase database.\");\nconst SupabaseGetTableSchemas_TableNotFoundErrorSchema = z.object({\n  error: z.string().describe(\"Error message explaining why the table wasn't found\").nullable(),\n  table_name: z.string().describe(\"The table name that was requested\").nullable(),\n  suggestions: z.array(z.string()).describe(\"Suggested table names that might be what the user is looking for\").nullable().optional(),\n}).passthrough().describe(\"Information about a table that wasn't found.\");\nconst SupabaseGetTableSchemas_MetaColumnForeignKeySchema = z.object({\n  match: z.string().nullable().optional(),\n  table: z.string().nullable(),\n  column: z.string().nullable(),\n  schema: z.string().nullable().optional(),\n  on_delete: z.string().nullable().optional(),\n  on_update: z.string().nullable().optional(),\n  deferrable: z.boolean().nullable().optional(),\n  initially_deferred: z.boolean().nullable().optional(),\n}).passthrough();\nconst SupabaseGetTableSchemas_MetaColumnSchema = z.object({\n  id: z.number().int().nullable(),\n  name: z.string().nullable(),\n  enums: z.array(z.string()),\n  attnum: z.number().int().nullable(),\n  format: z.string().nullable().optional(),\n  comment: z.string().nullable().optional(),\n  computed: z.boolean().nullable().optional(),\n  collation: z.string().nullable().optional(),\n  data_type: z.string().nullable(),\n  is_unique: z.boolean().nullable(),\n  max_length: z.number().int().nullable().optional(),\n  foreign_key: SupabaseGetTableSchemas_MetaColumnForeignKeySchema.nullable().optional(),\n  is_identity: z.boolean().nullable(),\n  is_nullable: z.boolean().nullable(),\n  is_generated: z.boolean().nullable(),\n  is_updatable: z.boolean().nullable(),\n  default_value: z.string().nullable().optional(),\n  numeric_scale: z.number().int().nullable().optional(),\n  is_primary_key: z.boolean().nullable().optional(),\n  ordinal_position: z.number().int().nullable(),\n  numeric_precision: z.number().int().nullable().optional(),\n  datetime_precision: z.number().int().nullable().optional(),\n  identity_generation: z.string().nullable().optional(),\n  generation_expression: z.string().nullable().optional(),\n}).passthrough();\nconst SupabaseGetTableSchemas_MetaIndexSchema = z.object({\n  name: z.string().nullable(),\n  method: z.string().nullable().optional(),\n  columns: z.array(z.string()).nullable().optional(),\n  is_unique: z.boolean().nullable(),\n  definition: z.string().nullable(),\n  is_primary: z.boolean().nullable(),\n  tablespace: z.string().nullable().optional(),\n}).passthrough();\nconst SupabaseGetTableSchemas_MetaPolicySchema = z.object({\n  name: z.string().nullable(),\n  roles: z.array(z.string()).nullable().optional(),\n  using: z.string().nullable().optional(),\n  command: z.string().nullable(),\n  permissive: z.boolean().nullable(),\n  with_check: z.string().nullable().optional(),\n}).passthrough();\nconst SupabaseGetTableSchemas_MetaConstraintReferenceSchema = z.object({\n  match: z.string().nullable().optional(),\n  table: z.string().nullable(),\n  schema: z.string().nullable().optional(),\n  columns: z.array(z.string()),\n  on_delete: z.string().nullable().optional(),\n  on_update: z.string().nullable().optional(),\n  deferrable: z.boolean().nullable().optional(),\n  initially_deferred: z.boolean().nullable().optional(),\n}).passthrough();\nconst SupabaseGetTableSchemas_MetaConstraintSchema = z.object({\n  name: z.string().nullable(),\n  type: z.string().nullable(),\n  columns: z.array(z.string()).nullable().optional(),\n  definition: z.string().nullable().optional(),\n  references: SupabaseGetTableSchemas_MetaConstraintReferenceSchema.nullable().optional(),\n}).passthrough();\nconst SupabaseGetTableSchemas_MetaForeignKeySummarySchema = z.object({\n  on_delete: z.string().nullable().optional(),\n  on_update: z.string().nullable().optional(),\n  target_table: z.string().nullable(),\n  source_column: z.string().nullable(),\n  target_column: z.string().nullable(),\n  target_schema: z.string().nullable(),\n  constraint_name: z.string().nullable(),\n}).passthrough();\nconst SupabaseGetTableSchemas_MetaTableSchema = z.object({\n  id: z.number().int().nullable(),\n  name: z.string().nullable(),\n  bytes: z.number().int().nullable(),\n  owner: z.string().nullable().optional(),\n  schema: z.string().nullable().optional(),\n  columns: z.array(SupabaseGetTableSchemas_MetaColumnSchema),\n  comment: z.string().nullable().optional(),\n  indexes: z.array(SupabaseGetTableSchemas_MetaIndexSchema).nullable().optional(),\n  policies: z.array(SupabaseGetTableSchemas_MetaPolicySchema).nullable().optional(),\n  unlogged: z.boolean().nullable(),\n  full_name: z.string().nullable(),\n  row_count: z.number().int().nullable(),\n  partitions: z.array(z.record(z.string(), z.unknown())).nullable().optional(),\n  rls_forced: z.boolean().nullable(),\n  table_name: z.string().nullable(),\n  tablespace: z.string().nullable().optional(),\n  constraints: z.array(SupabaseGetTableSchemas_MetaConstraintSchema).nullable().optional(),\n  partitioned: z.boolean().nullable().optional(),\n  rls_enabled: z.boolean().nullable(),\n  schema_name: z.string().nullable(),\n  toast_relid: z.number().int().nullable().optional(),\n  foreign_keys: z.array(SupabaseGetTableSchemas_MetaForeignKeySummarySchema).nullable().optional(),\n  parent_table: z.record(z.string(), z.unknown()).nullable().optional(),\n  primary_keys: z.array(z.string()),\n  replica_identity: z.string().nullable(),\n}).passthrough();\nexport const SupabaseGetTableSchemasOutput = z.object({\n  errors: z.array(SupabaseGetTableSchemas_TableNotFoundErrorSchema).describe(\"List of errors encountered when fetching tables. Contains details about tables that could not be retrieved due to errors (connectivity issues, authentication failures, tables not found, etc.).\").nullable().optional(),\n  tables: z.array(SupabaseGetTableSchemas_MetaTableSchema).describe(\"List of database tables with full schema metadata as returned by Supabase Postgres Meta API (GET /tables).\"),\n  total_found: z.number().int().describe(\"Total number of tables found that match the query\").nullable(),\n  total_requested: z.number().int().describe(\"Number of tables requested (limit) for this response\").nullable(),\n}).passthrough().describe(\"Response payload containing Supabase table schema definitions and summary counts\");\n\nexport const supabaseGetTableSchemas: AppAction<\n  typeof SupabaseGetTableSchemasInput,\n  typeof SupabaseGetTableSchemasOutput,\n  typeof supabase.credential\n> = action(\"SUPABASE_GET_TABLE_SCHEMAS\", {\n  slug: \"supabase-get-table-schemas\",\n  name: \"Get Table Schemas\",\n  description: \"Retrieves column details, types, and constraints for multiple database tables to help debug schema issues and write accurate SQL queries. Use the SUPABASE_LIST_TABLES action first to discover available tables, the fetch their detailed schemas.\",\n  input: SupabaseGetTableSchemasInput,\n  output: SupabaseGetTableSchemasOutput,\n});\n"],"mappings":"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"}