blackmistcode's picture
Add files using upload-large-folder tool
f4efb0e verified
Raw
History Blame Contribute Delete
16.2 kB
/* !!! This is code generated by Prisma. Do not edit directly. !!!
/* eslint-disable */
// biome-ignore-all lint: generated file
Object.defineProperty(exports, "__esModule", { value: true });
const {
PrismaClientKnownRequestError,
PrismaClientUnknownRequestError,
PrismaClientRustPanicError,
PrismaClientInitializationError,
PrismaClientValidationError,
getPrismaClient,
sqltag,
empty,
join,
raw,
skip,
Decimal,
Debug,
objectEnumValues,
makeStrictEnum,
Extensions,
warnOnce,
defineDmmfProperty,
Public,
getRuntime,
createParam,
} = require('@prisma/client/runtime/wasm-engine-edge.js')
const Prisma = {}
exports.Prisma = Prisma
exports.$Enums = {}
/**
* Prisma Client JS version: 6.19.3
* Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7
*/
Prisma.prismaVersion = {
client: "6.19.3",
engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7"
}
Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError;
Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError
Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError
Prisma.PrismaClientInitializationError = PrismaClientInitializationError
Prisma.PrismaClientValidationError = PrismaClientValidationError
Prisma.Decimal = Decimal
/**
* Re-export of sql-template-tag
*/
Prisma.sql = sqltag
Prisma.empty = empty
Prisma.join = join
Prisma.raw = raw
Prisma.validator = Public.validator
/**
* Extensions
*/
Prisma.getExtensionContext = Extensions.getExtensionContext
Prisma.defineExtension = Extensions.defineExtension
/**
* Shorthand utilities for JSON filtering
*/
Prisma.DbNull = objectEnumValues.instances.DbNull
Prisma.JsonNull = objectEnumValues.instances.JsonNull
Prisma.AnyNull = objectEnumValues.instances.AnyNull
Prisma.NullTypes = {
DbNull: objectEnumValues.classes.DbNull,
JsonNull: objectEnumValues.classes.JsonNull,
AnyNull: objectEnumValues.classes.AnyNull
}
/**
* Enums
*/
exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
Serializable: 'Serializable'
});
exports.Prisma.UserScalarFieldEnum = {
id: 'id',
email: 'email',
passwordHash: 'passwordHash',
isActive: 'isActive',
telegramChatId: 'telegramChatId',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.MarketScalarFieldEnum = {
id: 'id',
question: 'question',
category: 'category',
countryCode: 'countryCode',
yesPrice: 'yesPrice',
noPrice: 'noPrice',
volumeEur: 'volumeEur',
liquidityEur: 'liquidityEur',
spread: 'spread',
bestBid: 'bestBid',
bestAsk: 'bestAsk',
clobTokenId: 'clobTokenId',
analyzable: 'analyzable',
status: 'status',
closesAt: 'closesAt',
lastSynced: 'lastSynced'
};
exports.Prisma.AISignalScalarFieldEnum = {
id: 'id',
marketId: 'marketId',
signal: 'signal',
confidence: 'confidence',
summary: 'summary',
keyRisk: 'keyRisk',
newsCount: 'newsCount',
modelVersion: 'modelVersion',
impliedProb: 'impliedProb',
fairProb: 'fairProb',
edgePoints: 'edgePoints',
generatedAt: 'generatedAt'
};
exports.Prisma.PositionScalarFieldEnum = {
id: 'id',
userId: 'userId',
marketId: 'marketId',
outcome: 'outcome',
amountEur: 'amountEur',
entryPrice: 'entryPrice',
currentPrice: 'currentPrice',
pnl: 'pnl',
kellyFraction: 'kellyFraction',
status: 'status',
openedAt: 'openedAt',
closedAt: 'closedAt'
};
exports.Prisma.WatchlistScalarFieldEnum = {
id: 'id',
userId: 'userId',
marketId: 'marketId',
alertThreshold: 'alertThreshold',
createdAt: 'createdAt'
};
exports.Prisma.AlertScalarFieldEnum = {
id: 'id',
userId: 'userId',
marketId: 'marketId',
type: 'type',
message: 'message',
sentAt: 'sentAt'
};
exports.Prisma.SortOrder = {
asc: 'asc',
desc: 'desc'
};
exports.Prisma.NullsOrder = {
first: 'first',
last: 'last'
};
exports.Prisma.ModelName = {
User: 'User',
Market: 'Market',
AISignal: 'AISignal',
Position: 'Position',
Watchlist: 'Watchlist',
Alert: 'Alert'
};
/**
* Create the Client
*/
const config = {
"generator": {
"name": "client",
"provider": {
"fromEnvVar": null,
"value": "prisma-client-js"
},
"output": {
"value": "/Users/josesalazar/proyecto-hackaton/backend/node_modules/@prisma/client",
"fromEnvVar": null
},
"config": {
"engineType": "library"
},
"binaryTargets": [
{
"fromEnvVar": null,
"value": "darwin-arm64",
"native": true
}
],
"previewFeatures": [],
"sourceFilePath": "/Users/josesalazar/proyecto-hackaton/backend/prisma/schema.prisma"
},
"relativeEnvPaths": {
"rootEnvPath": null,
"schemaEnvPath": "../../../.env"
},
"relativePath": "../../../prisma",
"clientVersion": "6.19.3",
"engineVersion": "c2990dca591cba766e3b7ef5d9e8a84796e47ab7",
"datasourceNames": [
"db"
],
"activeProvider": "sqlite",
"postinstall": false,
"inlineDatasources": {
"db": {
"url": {
"fromEnvVar": "DATABASE_URL",
"value": null
}
}
},
"inlineSchema": "/**\n * Schema de Prisma ORM para base de datos SQLite.\n * Define 6 modelos: User, Market, AISignal, Position, Watchlist, Alert.\n * Relaciones:\n * - Market 1:N AISignal, Position, Watchlist, Alert\n * - User 1:N Position, Watchlist, Alert\n * No modificar sin consenso del equipo. Generar migraciones con:\n * npx prisma migrate dev\n * npx prisma generate\n */\n\ngenerator client {\n provider = \"prisma-client-js\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel User {\n id Int @id @default(autoincrement())\n email String @unique\n passwordHash String\n isActive Boolean @default(true)\n telegramChatId String? // Configurado manualmente para demo\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n positions Position[]\n watchlist Watchlist[]\n alerts Alert[]\n}\n\nmodel Market {\n id String @id // ID nativo de Polymarket\n question String // Texto de la pregunta del mercado\n category String? // politics | crypto | economics | sports\n countryCode String? // ISO2 — usado por Leaflet para burbujas\n yesPrice Float? // Precio YES: 0.0 a 1.0\n noPrice Float? // Precio NO: 0.0 a 1.0\n volumeEur Float? // Volumen en Eur\n liquidityEur Float? // Liquidez en Eur\n spread Float? // Bid/ask spread (0-1, ej 0.02 = 2c)\n bestBid Float? // Mejor oferta de compra\n bestAsk Float? // Mejor oferta de venta\n clobTokenId String? // YES outcome CLOB token ID (para prices-history)\n analyzable Boolean @default(true) // Si la IA tiene edge plausible aqui\n status String @default(\"active\") // active | closed | resolved\n closesAt DateTime? // Fecha de cierre del mercado\n lastSynced DateTime @default(now()) // Ultima sincronizacion de precios\n\n signals AISignal[]\n positions Position[]\n watchlist Watchlist[]\n alerts Alert[]\n}\n\nmodel AISignal {\n id Int @id @default(autoincrement())\n marketId String\n market Market @relation(fields: [marketId], references: [id], onDelete: Cascade)\n signal String // bullish | bearish | neutral\n confidence Float // 0.0 a 1.0\n summary String? // 2 frases generadas por Qwen3\n keyRisk String? // 1 frase de riesgo principal\n newsCount Int @default(0) // Titulares relevantes usados\n modelVersion String @default(\"Qwen3-8B\") // Modelo LLM que genero la senal\n impliedProb Float? // Probabilidad implicita YES al generar (0-1)\n fairProb Float? // Probabilidad \"justa\" segun IA (0-1)\n edgePoints Float? // (fairProb - impliedProb) * 100, signo conserva direccion\n generatedAt DateTime @default(now())\n\n @@index([marketId, generatedAt])\n}\n\nmodel Position {\n id Int @id @default(autoincrement())\n userId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n marketId String\n market Market @relation(fields: [marketId], references: [id], onDelete: Cascade)\n outcome String // YES | NO\n amountEur Float // Capital virtual apostado\n entryPrice Float // Precio al abrir la posicion\n currentPrice Float? // Precio actual (actualizado por scheduler)\n pnl Float @default(0) // Profit and Loss calculado\n kellyFraction Float? // Fraccion de Kelly al abrir\n status String @default(\"open\") // open | closed\n openedAt DateTime @default(now())\n closedAt DateTime?\n\n @@index([userId, status])\n @@index([marketId])\n}\n\nmodel Watchlist {\n id Int @id @default(autoincrement())\n userId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n marketId String\n market Market @relation(fields: [marketId], references: [id], onDelete: Cascade)\n alertThreshold Float? // Umbral de precio para alerta Telegram\n createdAt DateTime @default(now())\n\n @@unique([userId, marketId])\n @@index([userId])\n}\n\nmodel Alert {\n id Int @id @default(autoincrement())\n userId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n marketId String\n market Market @relation(fields: [marketId], references: [id], onDelete: Cascade)\n type String // price_threshold | signal_change\n message String // Texto enviado por Telegram\n sentAt DateTime @default(now())\n\n @@index([userId, sentAt])\n @@index([marketId])\n}\n",
"inlineSchemaHash": "317e51352744228f8aa2577b7d08529ce57f6e47ee90dbf1318c8edc1a7164fb",
"copyEngine": true
}
config.dirname = '/'
config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"passwordHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"telegramChatId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"positions\",\"kind\":\"object\",\"type\":\"Position\",\"relationName\":\"PositionToUser\"},{\"name\":\"watchlist\",\"kind\":\"object\",\"type\":\"Watchlist\",\"relationName\":\"UserToWatchlist\"},{\"name\":\"alerts\",\"kind\":\"object\",\"type\":\"Alert\",\"relationName\":\"AlertToUser\"}],\"dbName\":null},\"Market\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"countryCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"yesPrice\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"noPrice\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"volumeEur\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"liquidityEur\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"spread\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"bestBid\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"bestAsk\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"clobTokenId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"analyzable\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"closesAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastSynced\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"signals\",\"kind\":\"object\",\"type\":\"AISignal\",\"relationName\":\"AISignalToMarket\"},{\"name\":\"positions\",\"kind\":\"object\",\"type\":\"Position\",\"relationName\":\"MarketToPosition\"},{\"name\":\"watchlist\",\"kind\":\"object\",\"type\":\"Watchlist\",\"relationName\":\"MarketToWatchlist\"},{\"name\":\"alerts\",\"kind\":\"object\",\"type\":\"Alert\",\"relationName\":\"AlertToMarket\"}],\"dbName\":null},\"AISignal\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"marketId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"market\",\"kind\":\"object\",\"type\":\"Market\",\"relationName\":\"AISignalToMarket\"},{\"name\":\"signal\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"confidence\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"keyRisk\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"newsCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"modelVersion\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"impliedProb\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fairProb\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"edgePoints\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"generatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Position\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PositionToUser\"},{\"name\":\"marketId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"market\",\"kind\":\"object\",\"type\":\"Market\",\"relationName\":\"MarketToPosition\"},{\"name\":\"outcome\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"amountEur\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"entryPrice\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"currentPrice\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"pnl\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"kellyFraction\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"openedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Watchlist\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToWatchlist\"},{\"name\":\"marketId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"market\",\"kind\":\"object\",\"type\":\"Market\",\"relationName\":\"MarketToWatchlist\"},{\"name\":\"alertThreshold\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Alert\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AlertToUser\"},{\"name\":\"marketId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"market\",\"kind\":\"object\",\"type\":\"Market\",\"relationName\":\"AlertToMarket\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sentAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
config.engineWasm = {
getRuntime: async () => require('./query_engine_bg.js'),
getQueryEngineWasmModule: async () => {
const loader = (await import('#wasm-engine-loader')).default
const engine = (await loader).default
return engine
}
}
config.compilerWasm = undefined
config.injectableEdgeEnv = () => ({
parsed: {
DATABASE_URL: typeof globalThis !== 'undefined' && globalThis['DATABASE_URL'] || typeof process !== 'undefined' && process.env && process.env.DATABASE_URL || undefined
}
})
if (typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) {
Debug.enable(typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined)
}
const PrismaClient = getPrismaClient(config)
exports.PrismaClient = PrismaClient
Object.assign(exports, Prisma)