UNPKG

@promptbook/utils

Version:

Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action

204 lines (203 loc) • 9.63 kB
/** * AUTO-GENERATED SUBSET TYPES FROM `/apps/agents-server/src/database/schema.ts` * Source of truth: `/apps/agents-server/src/database/schema.sql` *(do not edit table structure here manually)* * * [💽] Prompt: * Re-generate this sub-schema from `/apps/agents-server/src/database/schema.ts` *(which was generated from `/apps/agents-server/src/database/migrations/*.sql`)* * `AgentsDatabaseSchema` is strict subset of `AgentsServerDatabase` * Generate Supabase TypeScript schema which is a subset of `AgentsServerDatabase` * containing only tables `Agent` and `AgentHistory` * * NOTE: This file intentionally omits all other tables (`Metadata`, `ChatHistory`, `ChatFeedback`, `User`, `LlmCache`, etc.) * and any extra schemas (e.g. `graphql_public`) to remain a strict subset. */ /** * Supabase-style JSON helper type. */ export type Json = string | number | boolean | null | { [key: string]: Json | undefined; } | Json[]; /** * Subset of the Agents Server database schema containing only Agent and AgentHistory tables. */ export type AgentsDatabaseSchema = { public: { Tables: { Agent: { Row: { id: number; agentName: string; createdAt: string; updatedAt: string | null; permanentId: string | null; agentHash: string; agentSource: string; agentProfile: Json; promptbookEngineVersion: string; usage: Json | null; preparedModelRequirements: Json | null; folderId: number | null; sortOrder: number; deletedAt: string | null; visibility: 'PUBLIC' | 'PRIVATE' | 'UNLISTED'; }; Insert: { id?: number; agentName: string; createdAt?: string; updatedAt?: string | null; permanentId?: string | null; agentHash: string; agentSource: string; agentProfile: Json; promptbookEngineVersion: string; usage?: Json | null; preparedModelRequirements?: Json | null; folderId?: number | null; sortOrder?: number; deletedAt?: string | null; visibility?: 'PUBLIC' | 'PRIVATE' | 'UNLISTED'; }; Update: { id?: number; agentName?: string; createdAt?: string; updatedAt?: string | null; permanentId?: string | null; agentHash?: string; agentSource?: string; agentProfile?: Json; promptbookEngineVersion?: string; usage?: Json | null; preparedModelRequirements?: Json | null; folderId?: number | null; sortOrder?: number; deletedAt?: string | null; visibility?: 'PUBLIC' | 'PRIVATE' | 'UNLISTED'; }; Relationships: [ { foreignKeyName: 'Agent_folderId_fkey'; columns: ['folderId']; referencedRelation: 'AgentFolder'; referencedColumns: ['id']; } ]; }; AgentHistory: { Row: { id: number; createdAt: string; agentName: string; permanentId: string; agentHash: string; previousAgentHash: string | null; agentSource: string; promptbookEngineVersion: string; versionName: string | null; }; Insert: { id?: number; createdAt?: string; agentName: string; permanentId: string; agentHash: string; previousAgentHash?: string | null; agentSource: string; promptbookEngineVersion: string; versionName?: string | null; }; Update: { id?: number; createdAt?: string; agentName?: string; permanentId?: string; agentHash?: string; previousAgentHash?: string | null; agentSource?: string; promptbookEngineVersion?: string; versionName?: string | null; }; Relationships: [ { foreignKeyName: 'AgentHistory_permanentId_fkey'; columns: ['permanentId']; referencedRelation: 'Agent'; referencedColumns: ['permanentId']; } ]; }; }; Views: Record<string, never>; Functions: Record<string, never>; Enums: Record<string, never>; CompositeTypes: Record<string, never>; }; }; /** * Public schema reference for helper types. */ type PublicSchema = AgentsDatabaseSchema[Extract<keyof AgentsDatabaseSchema, 'public'>]; /** * Helper type to extract table row types from the public schema. */ export type Tables<PublicTableNameOrOptions extends keyof (PublicSchema['Tables'] & PublicSchema['Views']) | { schema: keyof AgentsDatabaseSchema; }, TableName extends PublicTableNameOrOptions extends { schema: keyof AgentsDatabaseSchema; } ? keyof (AgentsDatabaseSchema[PublicTableNameOrOptions['schema']]['Tables'] & AgentsDatabaseSchema[PublicTableNameOrOptions['schema']]['Views']) : never = never> = PublicTableNameOrOptions extends { schema: keyof AgentsDatabaseSchema; } ? (AgentsDatabaseSchema[PublicTableNameOrOptions['schema']]['Tables'] & AgentsDatabaseSchema[PublicTableNameOrOptions['schema']]['Views'])[TableName] extends { Row: infer R; } ? R : never : PublicTableNameOrOptions extends keyof (PublicSchema['Tables'] & PublicSchema['Views']) ? (PublicSchema['Tables'] & PublicSchema['Views'])[PublicTableNameOrOptions] extends { Row: infer R; } ? R : never : never; /** * Helper type to extract table insert types from the public schema. */ export type TablesInsert<PublicTableNameOrOptions extends keyof PublicSchema['Tables'] | { schema: keyof AgentsDatabaseSchema; }, TableName extends PublicTableNameOrOptions extends { schema: keyof AgentsDatabaseSchema; } ? keyof AgentsDatabaseSchema[PublicTableNameOrOptions['schema']]['Tables'] : never = never> = PublicTableNameOrOptions extends { schema: keyof AgentsDatabaseSchema; } ? AgentsDatabaseSchema[PublicTableNameOrOptions['schema']]['Tables'][TableName] extends { Insert: infer I; } ? I : never : PublicTableNameOrOptions extends keyof PublicSchema['Tables'] ? PublicSchema['Tables'][PublicTableNameOrOptions] extends { Insert: infer I; } ? I : never : never; /** * Helper type to extract table update types from the public schema. */ export type TablesUpdate<PublicTableNameOrOptions extends keyof PublicSchema['Tables'] | { schema: keyof AgentsDatabaseSchema; }, TableName extends PublicTableNameOrOptions extends { schema: keyof AgentsDatabaseSchema; } ? keyof AgentsDatabaseSchema[PublicTableNameOrOptions['schema']]['Tables'] : never = never> = PublicTableNameOrOptions extends { schema: keyof AgentsDatabaseSchema; } ? AgentsDatabaseSchema[PublicTableNameOrOptions['schema']]['Tables'][TableName] extends { Update: infer U; } ? U : never : PublicTableNameOrOptions extends keyof PublicSchema['Tables'] ? PublicSchema['Tables'][PublicTableNameOrOptions] extends { Update: infer U; } ? U : never : never; /** * Helper type to extract enum types from the public schema. */ export type Enums<PublicEnumNameOrOptions extends keyof PublicSchema['Enums'] | { schema: keyof AgentsDatabaseSchema; }, EnumName extends PublicEnumNameOrOptions extends { schema: keyof AgentsDatabaseSchema; } ? keyof AgentsDatabaseSchema[PublicEnumNameOrOptions['schema']]['Enums'] : never = never> = PublicEnumNameOrOptions extends { schema: keyof AgentsDatabaseSchema; } ? AgentsDatabaseSchema[PublicEnumNameOrOptions['schema']]['Enums'][EnumName] : PublicEnumNameOrOptions extends keyof PublicSchema['Enums'] ? PublicSchema['Enums'][PublicEnumNameOrOptions] : never; /** * Helper type to extract composite types from the public schema. */ export type CompositeTypes<PublicCompositeTypeNameOrOptions extends keyof PublicSchema['CompositeTypes'] | { schema: keyof AgentsDatabaseSchema; }, CompositeTypeName extends PublicCompositeTypeNameOrOptions extends { schema: keyof AgentsDatabaseSchema; } ? keyof AgentsDatabaseSchema[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'] : never = never> = PublicCompositeTypeNameOrOptions extends { schema: keyof AgentsDatabaseSchema; } ? AgentsDatabaseSchema[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'][CompositeTypeName] : PublicCompositeTypeNameOrOptions extends keyof PublicSchema['CompositeTypes'] ? PublicSchema['CompositeTypes'][PublicCompositeTypeNameOrOptions] : never; export {};