import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends {
    [key: string]: unknown;
}> = {
    [K in keyof T]: T[K];
};
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
    [SubKey in K]?: Maybe<T[SubKey]>;
};
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
    [SubKey in K]: Maybe<T[SubKey]>;
};
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
    ID: string;
    String: string;
    Boolean: boolean;
    Int: number;
    Float: number;
    /** A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format. */
    DateTime: any;
    /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */
    JSON: any;
    /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */
    JSONObject: any;
};
export declare enum Aggregation {
    Avg = "avg",
    Count = "count",
    Max = "max",
    Min = "min",
    Sum = "sum"
}
export type ApiKey = {
    __typename?: 'ApiKey';
    createdAt: Scalars['DateTime'];
    id: Scalars['ID'];
    name: Scalars['String'];
    organization: Organization;
    organizationId: Scalars['String'];
};
export type ApiKeyListRelationFilter = {
    every?: InputMaybe<ApiKeyWhereInput>;
    none?: InputMaybe<ApiKeyWhereInput>;
    some?: InputMaybe<ApiKeyWhereInput>;
};
export type ApiKeyWhereInput = {
    AND?: InputMaybe<Array<ApiKeyWhereInput>>;
    NOT?: InputMaybe<Array<ApiKeyWhereInput>>;
    OR?: InputMaybe<Array<ApiKeyWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    id?: InputMaybe<StringFilter>;
    name?: InputMaybe<StringFilter>;
    organization?: InputMaybe<OrganizationRelationFilter>;
    organizationId?: InputMaybe<StringFilter>;
};
export type CreateEnvironmentInput = {
    name: Scalars['String'];
    projectId: Scalars['String'];
};
export type CreateOrgInvitationInput = {
    email: Scalars['String'];
    organizationId: Scalars['String'];
};
export type CreateOrganizationInput = {
    name: Scalars['String'];
};
export type CreateProjectInput = {
    name: Scalars['String'];
    organizationId: Scalars['String'];
};
export type CreatePromptInput = {
    name: Scalars['String'];
    projectId: Scalars['String'];
};
export type CreatePromptVersionInput = {
    content: Scalars['JSON'];
    message: Scalars['String'];
    promptId: Scalars['String'];
    service: PromptService;
    settings: Scalars['JSON'];
    type: PromptType;
};
export type CreateProviderApiKeyInput = {
    organizationId: Scalars['String'];
    provider: Scalars['String'];
    value: Scalars['String'];
};
export type DateTimeFilter = {
    equals?: InputMaybe<Scalars['DateTime']>;
    gt?: InputMaybe<Scalars['DateTime']>;
    gte?: InputMaybe<Scalars['DateTime']>;
    in?: InputMaybe<Array<Scalars['DateTime']>>;
    lt?: InputMaybe<Scalars['DateTime']>;
    lte?: InputMaybe<Scalars['DateTime']>;
    not?: InputMaybe<NestedDateTimeFilter>;
    notIn?: InputMaybe<Array<Scalars['DateTime']>>;
};
export type DateTimeNullableFilter = {
    equals?: InputMaybe<Scalars['DateTime']>;
    gt?: InputMaybe<Scalars['DateTime']>;
    gte?: InputMaybe<Scalars['DateTime']>;
    in?: InputMaybe<Array<Scalars['DateTime']>>;
    lt?: InputMaybe<Scalars['DateTime']>;
    lte?: InputMaybe<Scalars['DateTime']>;
    not?: InputMaybe<NestedDateTimeNullableFilter>;
    notIn?: InputMaybe<Array<Scalars['DateTime']>>;
};
export type EnumInvitationStatusFilter = {
    equals?: InputMaybe<InvitationStatus>;
    in?: InputMaybe<Array<InvitationStatus>>;
    not?: InputMaybe<NestedEnumInvitationStatusFilter>;
    notIn?: InputMaybe<Array<InvitationStatus>>;
};
export type EnumOrgRoleFilter = {
    equals?: InputMaybe<OrgRole>;
    in?: InputMaybe<Array<OrgRole>>;
    not?: InputMaybe<NestedEnumOrgRoleFilter>;
    notIn?: InputMaybe<Array<OrgRole>>;
};
export type EnumPromptExecutionStatusFilter = {
    equals?: InputMaybe<PromptExecutionStatus>;
    in?: InputMaybe<Array<PromptExecutionStatus>>;
    not?: InputMaybe<NestedEnumPromptExecutionStatusFilter>;
    notIn?: InputMaybe<Array<PromptExecutionStatus>>;
};
export type EnumPromptTypeFilter = {
    equals?: InputMaybe<PromptType>;
    in?: InputMaybe<Array<PromptType>>;
    not?: InputMaybe<NestedEnumPromptTypeFilter>;
    notIn?: InputMaybe<Array<PromptType>>;
};
export type Environment = {
    __typename?: 'Environment';
    _count: EnvironmentCount;
    createdAt: Scalars['DateTime'];
    id: Scalars['ID'];
    name: Scalars['String'];
    projectId: Scalars['String'];
    promptEnvironments?: Maybe<Array<PromptEnvironment>>;
    updatedAt: Scalars['DateTime'];
};
export type EnvironmentCount = {
    __typename?: 'EnvironmentCount';
    promptEnvironments: Scalars['Int'];
};
export type EnvironmentRelationFilter = {
    is?: InputMaybe<EnvironmentWhereInput>;
    isNot?: InputMaybe<EnvironmentWhereInput>;
};
export type EnvironmentWhereInput = {
    AND?: InputMaybe<Array<EnvironmentWhereInput>>;
    NOT?: InputMaybe<Array<EnvironmentWhereInput>>;
    OR?: InputMaybe<Array<EnvironmentWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    id?: InputMaybe<StringFilter>;
    name?: InputMaybe<StringFilter>;
    projectId?: InputMaybe<StringFilter>;
    promptEnvironments?: InputMaybe<PromptEnvironmentListRelationFilter>;
    updatedAt?: InputMaybe<DateTimeFilter>;
};
export type EnvironmentWhereUniqueInput = {
    AND?: InputMaybe<Array<EnvironmentWhereInput>>;
    NOT?: InputMaybe<Array<EnvironmentWhereInput>>;
    OR?: InputMaybe<Array<EnvironmentWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    id?: InputMaybe<Scalars['String']>;
    name?: InputMaybe<StringFilter>;
    projectId?: InputMaybe<StringFilter>;
    promptEnvironments?: InputMaybe<PromptEnvironmentListRelationFilter>;
    updatedAt?: InputMaybe<DateTimeFilter>;
};
export type ExtendedUser = {
    __typename?: 'ExtendedUser';
    _count: UserCount;
    createdAt?: Maybe<Scalars['DateTime']>;
    createdPromptVersions?: Maybe<Array<PromptVersion>>;
    email: Scalars['String'];
    id: Scalars['ID'];
    name?: Maybe<Scalars['String']>;
    orgMemberships?: Maybe<Array<OrganizationMember>>;
    organizationIds: Array<Scalars['String']>;
    photoUrl?: Maybe<Scalars['String']>;
    publishedPrompts?: Maybe<Array<PromptEnvironment>>;
    sentInvitations?: Maybe<Array<Invitation>>;
    updatedAt?: Maybe<Scalars['DateTime']>;
};
export type FilterInput = {
    field: Scalars['String'];
    operator: FilterOperator;
    value: Scalars['String'];
};
export declare enum FilterOperator {
    Contains = "contains",
    Eq = "eq",
    Gt = "gt",
    Gte = "gte",
    In = "in",
    Lt = "lt",
    Lte = "lte",
    Neq = "neq",
    Nin = "nin"
}
export type FloatFilter = {
    equals?: InputMaybe<Scalars['Float']>;
    gt?: InputMaybe<Scalars['Float']>;
    gte?: InputMaybe<Scalars['Float']>;
    in?: InputMaybe<Array<Scalars['Float']>>;
    lt?: InputMaybe<Scalars['Float']>;
    lte?: InputMaybe<Scalars['Float']>;
    not?: InputMaybe<NestedFloatFilter>;
    notIn?: InputMaybe<Array<Scalars['Float']>>;
};
export type GetApiKeysInput = {
    organizationId: Scalars['String'];
};
export type GetEnvironmentsInput = {
    projectId: Scalars['String'];
};
export type GetOrgInvitationsInput = {
    organizationId: Scalars['String'];
};
export type GetProjectMetricHistogramInput = {
    bucketSize?: InputMaybe<ProjectMetricHistogramBucketSize>;
    endDate: Scalars['DateTime'];
    metric: ProjectMetricType;
    projectId: Scalars['String'];
    startDate: Scalars['DateTime'];
};
export type GetProjectMetricInput = {
    endDate: Scalars['DateTime'];
    metric: ProjectMetricType;
    projectId: Scalars['String'];
    startDate: Scalars['DateTime'];
};
export type GetProjectPromptsInput = {
    projectId: Scalars['String'];
};
export type GetProjectsInput = {
    organizationId: Scalars['String'];
};
export type GetPromptInput = {
    promptId: Scalars['String'];
};
export type GetPromptMetricsInput = {
    aggregation: Aggregation;
    field?: InputMaybe<PromptExecutionMetricField>;
    fillEmpty?: InputMaybe<Scalars['String']>;
    granularity: Granularity;
    promptId: Scalars['String'];
    start: Scalars['String'];
    stop?: InputMaybe<Scalars['String']>;
};
export type GetProviderApiKeysInput = {
    organizationId: Scalars['String'];
};
export type GetRequestsInput = {
    filters?: InputMaybe<Array<FilterInput>>;
    page: Scalars['Float'];
    projectId: Scalars['String'];
    size?: Scalars['Float'];
    sort?: InputMaybe<SortInput>;
};
export type GetUserOrgMembershipInput = {
    organizationId: Scalars['String'];
    userId: Scalars['String'];
};
export declare enum Granularity {
    Day = "day",
    Hour = "hour",
    Month = "month",
    Week = "week"
}
export type HistogramMetric = {
    __typename?: 'HistogramMetric';
    date: Scalars['String'];
    value: Scalars['Float'];
};
export type IntFilter = {
    equals?: InputMaybe<Scalars['Int']>;
    gt?: InputMaybe<Scalars['Int']>;
    gte?: InputMaybe<Scalars['Int']>;
    in?: InputMaybe<Array<Scalars['Int']>>;
    lt?: InputMaybe<Scalars['Int']>;
    lte?: InputMaybe<Scalars['Int']>;
    not?: InputMaybe<NestedIntFilter>;
    notIn?: InputMaybe<Array<Scalars['Int']>>;
};
export type Invitation = {
    __typename?: 'Invitation';
    createdAt: Scalars['DateTime'];
    email: Scalars['String'];
    id: Scalars['ID'];
    invitedBy: ExtendedUser;
    invitedById: Scalars['String'];
    organization: Organization;
    organizationId: Scalars['String'];
    role: OrgRole;
    status: InvitationStatus;
};
export type InvitationListRelationFilter = {
    every?: InputMaybe<InvitationWhereInput>;
    none?: InputMaybe<InvitationWhereInput>;
    some?: InputMaybe<InvitationWhereInput>;
};
export declare enum InvitationStatus {
    Accepted = "Accepted",
    Pending = "Pending"
}
export type InvitationWhereInput = {
    AND?: InputMaybe<Array<InvitationWhereInput>>;
    NOT?: InputMaybe<Array<InvitationWhereInput>>;
    OR?: InputMaybe<Array<InvitationWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    email?: InputMaybe<StringFilter>;
    id?: InputMaybe<StringFilter>;
    invitedBy?: InputMaybe<UserRelationFilter>;
    invitedById?: InputMaybe<StringFilter>;
    organization?: InputMaybe<OrganizationRelationFilter>;
    organizationId?: InputMaybe<StringFilter>;
    role?: InputMaybe<EnumOrgRoleFilter>;
    status?: InputMaybe<EnumInvitationStatusFilter>;
};
export type InvitationWhereUniqueInput = {
    AND?: InputMaybe<Array<InvitationWhereInput>>;
    NOT?: InputMaybe<Array<InvitationWhereInput>>;
    OR?: InputMaybe<Array<InvitationWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    email?: InputMaybe<StringFilter>;
    id?: InputMaybe<Scalars['String']>;
    invitedBy?: InputMaybe<UserRelationFilter>;
    invitedById?: InputMaybe<StringFilter>;
    organization?: InputMaybe<OrganizationRelationFilter>;
    organizationId?: InputMaybe<StringFilter>;
    role?: InputMaybe<EnumOrgRoleFilter>;
    status?: InputMaybe<EnumInvitationStatusFilter>;
};
export type JsonFilter = {
    array_contains?: InputMaybe<Scalars['JSON']>;
    array_ends_with?: InputMaybe<Scalars['JSON']>;
    array_starts_with?: InputMaybe<Scalars['JSON']>;
    equals?: InputMaybe<Scalars['JSON']>;
    gt?: InputMaybe<Scalars['JSON']>;
    gte?: InputMaybe<Scalars['JSON']>;
    lt?: InputMaybe<Scalars['JSON']>;
    lte?: InputMaybe<Scalars['JSON']>;
    not?: InputMaybe<Scalars['JSON']>;
    path?: InputMaybe<Array<Scalars['String']>>;
    string_contains?: InputMaybe<Scalars['String']>;
    string_ends_with?: InputMaybe<Scalars['String']>;
    string_starts_with?: InputMaybe<Scalars['String']>;
};
export type Metric = {
    __typename?: 'Metric';
    metadata?: Maybe<Scalars['JSON']>;
    time: Scalars['DateTime'];
    value: Scalars['Float'];
};
export type Mutation = {
    __typename?: 'Mutation';
    acceptOrgInvitation: Organization;
    createEnvironment: Environment;
    createOrgInvitation: Invitation;
    createOrganization: Organization;
    createProject: Project;
    createPrompt: Prompt;
    createPromptVersion: PromptVersion;
    deleteEnvironment: Environment;
    deleteOrgInvitation: Invitation;
    deleteOrgMember: OrganizationMember;
    deletePrompt: Prompt;
    publishPrompt: PromptEnvironment;
    testPrompt: RequestReport;
    updateOrgInvitation: Invitation;
    updateOrgMemberRole: OrganizationMember;
    updateOrgSettings: Organization;
    updateProfile: ExtendedUser;
    updateProviderApiKey: ProviderApiKey;
};
export type MutationAcceptOrgInvitationArgs = {
    data: InvitationWhereUniqueInput;
};
export type MutationCreateEnvironmentArgs = {
    data: CreateEnvironmentInput;
};
export type MutationCreateOrgInvitationArgs = {
    data: CreateOrgInvitationInput;
};
export type MutationCreateOrganizationArgs = {
    data: CreateOrganizationInput;
};
export type MutationCreateProjectArgs = {
    data: CreateProjectInput;
};
export type MutationCreatePromptArgs = {
    data: CreatePromptInput;
};
export type MutationCreatePromptVersionArgs = {
    data: CreatePromptVersionInput;
};
export type MutationDeleteEnvironmentArgs = {
    data: EnvironmentWhereUniqueInput;
};
export type MutationDeleteOrgInvitationArgs = {
    data: InvitationWhereUniqueInput;
};
export type MutationDeleteOrgMemberArgs = {
    data: OrganizationMemberWhereUniqueInput;
};
export type MutationDeletePromptArgs = {
    data: PromptWhereUniqueInput;
};
export type MutationPublishPromptArgs = {
    data: PublishPromptInput;
};
export type MutationTestPromptArgs = {
    data: TestPromptInput;
};
export type MutationUpdateOrgInvitationArgs = {
    data: UpdateOrgInvitationInput;
};
export type MutationUpdateOrgMemberRoleArgs = {
    data: UpdateOrgMemberRoleInput;
};
export type MutationUpdateOrgSettingsArgs = {
    data: UpdateOrgSettingsInput;
};
export type MutationUpdateProfileArgs = {
    data: UpdateProfileInput;
};
export type MutationUpdateProviderApiKeyArgs = {
    data: CreateProviderApiKeyInput;
};
export type NestedDateTimeFilter = {
    equals?: InputMaybe<Scalars['DateTime']>;
    gt?: InputMaybe<Scalars['DateTime']>;
    gte?: InputMaybe<Scalars['DateTime']>;
    in?: InputMaybe<Array<Scalars['DateTime']>>;
    lt?: InputMaybe<Scalars['DateTime']>;
    lte?: InputMaybe<Scalars['DateTime']>;
    not?: InputMaybe<NestedDateTimeFilter>;
    notIn?: InputMaybe<Array<Scalars['DateTime']>>;
};
export type NestedDateTimeNullableFilter = {
    equals?: InputMaybe<Scalars['DateTime']>;
    gt?: InputMaybe<Scalars['DateTime']>;
    gte?: InputMaybe<Scalars['DateTime']>;
    in?: InputMaybe<Array<Scalars['DateTime']>>;
    lt?: InputMaybe<Scalars['DateTime']>;
    lte?: InputMaybe<Scalars['DateTime']>;
    not?: InputMaybe<NestedDateTimeNullableFilter>;
    notIn?: InputMaybe<Array<Scalars['DateTime']>>;
};
export type NestedEnumInvitationStatusFilter = {
    equals?: InputMaybe<InvitationStatus>;
    in?: InputMaybe<Array<InvitationStatus>>;
    not?: InputMaybe<NestedEnumInvitationStatusFilter>;
    notIn?: InputMaybe<Array<InvitationStatus>>;
};
export type NestedEnumOrgRoleFilter = {
    equals?: InputMaybe<OrgRole>;
    in?: InputMaybe<Array<OrgRole>>;
    not?: InputMaybe<NestedEnumOrgRoleFilter>;
    notIn?: InputMaybe<Array<OrgRole>>;
};
export type NestedEnumPromptExecutionStatusFilter = {
    equals?: InputMaybe<PromptExecutionStatus>;
    in?: InputMaybe<Array<PromptExecutionStatus>>;
    not?: InputMaybe<NestedEnumPromptExecutionStatusFilter>;
    notIn?: InputMaybe<Array<PromptExecutionStatus>>;
};
export type NestedEnumPromptTypeFilter = {
    equals?: InputMaybe<PromptType>;
    in?: InputMaybe<Array<PromptType>>;
    not?: InputMaybe<NestedEnumPromptTypeFilter>;
    notIn?: InputMaybe<Array<PromptType>>;
};
export type NestedFloatFilter = {
    equals?: InputMaybe<Scalars['Float']>;
    gt?: InputMaybe<Scalars['Float']>;
    gte?: InputMaybe<Scalars['Float']>;
    in?: InputMaybe<Array<Scalars['Float']>>;
    lt?: InputMaybe<Scalars['Float']>;
    lte?: InputMaybe<Scalars['Float']>;
    not?: InputMaybe<NestedFloatFilter>;
    notIn?: InputMaybe<Array<Scalars['Float']>>;
};
export type NestedIntFilter = {
    equals?: InputMaybe<Scalars['Int']>;
    gt?: InputMaybe<Scalars['Int']>;
    gte?: InputMaybe<Scalars['Int']>;
    in?: InputMaybe<Array<Scalars['Int']>>;
    lt?: InputMaybe<Scalars['Int']>;
    lte?: InputMaybe<Scalars['Int']>;
    not?: InputMaybe<NestedIntFilter>;
    notIn?: InputMaybe<Array<Scalars['Int']>>;
};
export type NestedStringFilter = {
    contains?: InputMaybe<Scalars['String']>;
    endsWith?: InputMaybe<Scalars['String']>;
    equals?: InputMaybe<Scalars['String']>;
    gt?: InputMaybe<Scalars['String']>;
    gte?: InputMaybe<Scalars['String']>;
    in?: InputMaybe<Array<Scalars['String']>>;
    lt?: InputMaybe<Scalars['String']>;
    lte?: InputMaybe<Scalars['String']>;
    not?: InputMaybe<NestedStringFilter>;
    notIn?: InputMaybe<Array<Scalars['String']>>;
    startsWith?: InputMaybe<Scalars['String']>;
};
export type NestedStringNullableFilter = {
    contains?: InputMaybe<Scalars['String']>;
    endsWith?: InputMaybe<Scalars['String']>;
    equals?: InputMaybe<Scalars['String']>;
    gt?: InputMaybe<Scalars['String']>;
    gte?: InputMaybe<Scalars['String']>;
    in?: InputMaybe<Array<Scalars['String']>>;
    lt?: InputMaybe<Scalars['String']>;
    lte?: InputMaybe<Scalars['String']>;
    not?: InputMaybe<NestedStringNullableFilter>;
    notIn?: InputMaybe<Array<Scalars['String']>>;
    startsWith?: InputMaybe<Scalars['String']>;
};
export declare enum OrgRole {
    Admin = "Admin",
    Member = "Member"
}
export type Organization = {
    __typename?: 'Organization';
    _count: OrganizationCount;
    apiKeys?: Maybe<Array<ApiKey>>;
    createdAt: Scalars['DateTime'];
    id: Scalars['ID'];
    invitations?: Maybe<Array<Invitation>>;
    members?: Maybe<Array<OrganizationMember>>;
    name: Scalars['String'];
    projects?: Maybe<Array<Project>>;
    providerApiKeys?: Maybe<Array<ProviderApiKey>>;
    updatedAt: Scalars['DateTime'];
};
export type OrganizationCount = {
    __typename?: 'OrganizationCount';
    apiKeys: Scalars['Int'];
    invitations: Scalars['Int'];
    members: Scalars['Int'];
    projects: Scalars['Int'];
    providerApiKeys: Scalars['Int'];
};
export type OrganizationMember = {
    __typename?: 'OrganizationMember';
    createdAt: Scalars['DateTime'];
    id: Scalars['ID'];
    organization: Organization;
    organizationId: Scalars['String'];
    role: OrgRole;
    updatedAt: Scalars['DateTime'];
    user: ExtendedUser;
    userId: Scalars['String'];
};
export type OrganizationMemberListRelationFilter = {
    every?: InputMaybe<OrganizationMemberWhereInput>;
    none?: InputMaybe<OrganizationMemberWhereInput>;
    some?: InputMaybe<OrganizationMemberWhereInput>;
};
export type OrganizationMemberWhereInput = {
    AND?: InputMaybe<Array<OrganizationMemberWhereInput>>;
    NOT?: InputMaybe<Array<OrganizationMemberWhereInput>>;
    OR?: InputMaybe<Array<OrganizationMemberWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    id?: InputMaybe<StringFilter>;
    organization?: InputMaybe<OrganizationRelationFilter>;
    organizationId?: InputMaybe<StringFilter>;
    role?: InputMaybe<EnumOrgRoleFilter>;
    updatedAt?: InputMaybe<DateTimeFilter>;
    user?: InputMaybe<UserRelationFilter>;
    userId?: InputMaybe<StringFilter>;
};
export type OrganizationMemberWhereUniqueInput = {
    AND?: InputMaybe<Array<OrganizationMemberWhereInput>>;
    NOT?: InputMaybe<Array<OrganizationMemberWhereInput>>;
    OR?: InputMaybe<Array<OrganizationMemberWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    id?: InputMaybe<Scalars['String']>;
    organization?: InputMaybe<OrganizationRelationFilter>;
    organizationId?: InputMaybe<StringFilter>;
    role?: InputMaybe<EnumOrgRoleFilter>;
    updatedAt?: InputMaybe<DateTimeFilter>;
    user?: InputMaybe<UserRelationFilter>;
    userId?: InputMaybe<StringFilter>;
};
export type OrganizationRelationFilter = {
    is?: InputMaybe<OrganizationWhereInput>;
    isNot?: InputMaybe<OrganizationWhereInput>;
};
export type OrganizationWhereInput = {
    AND?: InputMaybe<Array<OrganizationWhereInput>>;
    NOT?: InputMaybe<Array<OrganizationWhereInput>>;
    OR?: InputMaybe<Array<OrganizationWhereInput>>;
    apiKeys?: InputMaybe<ApiKeyListRelationFilter>;
    createdAt?: InputMaybe<DateTimeFilter>;
    id?: InputMaybe<StringFilter>;
    invitations?: InputMaybe<InvitationListRelationFilter>;
    members?: InputMaybe<OrganizationMemberListRelationFilter>;
    name?: InputMaybe<StringFilter>;
    projects?: InputMaybe<ProjectListRelationFilter>;
    providerApiKeys?: InputMaybe<ProviderApiKeyListRelationFilter>;
    updatedAt?: InputMaybe<DateTimeFilter>;
};
export type OrganizationWhereUniqueInput = {
    AND?: InputMaybe<Array<OrganizationWhereInput>>;
    NOT?: InputMaybe<Array<OrganizationWhereInput>>;
    OR?: InputMaybe<Array<OrganizationWhereInput>>;
    apiKeys?: InputMaybe<ApiKeyListRelationFilter>;
    createdAt?: InputMaybe<DateTimeFilter>;
    id?: InputMaybe<Scalars['String']>;
    invitations?: InputMaybe<InvitationListRelationFilter>;
    members?: InputMaybe<OrganizationMemberListRelationFilter>;
    name?: InputMaybe<StringFilter>;
    projects?: InputMaybe<ProjectListRelationFilter>;
    providerApiKeys?: InputMaybe<ProviderApiKeyListRelationFilter>;
    updatedAt?: InputMaybe<DateTimeFilter>;
};
export type Pagination = {
    __typename?: 'Pagination';
    page: Scalars['Float'];
    size: Scalars['Float'];
    total: Scalars['Float'];
};
export type Project = {
    __typename?: 'Project';
    createdAt: Scalars['DateTime'];
    id: Scalars['ID'];
    name: Scalars['String'];
    oganization: Organization;
    organization: Organization;
    organizationId: Scalars['String'];
    slug: Scalars['String'];
    updatedAt: Scalars['DateTime'];
};
export type ProjectListRelationFilter = {
    every?: InputMaybe<ProjectWhereInput>;
    none?: InputMaybe<ProjectWhereInput>;
    some?: InputMaybe<ProjectWhereInput>;
};
export type ProjectMetric = {
    __typename?: 'ProjectMetric';
    currentValue: Scalars['Float'];
    previousValue: Scalars['Float'];
};
export declare enum ProjectMetricHistogramBucketSize {
    Daily = "daily",
    Hourly = "hourly",
    Monthly = "monthly",
    Weekly = "weekly",
    Yearly = "yearly"
}
export declare enum ProjectMetricType {
    Cost = "cost",
    Duration = "duration",
    ErroneousRequests = "erroneousRequests",
    Requests = "requests",
    SuccessfulRequests = "successfulRequests"
}
export type ProjectWhereInput = {
    AND?: InputMaybe<Array<ProjectWhereInput>>;
    NOT?: InputMaybe<Array<ProjectWhereInput>>;
    OR?: InputMaybe<Array<ProjectWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    id?: InputMaybe<StringFilter>;
    name?: InputMaybe<StringFilter>;
    organization?: InputMaybe<OrganizationRelationFilter>;
    organizationId?: InputMaybe<StringFilter>;
    slug?: InputMaybe<StringFilter>;
    updatedAt?: InputMaybe<DateTimeFilter>;
};
export type ProjectWhereUniqueInput = {
    AND?: InputMaybe<Array<ProjectWhereInput>>;
    NOT?: InputMaybe<Array<ProjectWhereInput>>;
    OR?: InputMaybe<Array<ProjectWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    id?: InputMaybe<Scalars['String']>;
    name?: InputMaybe<StringFilter>;
    organization?: InputMaybe<OrganizationRelationFilter>;
    organizationId?: InputMaybe<StringFilter>;
    slug?: InputMaybe<StringFilter>;
    updatedAt?: InputMaybe<DateTimeFilter>;
};
export type Prompt = {
    __typename?: 'Prompt';
    _count: PromptCount;
    createdAt: Scalars['DateTime'];
    executions?: Maybe<Array<PromptExecution>>;
    id: Scalars['ID'];
    isDraft: Scalars['Boolean'];
    latestVersion?: Maybe<PromptVersion>;
    name: Scalars['String'];
    projectId: Scalars['String'];
    promptEnvironments?: Maybe<Array<PromptEnvironment>>;
    updatedAt: Scalars['DateTime'];
    versions?: Maybe<Array<PromptVersion>>;
};
export type PromptCount = {
    __typename?: 'PromptCount';
    executions: Scalars['Int'];
    promptEnvironments: Scalars['Int'];
    versions: Scalars['Int'];
};
export type PromptEnvironment = {
    __typename?: 'PromptEnvironment';
    createdAt: Scalars['DateTime'];
    environment: Environment;
    environmentId: Scalars['String'];
    id: Scalars['ID'];
    prompt: Prompt;
    promptId: Scalars['String'];
    promptVersion?: Maybe<PromptVersion>;
    promptVersionSha: Scalars['String'];
    publishedBy: User;
    publishedById: Scalars['String'];
};
export type PromptEnvironmentListRelationFilter = {
    every?: InputMaybe<PromptEnvironmentWhereInput>;
    none?: InputMaybe<PromptEnvironmentWhereInput>;
    some?: InputMaybe<PromptEnvironmentWhereInput>;
};
export type PromptEnvironmentWhereInput = {
    AND?: InputMaybe<Array<PromptEnvironmentWhereInput>>;
    NOT?: InputMaybe<Array<PromptEnvironmentWhereInput>>;
    OR?: InputMaybe<Array<PromptEnvironmentWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    environment?: InputMaybe<EnvironmentRelationFilter>;
    environmentId?: InputMaybe<StringFilter>;
    id?: InputMaybe<StringFilter>;
    prompt?: InputMaybe<PromptRelationFilter>;
    promptId?: InputMaybe<StringFilter>;
    promptVersion?: InputMaybe<PromptVersionNullableRelationFilter>;
    promptVersionSha?: InputMaybe<StringFilter>;
    publishedBy?: InputMaybe<UserRelationFilter>;
    publishedById?: InputMaybe<StringFilter>;
};
export type PromptExecution = {
    __typename?: 'PromptExecution';
    completionCost: Scalars['Float'];
    completionTokens: Scalars['Int'];
    content: Scalars['String'];
    duration: Scalars['Int'];
    environmentId: Scalars['String'];
    error?: Maybe<Scalars['String']>;
    id: Scalars['ID'];
    interpolatedContent: Scalars['String'];
    prompt: Prompt;
    promptCost: Scalars['Float'];
    promptId: Scalars['String'];
    promptTokens: Scalars['Int'];
    promptVersionSha: Scalars['String'];
    result?: Maybe<Scalars['String']>;
    settings: Scalars['JSON'];
    status: PromptExecutionStatus;
    timestamp: Scalars['DateTime'];
    totalCost: Scalars['Float'];
    totalTokens: Scalars['Int'];
    variables: Scalars['JSON'];
};
export type PromptExecutionListRelationFilter = {
    every?: InputMaybe<PromptExecutionWhereInput>;
    none?: InputMaybe<PromptExecutionWhereInput>;
    some?: InputMaybe<PromptExecutionWhereInput>;
};
export declare enum PromptExecutionMetricField {
    Duration = "duration",
    TotalCost = "totalCost",
    TotalTokens = "totalTokens"
}
export declare enum PromptExecutionStatus {
    Error = "Error",
    Success = "Success"
}
export type PromptExecutionWhereInput = {
    AND?: InputMaybe<Array<PromptExecutionWhereInput>>;
    NOT?: InputMaybe<Array<PromptExecutionWhereInput>>;
    OR?: InputMaybe<Array<PromptExecutionWhereInput>>;
    completionCost?: InputMaybe<FloatFilter>;
    completionTokens?: InputMaybe<IntFilter>;
    content?: InputMaybe<StringFilter>;
    duration?: InputMaybe<IntFilter>;
    environmentId?: InputMaybe<StringFilter>;
    error?: InputMaybe<StringNullableFilter>;
    id?: InputMaybe<StringFilter>;
    interpolatedContent?: InputMaybe<StringFilter>;
    prompt?: InputMaybe<PromptRelationFilter>;
    promptCost?: InputMaybe<FloatFilter>;
    promptId?: InputMaybe<StringFilter>;
    promptTokens?: InputMaybe<IntFilter>;
    promptVersionSha?: InputMaybe<StringFilter>;
    result?: InputMaybe<StringNullableFilter>;
    settings?: InputMaybe<JsonFilter>;
    status?: InputMaybe<EnumPromptExecutionStatusFilter>;
    timestamp?: InputMaybe<DateTimeFilter>;
    totalCost?: InputMaybe<FloatFilter>;
    totalTokens?: InputMaybe<IntFilter>;
    variables?: InputMaybe<JsonFilter>;
};
export type PromptExecutionWhereUniqueInput = {
    AND?: InputMaybe<Array<PromptExecutionWhereInput>>;
    NOT?: InputMaybe<Array<PromptExecutionWhereInput>>;
    OR?: InputMaybe<Array<PromptExecutionWhereInput>>;
    completionCost?: InputMaybe<FloatFilter>;
    completionTokens?: InputMaybe<IntFilter>;
    content?: InputMaybe<StringFilter>;
    duration?: InputMaybe<IntFilter>;
    environmentId?: InputMaybe<StringFilter>;
    error?: InputMaybe<StringNullableFilter>;
    id?: InputMaybe<Scalars['String']>;
    interpolatedContent?: InputMaybe<StringFilter>;
    prompt?: InputMaybe<PromptRelationFilter>;
    promptCost?: InputMaybe<FloatFilter>;
    promptId?: InputMaybe<StringFilter>;
    promptTokens?: InputMaybe<IntFilter>;
    promptVersionSha?: InputMaybe<StringFilter>;
    result?: InputMaybe<StringNullableFilter>;
    settings?: InputMaybe<JsonFilter>;
    status?: InputMaybe<EnumPromptExecutionStatusFilter>;
    timestamp?: InputMaybe<DateTimeFilter>;
    totalCost?: InputMaybe<FloatFilter>;
    totalTokens?: InputMaybe<IntFilter>;
    variables?: InputMaybe<JsonFilter>;
};
export type PromptRelationFilter = {
    is?: InputMaybe<PromptWhereInput>;
    isNot?: InputMaybe<PromptWhereInput>;
};
export declare enum PromptService {
    AnthropicCompletion = "AnthropicCompletion",
    AzureOpenAiChatCompletion = "AzureOpenAIChatCompletion",
    OpenAiChatCompletion = "OpenAIChatCompletion"
}
export declare enum PromptType {
    Chat = "Chat",
    Prompt = "Prompt"
}
export type PromptVersion = {
    __typename?: 'PromptVersion';
    _count: PromptVersionCount;
    content: Scalars['JSON'];
    createdAt: Scalars['DateTime'];
    createdBy: ExtendedUser;
    createdById: Scalars['String'];
    message?: Maybe<Scalars['String']>;
    prompt: Prompt;
    promptEnvironments?: Maybe<Array<PromptEnvironment>>;
    promptId: Scalars['String'];
    service: PromptService;
    settings: Scalars['JSON'];
    sha: Scalars['ID'];
    type: PromptType;
};
export type PromptVersionCount = {
    __typename?: 'PromptVersionCount';
    promptEnvironments: Scalars['Int'];
};
export type PromptVersionListRelationFilter = {
    every?: InputMaybe<PromptVersionWhereInput>;
    none?: InputMaybe<PromptVersionWhereInput>;
    some?: InputMaybe<PromptVersionWhereInput>;
};
export type PromptVersionNullableRelationFilter = {
    is?: InputMaybe<PromptVersionWhereInput>;
    isNot?: InputMaybe<PromptVersionWhereInput>;
};
export type PromptVersionWhereInput = {
    AND?: InputMaybe<Array<PromptVersionWhereInput>>;
    NOT?: InputMaybe<Array<PromptVersionWhereInput>>;
    OR?: InputMaybe<Array<PromptVersionWhereInput>>;
    content?: InputMaybe<JsonFilter>;
    createdAt?: InputMaybe<DateTimeFilter>;
    createdBy?: InputMaybe<UserRelationFilter>;
    createdById?: InputMaybe<StringFilter>;
    message?: InputMaybe<StringNullableFilter>;
    prompt?: InputMaybe<PromptRelationFilter>;
    promptEnvironments?: InputMaybe<PromptEnvironmentListRelationFilter>;
    promptId?: InputMaybe<StringFilter>;
    service?: InputMaybe<StringFilter>;
    settings?: InputMaybe<JsonFilter>;
    sha?: InputMaybe<StringFilter>;
    type?: InputMaybe<EnumPromptTypeFilter>;
};
export type PromptVersionWhereUniqueInput = {
    AND?: InputMaybe<Array<PromptVersionWhereInput>>;
    NOT?: InputMaybe<Array<PromptVersionWhereInput>>;
    OR?: InputMaybe<Array<PromptVersionWhereInput>>;
    content?: InputMaybe<JsonFilter>;
    createdAt?: InputMaybe<DateTimeFilter>;
    createdBy?: InputMaybe<UserRelationFilter>;
    createdById?: InputMaybe<StringFilter>;
    message?: InputMaybe<StringNullableFilter>;
    prompt?: InputMaybe<PromptRelationFilter>;
    promptEnvironments?: InputMaybe<PromptEnvironmentListRelationFilter>;
    promptId?: InputMaybe<StringFilter>;
    service?: InputMaybe<StringFilter>;
    settings?: InputMaybe<JsonFilter>;
    sha?: InputMaybe<Scalars['String']>;
    type?: InputMaybe<EnumPromptTypeFilter>;
};
export type PromptWhereInput = {
    AND?: InputMaybe<Array<PromptWhereInput>>;
    NOT?: InputMaybe<Array<PromptWhereInput>>;
    OR?: InputMaybe<Array<PromptWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    executions?: InputMaybe<PromptExecutionListRelationFilter>;
    id?: InputMaybe<StringFilter>;
    name?: InputMaybe<StringFilter>;
    projectId?: InputMaybe<StringFilter>;
    promptEnvironments?: InputMaybe<PromptEnvironmentListRelationFilter>;
    updatedAt?: InputMaybe<DateTimeFilter>;
    versions?: InputMaybe<PromptVersionListRelationFilter>;
};
export type PromptWhereUniqueInput = {
    AND?: InputMaybe<Array<PromptWhereInput>>;
    NOT?: InputMaybe<Array<PromptWhereInput>>;
    OR?: InputMaybe<Array<PromptWhereInput>>;
    createdAt?: InputMaybe<DateTimeFilter>;
    executions?: InputMaybe<PromptExecutionListRelationFilter>;
    id?: InputMaybe<Scalars['String']>;
    name?: InputMaybe<StringFilter>;
    projectId?: InputMaybe<StringFilter>;
    promptEnvironments?: InputMaybe<PromptEnvironmentListRelationFilter>;
    updatedAt?: InputMaybe<DateTimeFilter>;
    versions?: InputMaybe<PromptVersionListRelationFilter>;
};
export type ProviderApiKey = {
    __typename?: 'ProviderApiKey';
    censoredValue: Scalars['String'];
    createdAt: Scalars['DateTime'];
    id: Scalars['ID'];
    organization: Organization;
    organizationId: Scalars['String'];
    provider: Scalars['String'];
    updatedAt: Scalars['DateTime'];
};
export type ProviderApiKeyListRelationFilter = {
    every?: InputMaybe<ProviderApiKeyWhereInput>;
    none?: InputMaybe<ProviderApiKeyWhereInput>;
    some?: InputMaybe<ProviderApiKeyWhereInput>;
};
export type ProviderApiKeyWhereInput = {
    AND?: InputMaybe<Array<ProviderApiKeyWhereInput>>;
    NOT?: InputMaybe<Array<ProviderApiKeyWhereInput>>;
    OR?: InputMaybe<Array<ProviderApiKeyWhereInput>>;
    censoredValue?: InputMaybe<StringFilter>;
    createdAt?: InputMaybe<DateTimeFilter>;
    id?: InputMaybe<StringFilter>;
    organization?: InputMaybe<OrganizationRelationFilter>;
    organizationId?: InputMaybe<StringFilter>;
    provider?: InputMaybe<StringFilter>;
    updatedAt?: InputMaybe<DateTimeFilter>;
};
export type PublishPromptInput = {
    environmentId: Scalars['String'];
    promptId: Scalars['String'];
    promptVersionSha: Scalars['String'];
};
export type Query = {
    __typename?: 'Query';
    apiKeys: Array<ApiKey>;
    environments: Array<Environment>;
    me: ExtendedUser;
    metrics: Array<Metric>;
    orgInvitations: Array<Invitation>;
    organization: Organization;
    organizations: Array<Organization>;
    paginatedRequests: RequestReportResult;
    project: Project;
    projectMetric: ProjectMetric;
    projectMetricHistogram: Array<HistogramMetric>;
    projects: Array<Project>;
    prompt: Prompt;
    promptExecution: PromptExecution;
    promptExecutions: Array<PromptExecution>;
    promptVersion: PromptVersion;
    promptVersions: Array<PromptVersion>;
    prompts: Array<Prompt>;
    providerApiKeys: Array<ProviderApiKey>;
    userOrgMembership: OrganizationMember;
};
export type QueryApiKeysArgs = {
    data: GetApiKeysInput;
};
export type QueryEnvironmentsArgs = {
    data: GetEnvironmentsInput;
};
export type QueryMetricsArgs = {
    data: GetPromptMetricsInput;
};
export type QueryOrgInvitationsArgs = {
    data: GetOrgInvitationsInput;
};
export type QueryOrganizationArgs = {
    data: OrganizationWhereUniqueInput;
};
export type QueryPaginatedRequestsArgs = {
    data: GetRequestsInput;
};
export type QueryProjectArgs = {
    data: ProjectWhereUniqueInput;
};
export type QueryProjectMetricArgs = {
    data: GetProjectMetricInput;
};
export type QueryProjectMetricHistogramArgs = {
    data: GetProjectMetricHistogramInput;
};
export type QueryProjectsArgs = {
    data: GetProjectsInput;
};
export type QueryPromptArgs = {
    data: GetPromptInput;
};
export type QueryPromptExecutionArgs = {
    data: PromptExecutionWhereUniqueInput;
};
export type QueryPromptExecutionsArgs = {
    data: PromptExecutionWhereInput;
};
export type QueryPromptVersionArgs = {
    data: PromptVersionWhereUniqueInput;
};
export type QueryPromptVersionsArgs = {
    data: PromptWhereUniqueInput;
};
export type QueryPromptsArgs = {
    data: GetProjectPromptsInput;
};
export type QueryProviderApiKeysArgs = {
    data: GetProviderApiKeysInput;
};
export type QueryUserOrgMembershipArgs = {
    data: GetUserOrgMembershipInput;
};
export declare enum QueryMode {
    Default = "default",
    Insensitive = "insensitive"
}
export type RequestReport = {
    __typename?: 'RequestReport';
    cacheEnabled?: Maybe<Scalars['Boolean']>;
    cacheHit?: Maybe<Scalars['Boolean']>;
    calculated?: Maybe<Scalars['JSONObject']>;
    metadata?: Maybe<Scalars['JSONObject']>;
    properties?: Maybe<Scalars['JSONObject']>;
    reportId: Scalars['String'];
    request: Scalars['JSONObject'];
    response: Scalars['JSONObject'];
};
export type RequestReportResult = {
    __typename?: 'RequestReportResult';
    data: Array<RequestReport>;
    pagination: Pagination;
};
export type SortInput = {
    field: Scalars['String'];
    order: SortOrder;
};
export declare enum SortOrder {
    Asc = "asc",
    Desc = "desc"
}
export type StringFilter = {
    contains?: InputMaybe<Scalars['String']>;
    endsWith?: InputMaybe<Scalars['String']>;
    equals?: InputMaybe<Scalars['String']>;
    gt?: InputMaybe<Scalars['String']>;
    gte?: InputMaybe<Scalars['String']>;
    in?: InputMaybe<Array<Scalars['String']>>;
    lt?: InputMaybe<Scalars['String']>;
    lte?: InputMaybe<Scalars['String']>;
    mode?: InputMaybe<QueryMode>;
    not?: InputMaybe<NestedStringFilter>;
    notIn?: InputMaybe<Array<Scalars['String']>>;
    startsWith?: InputMaybe<Scalars['String']>;
};
export type StringNullableFilter = {
    contains?: InputMaybe<Scalars['String']>;
    endsWith?: InputMaybe<Scalars['String']>;
    equals?: InputMaybe<Scalars['String']>;
    gt?: InputMaybe<Scalars['String']>;
    gte?: InputMaybe<Scalars['String']>;
    in?: InputMaybe<Array<Scalars['String']>>;
    lt?: InputMaybe<Scalars['String']>;
    lte?: InputMaybe<Scalars['String']>;
    mode?: InputMaybe<QueryMode>;
    not?: InputMaybe<NestedStringNullableFilter>;
    notIn?: InputMaybe<Array<Scalars['String']>>;
    startsWith?: InputMaybe<Scalars['String']>;
};
export type TestPromptInput = {
    content: Scalars['JSON'];
    projectId: Scalars['String'];
    promptId: Scalars['String'];
    settings: Scalars['JSON'];
    type: PromptType;
    variables?: InputMaybe<Scalars['JSON']>;
};
export type UpdateOrgInvitationInput = {
    invitationId: Scalars['String'];
    role: OrgRole;
};
export type UpdateOrgMemberRoleInput = {
    id: Scalars['String'];
    role: OrgRole;
};
export type UpdateOrgSettingsInput = {
    name: Scalars['String'];
    organizationId: Scalars['String'];
};
export type UpdateProfileInput = {
    name: Scalars['String'];
};
export type User = {
    __typename?: 'User';
    _count: UserCount;
    createdAt?: Maybe<Scalars['DateTime']>;
    createdPromptVersions?: Maybe<Array<PromptVersion>>;
    email: Scalars['String'];
    id: Scalars['ID'];
    orgMemberships?: Maybe<Array<OrganizationMember>>;
    publishedPrompts?: Maybe<Array<PromptEnvironment>>;
    sentInvitations?: Maybe<Array<Invitation>>;
    updatedAt?: Maybe<Scalars['DateTime']>;
};
export type UserCount = {
    __typename?: 'UserCount';
    createdPromptVersions: Scalars['Int'];
    orgMemberships: Scalars['Int'];
    publishedPrompts: Scalars['Int'];
    sentInvitations: Scalars['Int'];
};
export type UserRelationFilter = {
    is?: InputMaybe<UserWhereInput>;
    isNot?: InputMaybe<UserWhereInput>;
};
export type UserWhereInput = {
    AND?: InputMaybe<Array<UserWhereInput>>;
    NOT?: InputMaybe<Array<UserWhereInput>>;
    OR?: InputMaybe<Array<UserWhereInput>>;
    createdAt?: InputMaybe<DateTimeNullableFilter>;
    createdPromptVersions?: InputMaybe<PromptVersionListRelationFilter>;
    email?: InputMaybe<StringFilter>;
    id?: InputMaybe<StringFilter>;
    orgMemberships?: InputMaybe<OrganizationMemberListRelationFilter>;
    publishedPrompts?: InputMaybe<PromptEnvironmentListRelationFilter>;
    sentInvitations?: InputMaybe<InvitationListRelationFilter>;
    updatedAt?: InputMaybe<DateTimeNullableFilter>;
};
export type UpdateProviderApiKeyMutationVariables = Exact<{
    data: CreateProviderApiKeyInput;
}>;
export type UpdateProviderApiKeyMutation = {
    __typename?: 'Mutation';
    updateProviderApiKey: {
        __typename?: 'ProviderApiKey';
        provider: string;
    };
};
export type CreateEnvironmentMutationVariables = Exact<{
    data: CreateEnvironmentInput;
}>;
export type CreateEnvironmentMutation = {
    __typename?: 'Mutation';
    createEnvironment: {
        __typename?: 'Environment';
        name: string;
    };
};
export type DeleteEnvironmentMutationVariables = Exact<{
    data: EnvironmentWhereUniqueInput;
}>;
export type DeleteEnvironmentMutation = {
    __typename?: 'Mutation';
    deleteEnvironment: {
        __typename?: 'Environment';
        id: string;
    };
};
export type DeleteInvitationMutationVariables = Exact<{
    data: InvitationWhereUniqueInput;
}>;
export type DeleteInvitationMutation = {
    __typename?: 'Mutation';
    deleteOrgInvitation: {
        __typename?: 'Invitation';
        id: string;
    };
};
export type AcceptInvitationMutationVariables = Exact<{
    data: InvitationWhereUniqueInput;
}>;
export type AcceptInvitationMutation = {
    __typename?: 'Mutation';
    acceptOrgInvitation: {
        __typename?: 'Organization';
        id: string;
        name: string;
    };
};
export type CreateOrgInvitationMutationVariables = Exact<{
    data: CreateOrgInvitationInput;
}>;
export type CreateOrgInvitationMutation = {
    __typename?: 'Mutation';
    createOrgInvitation: {
        __typename?: 'Invitation';
        id: string;
    };
};
export type UpdateOrgInvitationMutationVariables = Exact<{
    data: UpdateOrgInvitationInput;
}>;
export type UpdateOrgInvitationMutation = {
    __typename?: 'Mutation';
    updateOrgInvitation: {
        __typename?: 'Invitation';
        id: string;
        role: OrgRole;
    };
};
export type DeleteOrgMemberMutationVariables = Exact<{
    data: OrganizationMemberWhereUniqueInput;
}>;
export type DeleteOrgMemberMutation = {
    __typename?: 'Mutation';
    deleteOrgMember: {
        __typename?: 'OrganizationMember';
        id: string;
    };
};
export type UpdateOrgMemberRoleMutationVariables = Exact<{
    data: UpdateOrgMemberRoleInput;
}>;
export type UpdateOrgMemberRoleMutation = {
    __typename?: 'Mutation';
    updateOrgMemberRole: {
        __typename?: 'OrganizationMember';
        role: OrgRole;
    };
};
export type UpdateOrgSettingsMutationVariables = Exact<{
    data: UpdateOrgSettingsInput;
}>;
export type UpdateOrgSettingsMutation = {
    __typename?: 'Mutation';
    updateOrgSettings: {
        __typename?: 'Organization';
        name: string;
    };
};
export type PublishPromptMutationVariables = Exact<{
    data: PublishPromptInput;
}>;
export type PublishPromptMutation = {
    __typename?: 'Mutation';
    publishPrompt: {
        __typename?: 'PromptEnvironment';
        promptId: string;
    };
};
export type CreatePromptMutationVariables = Exact<{
    data: CreatePromptInput;
}>;
export type CreatePromptMutation = {
    __typename?: 'Mutation';
    createPrompt: {
        __typename?: 'Prompt';
        id: string;
    };
};
export type CreatePromptVersionMutationVariables = Exact<{
    data: CreatePromptVersionInput;
}>;
export type CreatePromptVersionMutation = {
    __typename?: 'Mutation';
    createPromptVersion: {
        __typename?: 'PromptVersion';
        sha: string;
    };
};
export type DeletePromptMutationVariables = Exact<{
    data: PromptWhereUniqueInput;
}>;
export type DeletePromptMutation = {
    __typename?: 'Mutation';
    deletePrompt: {
        __typename?: 'Prompt';
        id: string;
    };
};
export type ProviderApiKeysQueryVariables = Exact<{
    data: GetProviderApiKeysInput;
}>;
export type ProviderApiKeysQuery = {
    __typename?: 'Query';
    providerApiKeys: Array<{
        __typename?: 'ProviderApiKey';
        id: string;
        provider: string;
        censoredValue: string;
    }>;
};
export type ApiKeysQueryVariables = Exact<{
    data: GetApiKeysInput;
}>;
export type ApiKeysQuery = {
    __typename?: 'Query';
    apiKeys: Array<{
        __typename?: 'ApiKey';
        id: string;
    }>;
};
export type EnvironmentsQueryVariables = Exact<{
    data: GetEnvironmentsInput;
}>;
export type EnvironmentsQuery = {
    __typename?: 'Query';
    environments: Array<{
        __typename?: 'Environment';
        id: string;
        name: string;
    }>;
};
export type GetMetricsQueryVariables = Exact<{
    data: GetPromptMetricsInput;
}>;
export type GetMetricsQuery = {
    __typename?: 'Query';
    metrics: Array<{
        __typename?: 'Metric';
        value: number;
        time: any;
    }>;
};
export type GetProjectMetricQueryVariables = Exact<{
    data: GetProjectMetricInput;
}>;
export type GetProjectMetricQuery = {
    __typename?: 'Query';
    projectMetric: {
        __typename?: 'ProjectMetric';
        currentValue: number;
        previousValue: number;
    };
};
export type GetProjectMetricHistogramQueryVariables = Exact<{
    data: GetProjectMetricHistogramInput;
}>;
export type GetProjectMetricHistogramQuery = {
    __typename?: 'Query';
    projectMetricHistogram: Array<{
        __typename?: 'HistogramMetric';
        date: string;
        value: number;
    }>;
};
export type GetMyOrganizationsQueryVariables = Exact<{
    [key: string]: never;
}>;
export type GetMyOrganizationsQuery = {
    __typename?: 'Query';
    organizations: Array<{
        __typename?: 'Organization';
        id: string;
        name: string;
    }>;
};
export type GetOrgQueryVariables = Exact<{
    data: OrganizationWhereUniqueInput;
    includeInvitations?: InputMaybe<Scalars['Boolean']>;
    includeMembers?: InputMaybe<Scalars['Boolean']>;
}>;
export type GetOrgQuery = {
    __typename?: 'Query';
    organization: {
        __typename?: 'Organization';
        id: string;
        name: string;
        members?: Array<{
            __typename?: 'OrganizationMember';
            id: string;
            role: OrgRole;
            user: {
                __typename?: 'ExtendedUser';
                id: string;
                name?: string | null;
                email: string;
            };
        }> | null;
        invitations?: Array<{
            __typename?: 'Invitation';
            id: string;
            email: string;
            role: OrgRole;
            invitedBy: {
                __typename?: 'ExtendedUser';
                photoUrl?: string | null;
            };
        }> | null;
    };
};
export type GetOrgMembershipQueryVariables = Exact<{
    data: GetUserOrgMembershipInput;
}>;
export type GetOrgMembershipQuery = {
    __typename?: 'Query';
    userOrgMembership: {
        __typename?: 'OrganizationMember';
        userId: string;
        role: OrgRole;
        organizationId: string;
    };
};
export type GetProjectQueryVariables = Exact<{
    data: ProjectWhereUniqueInput;
}>;
export type GetProjectQuery = {
    __typename?: 'Query';
    project: {
        __typename?: 'Project';
        id: string;
        slug: string;
        name: string;
        organization: {
            __typename?: 'Organization';
            id: string;
            name: string;
        };
    };
};
export type GetProjectsQueryVariables = Exact<{
    data: GetProjectsInput;
}>;
export type GetProjectsQuery = {
    __typename?: 'Query';
    projects: Array<{
        __typename?: 'Project';
        id: string;
        slug: string;
        name: string;
        organizationId: string;
    }>;
};
export type CreateProjectMutationVariables = Exact<{
    data: CreateProjectInput;
}>;
export type CreateProjectMutation = {
    __typename?: 'Mutation';
    createProject: {
        __typename?: 'Project';
        organizationId: string;
        name: string;
    };
};
export type GetPromptExecutionsQueryVariables = Exact<{
    data: PromptExecutionWhereInput;
}>;
export type GetPromptExecutionsQuery = {
    __typename?: 'Query';
    promptExecutions: Array<{
        __typename?: 'PromptExecution';
        id: string;
        timestamp: any;
        status: PromptExecutionStatus;
        settings: any;
        result?: string | null;
        duration: number;
        promptTokens: number;
        completionTokens: number;
        totalTokens: number;
        promptCost: number;
        completionCost: number;
        totalCost: number;
        error?: string | null;
        content: string;
        interpolatedContent: string;
        variables: any;
        promptVersionSha: string;
    }>;
};
export type GetPromptExecutionQueryVariables = Exact<{
    data: PromptExecutionWhereUniqueInput;
}>;
export type GetPromptExecutionQuery = {
    __typename?: 'Query';
    promptExecution: {
        __typename?: 'PromptExecution';
        id: string;
        timestamp: any;
        status: PromptExecutionStatus;
        promptCost: number;
        completionCost: number;
        totalCost: number;
        promptTokens: number;
        completionTokens: number;
        totalTokens: number;
        duration: number;
        settings: any;
        variables: any;
        interpolatedContent: string;
        error?: string | null;
        result?: string | null;
        content: string;
    };
};
export type TestPromptMutationVariables = Exact<{
    data: TestPromptInput;
}>;
export type TestPromptMutation = {
    __typename?: 'Mutation';
    testPrompt: {
        __typename?: 'RequestReport';
        reportId: string;
        calculated?: any | null;
        properties?: any | null;
        metadata?: any | null;
        request: any;
        response: any;
    };
};
export type GetAllPromptsQueryVariables = Exact<{
    data: GetProjectPromptsInput;
}>;
export type GetAllPromptsQuery = {
    __typename?: 'Query';
    prompts: Array<{
        __typename?: 'Prompt';
        id: string;
        name: string;
        isDraft: boolean;
    }>;
};
export type GetPromptQueryVariables = Exact<{
    data: GetPromptInput;
}>;
export type GetPromptQuery = {
    __typename?: 'Query';
    prompt: {
        __typename?: 'Prompt';
        id: string;
        name: string;
        isDraft: boolean;
        latestVersion?: {
            __typename?: 'PromptVersion';
            sha: string;
            message?: string | null;
            createdBy: {
                __typename?: 'ExtendedUser';
                name?: string | null;
                photoUrl?: string | null;
            };
        } | null;
    };
};
export type GetPromptVersionQueryVariables = Exact<{
    data: PromptVersionWhereUniqueInput;
}>;
export type GetPromptVersionQuery = {
    __typename?: 'Query';
    promptVersion: {
        __typename?: 'PromptVersion';
        sha: string;
        type: PromptType;
        service: PromptService;
        content: any;
        settings: any;
        message?: string | null;
    };
};
export type GetPromptVersionsWithTagsQueryVariables = Exact<{
    data: GetPromptInput;
}>;
export type GetPromptVersionsWithTagsQuery = {
    __typename?: 'Query';
    prompt: {
        __typename?: 'Prompt';
        versions?: Array<{
            __typename?: 'PromptVersion';
            type: PromptType;
            sha: string;
            service: PromptService;
            message?: string | null;
            createdAt: any;
            createdBy: {
                __typename?: 'ExtendedUser';
                name?: string | null;
                photoUrl?: string | null;
            };
        }> | null;
    };
};
export type PaginatedRequestsQueryVariables = Exact<{
    data: GetRequestsInput;
}>;
export type PaginatedRequestsQuery = {
    __typename?: 'Query';
    paginatedRequests: {
        __typename?: 'RequestReportResult';
        data: Array<{
            __typename?: 'RequestReport';
            reportId: string;
            request: any;
            response: any;
            calculated?: any | null;
            properties?: any | null;
            metadata?: any | null;
            cacheEnabled?: boolean | null;
            cacheHit?: boolean | null;
        }>;
        pagination: {
            __typename?: 'Pagination';
            page: number;
            size: number;
            total: number;
        };
    };
};
export type GetMeQueryVariables = Exact<{
    [key: string]: never;
}>;
export type GetMeQuery = {
    __typename?: 'Query';
    me: {
        __typename?: 'ExtendedUser';
        id: string;
        email: string;
        photoUrl?: string | null;
        name?: string | null;
        organizationIds: Array<string>;
    };
};
export type UpdateProfileMutationVariables = Exact<{
    data: UpdateProfileInput;
}>;
export type UpdateProfileMutation = {
    __typename?: 'Mutation';
    updateProfile: {
        __typename?: 'ExtendedUser';
        name?: string | null;
    };
};
export declare const UpdateProviderApiKeyDocument: DocumentNode<UpdateProviderApiKeyMutation, Exact<{
    data: CreateProviderApiKeyInput;
}>>;
export declare const CreateEnvironmentDocument: DocumentNode<CreateEnvironmentMutation, Exact<{
    data: CreateEnvironmentInput;
}>>;
export declare const DeleteEnvironmentDocument: DocumentNode<DeleteEnvironmentMutation, Exact<{
    data: EnvironmentWhereUniqueInput;
}>>;
export declare const DeleteInvitationDocument: DocumentNode<DeleteInvitationMutation, Exact<{
    data: InvitationWhereUniqueInput;
}>>;
export declare const AcceptInvitationDocument: DocumentNode<AcceptInvitationMutation, Exact<{
    data: InvitationWhereUniqueInput;
}>>;
export declare const CreateOrgInvitationDocument: DocumentNode<CreateOrgInvitationMutation, Exact<{
    data: CreateOrgInvitationInput;
}>>;
export declare const UpdateOrgInvitationDocument: DocumentNode<UpdateOrgInvitationMutation, Exact<{
    data: UpdateOrgInvitationInput;
}>>;
export declare const DeleteOrgMemberDocument: DocumentNode<DeleteOrgMemberMutation, Exact<{
    data: OrganizationMemberWhereUniqueInput;
}>>;
export declare const UpdateOrgMemberRoleDocument: DocumentNode<UpdateOrgMemberRoleMutation, Exact<{
    data: UpdateOrgMemberRoleInput;
}>>;
export declare const UpdateOrgSettingsDocument: DocumentNode<UpdateOrgSettingsMutation, Exact<{
    data: UpdateOrgSettingsInput;
}>>;
export declare const PublishPromptDocument: DocumentNode<PublishPromptMutation, Exact<{
    data: PublishPromptInput;
}>>;
export declare const CreatePromptDocument: DocumentNode<CreatePromptMutation, Exact<{
    data: CreatePromptInput;
}>>;
export declare const CreatePromptVersionDocument: DocumentNode<CreatePromptVersionMutation, Exact<{
    data: CreatePromptVersionInput;
}>>;
export declare const DeletePromptDocument: DocumentNode<DeletePromptMutation, Exact<{
    data: PromptWhereUniqueInput;
}>>;
export declare const ProviderApiKeysDocument: DocumentNode<ProviderApiKeysQuery, Exact<{
    data: GetProviderApiKeysInput;
}>>;
export declare const ApiKeysDocument: DocumentNode<ApiKeysQuery, Exact<{
    data: GetApiKeysInput;
}>>;
export declare const EnvironmentsDocument: DocumentNode<EnvironmentsQuery, Exact<{
    data: GetEnvironmentsInput;
}>>;
export declare const GetMetricsDocument: DocumentNode<GetMetricsQuery, Exact<{
    data: GetPromptMetricsInput;
}>>;
export declare const GetProjectMetricDocument: DocumentNode<GetProjectMetricQuery, Exact<{
    data: GetProjectMetricInput;
}>>;
export declare const GetProjectMetricHistogramDocument: DocumentNode<GetProjectMetricHistogramQuery, Exact<{
    data: GetProjectMetricHistogramInput;
}>>;
export declare const GetMyOrganizationsDocument: DocumentNode<GetMyOrganizationsQuery, Exact<{
    [key: string]: never;
}>>;
export declare const GetOrgDocument: DocumentNode<GetOrgQuery, Exact<{
    data: OrganizationWhereUniqueInput;
    includeInvitations?: InputMaybe<Scalars['Boolean']>;
    includeMembers?: InputMaybe<Scalars['Boolean']>;
}>>;
export declare const GetOrgMembershipDocument: DocumentNode<GetOrgMembershipQuery, Exact<{
    data: GetUserOrgMembershipInput;
}>>;
export declare const GetProjectDocument: DocumentNode<GetProjectQuery, Exact<{
    data: ProjectWhereUniqueInput;
}>>;
export declare const GetProjectsDocument: DocumentNode<GetProjectsQuery, Exact<{
    data: GetProjectsInput;
}>>;
export declare const CreateProjectDocument: DocumentNode<CreateProjectMutation, Exact<{
    data: CreateProjectInput;
}>>;
export declare const GetPromptExecutionsDocument: DocumentNode<GetPromptExecutionsQuery, Exact<{
    data: PromptExecutionWhereInput;
}>>;
export declare const GetPromptExecutionDocument: DocumentNode<GetPromptExecutionQuery, Exact<{
    data: PromptExecutionWhereUniqueInput;
}>>;
export declare const TestPromptDocument: DocumentNode<TestPromptMutation, Exact<{
    data: TestPromptInput;
}>>;
export declare const GetAllPromptsDocument: DocumentNode<GetAllPromptsQuery, Exact<{
    data: GetProjectPromptsInput;
}>>;
export declare const GetPromptDocument: DocumentNode<GetPromptQuery, Exact<{
    data: GetPromptInput;
}>>;
export declare const GetPromptVersionDocument: DocumentNode<GetPromptVersionQuery, Exact<{
    data: PromptVersionWhereUniqueInput;
}>>;
export declare const GetPromptVersionsWithTagsDocument: DocumentNode<GetPromptVersionsWithTagsQuery, Exact<{
    data: GetPromptInput;
}>>;
export declare const PaginatedRequestsDocument: DocumentNode<PaginatedRequestsQuery, Exact<{
    data: GetRequestsInput;
}>>;
export declare const GetMeDocument: DocumentNode<GetMeQuery, Exact<{
    [key: string]: never;
}>>;
export declare const UpdateProfileDocument: DocumentNode<UpdateProfileMutation, Exact<{
    data: UpdateProfileInput;
}>>;
