Skip to main content
Glama

Prisma MCP Server

Official
by prisma
Apache 2.0
4
44,192
  • Linux
  • Apple
common.ts9.53 kB
import { nullTypes } from './NullTypes' import type { TSClientOptions } from './TSClient' export const commonCodeTS = ({ clientVersion, engineVersion, generator }: TSClientOptions) => { return `export type DMMF = typeof runtime.DMMF export type PrismaPromise<T> = runtime.Types.Public.PrismaPromise<T> /** * Prisma Errors */ export const PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError export type PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError export const PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError export type PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError export const PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export type PrismaClientRustPanicError = runtime.PrismaClientRustPanicError export const PrismaClientInitializationError = runtime.PrismaClientInitializationError export type PrismaClientInitializationError = runtime.PrismaClientInitializationError export const PrismaClientValidationError = runtime.PrismaClientValidationError export type PrismaClientValidationError = runtime.PrismaClientValidationError /** * Re-export of sql-template-tag */ export const sql = runtime.sqltag export const empty = runtime.empty export const join = runtime.join export const raw = runtime.raw export const Sql = runtime.Sql export type Sql = runtime.Sql ${buildPrismaSkipTs(generator.previewFeatures)} /** * Decimal.js */ export const Decimal = runtime.Decimal export type Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** * Metrics */ export type Metrics = runtime.Metrics export type Metric<T> = runtime.Metric<T> export type MetricHistogram = runtime.MetricHistogram export type MetricHistogramBucket = runtime.MetricHistogramBucket /** * Extensions */ export type Extension = runtime.Types.Extensions.UserArgs export const getExtensionContext = runtime.Extensions.getExtensionContext export type Args<T, F extends runtime.Operation> = runtime.Types.Public.Args<T, F> export type Payload<T, F extends runtime.Operation = never> = runtime.Types.Public.Payload<T, F> export type Result<T, A, F extends runtime.Operation> = runtime.Types.Public.Result<T, A, F> export type Exact<A, W> = runtime.Types.Public.Exact<A, W> export type PrismaVersion = { client: string engine: string } /** * Prisma Client JS version: ${clientVersion} * Query Engine version: ${engineVersion} */ export const prismaVersion: PrismaVersion = { client: "${clientVersion}", engine: "${engineVersion}" } /** * Utility Types */ export type Bytes = runtime.Bytes export type JsonObject = runtime.JsonObject export type JsonArray = runtime.JsonArray export type JsonValue = runtime.JsonValue export type InputJsonObject = runtime.InputJsonObject export type InputJsonArray = runtime.InputJsonArray export type InputJsonValue = runtime.InputJsonValue ${nullTypes} type SelectAndInclude = { select: any include: any } type SelectAndOmit = { select: any omit: any } /** * From T, pick a set of properties whose keys are in the union K */ type Prisma__Pick<T, K extends keyof T> = { [P in K]: T[P]; }; export type Enumerable<T> = T | Array<T>; /** * Subset * @desc From \`T\` pick properties that exist in \`U\`. Simple version of Intersection */ export type Subset<T, U> = { [key in keyof T]: key extends keyof U ? T[key] : never; }; /** * SelectSubset * @desc From \`T\` pick properties that exist in \`U\`. Simple version of Intersection. * Additionally, it validates, if both select and include are present. If the case, it errors. */ export type SelectSubset<T, U> = { [key in keyof T]: key extends keyof U ? T[key] : never } & (T extends SelectAndInclude ? 'Please either choose \`select\` or \`include\`.' : T extends SelectAndOmit ? 'Please either choose \`select\` or \`omit\`.' : {}) /** * Subset + Intersection * @desc From \`T\` pick properties that exist in \`U\` and intersect \`K\` */ export type SubsetIntersection<T, U, K> = { [key in keyof T]: key extends keyof U ? T[key] : never } & K type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never }; /** * XOR is needed to have a real mutually exclusive union type * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types */ export type XOR<T, U> = T extends object ? U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : U : T /** * Is T a Record? */ type IsObject<T extends any> = T extends Array<any> ? False : T extends Date ? False : T extends Uint8Array ? False : T extends BigInt ? False : T extends object ? True : False /** * If it's T[], return T */ export type UnEnumerate<T extends unknown> = T extends Array<infer U> ? U : T /** * From ts-toolbelt */ type __Either<O extends object, K extends Key> = Omit<O, K> & { // Merge all but K [P in K]: Prisma__Pick<O, P & keyof O> // With K possibilities }[K] type EitherStrict<O extends object, K extends Key> = Strict<__Either<O, K>> type EitherLoose<O extends object, K extends Key> = ComputeRaw<__Either<O, K>> type _Either< O extends object, K extends Key, strict extends Boolean > = { 1: EitherStrict<O, K> 0: EitherLoose<O, K> }[strict] export type Either< O extends object, K extends Key, strict extends Boolean = 1 > = O extends unknown ? _Either<O, K, strict> : never export type Union = any export type PatchUndefined<O extends object, O1 extends object> = { [K in keyof O]: O[K] extends undefined ? At<O1, K> : O[K] } & {} /** Helper Types for "Merge" **/ export type IntersectOf<U extends Union> = ( U extends unknown ? (k: U) => void : never ) extends (k: infer I) => void ? I : never export type Overwrite<O extends object, O1 extends object> = { [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; } & {}; type _Merge<U extends object> = IntersectOf<Overwrite<U, { [K in keyof U]-?: At<U, K>; }>>; type Key = string | number | symbol; type AtStrict<O extends object, K extends Key> = O[K & keyof O]; type AtLoose<O extends object, K extends Key> = O extends unknown ? AtStrict<O, K> : never; export type At<O extends object, K extends Key, strict extends Boolean = 1> = { 1: AtStrict<O, K>; 0: AtLoose<O, K>; }[strict]; export type ComputeRaw<A extends any> = A extends Function ? A : { [K in keyof A]: A[K]; } & {}; export type OptionalFlat<O> = { [K in keyof O]?: O[K]; } & {}; type _Record<K extends keyof any, T> = { [P in K]: T; }; // cause typescript not to expand types and preserve names type NoExpand<T> = T extends unknown ? T : never; // this type assumes the passed object is entirely optional export type AtLeast<O extends object, K extends string> = NoExpand< O extends unknown ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) | {[P in keyof O as P extends K ? P : never]-?: O[P]} & O : never>; type _Strict<U, _U = U> = U extends unknown ? U & OptionalFlat<_Record<Exclude<Keys<_U>, keyof U>, never>> : never; export type Strict<U extends object> = ComputeRaw<_Strict<U>>; /** End Helper Types for "Merge" **/ export type Merge<U extends object> = ComputeRaw<_Merge<Strict<U>>>; export type Boolean = True | False export type True = 1 export type False = 0 export type Not<B extends Boolean> = { 0: 1 1: 0 }[B] export type Extends<A1 extends any, A2 extends any> = [A1] extends [never] ? 0 // anything \`never\` is false : A1 extends A2 ? 1 : 0 export type Has<U extends Union, U1 extends Union> = Not< Extends<Exclude<U1, U>, U1> > export type Or<B1 extends Boolean, B2 extends Boolean> = { 0: { 0: 0 1: 1 } 1: { 0: 1 1: 1 } }[B1][B2] export type Keys<U extends Union> = U extends unknown ? keyof U : never export type GetScalarType<T, O> = O extends object ? { [P in keyof T]: P extends keyof O ? O[P] : never } : never type FieldPaths< T, U = Omit<T, '_avg' | '_sum' | '_count' | '_min' | '_max'> > = IsObject<T> extends True ? U : T export type GetHavingFields<T> = { [K in keyof T]: Or< Or<Extends<'OR', K>, Extends<'AND', K>>, Extends<'NOT', K> > extends True ? // infer is only needed to not hit TS limit // based on the brilliant idea of Pierre-Antoine Mills // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437 T[K] extends infer TK ? GetHavingFields<UnEnumerate<TK> extends object ? Merge<UnEnumerate<TK>> : never> : never : {} extends FieldPaths<T[K]> ? never : K }[keyof T] /** * Convert tuple to union */ type _TupleToUnion<T> = T extends (infer E)[] ? E : never type TupleToUnion<K extends readonly any[]> = _TupleToUnion<K> export type MaybeTupleToUnion<T> = T extends any[] ? TupleToUnion<T> : T /** * Like \`Pick\`, but additionally can also accept an array of keys */ export type PickEnumerable<T, K extends Enumerable<keyof T> | keyof T> = Prisma__Pick<T, MaybeTupleToUnion<K>> /** * Exclude all keys with underscores */ export type ExcludeUnderscoreKeys<T extends string> = T extends \`_$\{string}\` ? never : T export type FieldRef<Model, FieldType> = runtime.FieldRef<Model, FieldType> type FieldRefInputType<Model, FieldType> = Model extends never ? never : FieldRef<Model, FieldType> ` } function buildPrismaSkipTs(previewFeatures: string[]) { if (previewFeatures.includes('strictUndefinedChecks')) { return ` /** * Prisma.skip */ export const skip = runtime.skip ` } return '' }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prisma/prisma'

If you have feedback or need assistance with the MCP directory API, please join our Discord server