Critical fix for production deployment on Proxmox/Docker. Problem: - Runtime error: Prisma Client could not locate Query Engine for "debian-openssl-1.1.x" - Wrong binary target generated (Windows dll instead of Linux .so.node) - Wrong OpenSSL version (3.0.x instead of 1.1.x for Debian 11) Root cause: - Schema.prisma didn't specify binaryTargets - Prisma auto-detected Windows during local development - Debian 11 (bullseye) uses OpenSSL 1.1.x, not 3.0.x Solution: 1. Add binaryTargets to schema.prisma: - "debian-openssl-1.1.x" for Docker/Proxmox - "native" for local development 2. Fix Prisma folder permissions in Docker: - RUN chown -R nextjs:nodejs /app/prisma - Ensures Query Engine binary is readable by app user Changes: - prisma/schema.prisma: Add binaryTargets = ["debian-openssl-1.1.x", "native"] - keep-notes/Dockerfile: Add chown for /app/prisma folder Verification: ✓ libquery_engine-debian-openssl-1.1.x.so.node exists ✓ Permissions: nextjs:nodejs (readable) ✓ Prisma Client loads successfully in container Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
333 lines
9.9 KiB
JavaScript
333 lines
9.9 KiB
JavaScript
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
|
const {
|
|
Decimal,
|
|
objectEnumValues,
|
|
makeStrictEnum,
|
|
Public,
|
|
getRuntime,
|
|
skip
|
|
} = require('./runtime/index-browser.js')
|
|
|
|
|
|
const Prisma = {}
|
|
|
|
exports.Prisma = Prisma
|
|
exports.$Enums = {}
|
|
|
|
/**
|
|
* Prisma Client JS version: 5.22.0
|
|
* Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2
|
|
*/
|
|
Prisma.prismaVersion = {
|
|
client: "5.22.0",
|
|
engine: "605197351a3c8bdd595af2d2a9bc3025bca48ea2"
|
|
}
|
|
|
|
Prisma.PrismaClientKnownRequestError = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)};
|
|
Prisma.PrismaClientUnknownRequestError = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)}
|
|
Prisma.PrismaClientRustPanicError = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)}
|
|
Prisma.PrismaClientInitializationError = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)}
|
|
Prisma.PrismaClientValidationError = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)}
|
|
Prisma.NotFoundError = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`NotFoundError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)}
|
|
Prisma.Decimal = Decimal
|
|
|
|
/**
|
|
* Re-export of sql-template-tag
|
|
*/
|
|
Prisma.sql = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)}
|
|
Prisma.empty = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)}
|
|
Prisma.join = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)}
|
|
Prisma.raw = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)}
|
|
Prisma.validator = Public.validator
|
|
|
|
/**
|
|
* Extensions
|
|
*/
|
|
Prisma.getExtensionContext = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)}
|
|
Prisma.defineExtension = () => {
|
|
const runtimeName = getRuntime().prettyName;
|
|
throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
|
|
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
|
|
)}
|
|
|
|
/**
|
|
* 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',
|
|
name: 'name',
|
|
email: 'email',
|
|
emailVerified: 'emailVerified',
|
|
password: 'password',
|
|
role: 'role',
|
|
image: 'image',
|
|
theme: 'theme',
|
|
resetToken: 'resetToken',
|
|
resetTokenExpiry: 'resetTokenExpiry',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.AccountScalarFieldEnum = {
|
|
userId: 'userId',
|
|
type: 'type',
|
|
provider: 'provider',
|
|
providerAccountId: 'providerAccountId',
|
|
refresh_token: 'refresh_token',
|
|
access_token: 'access_token',
|
|
expires_at: 'expires_at',
|
|
token_type: 'token_type',
|
|
scope: 'scope',
|
|
id_token: 'id_token',
|
|
session_state: 'session_state',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.SessionScalarFieldEnum = {
|
|
sessionToken: 'sessionToken',
|
|
userId: 'userId',
|
|
expires: 'expires',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.VerificationTokenScalarFieldEnum = {
|
|
identifier: 'identifier',
|
|
token: 'token',
|
|
expires: 'expires'
|
|
};
|
|
|
|
exports.Prisma.NotebookScalarFieldEnum = {
|
|
id: 'id',
|
|
name: 'name',
|
|
icon: 'icon',
|
|
color: 'color',
|
|
order: 'order',
|
|
userId: 'userId',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.LabelScalarFieldEnum = {
|
|
id: 'id',
|
|
name: 'name',
|
|
color: 'color',
|
|
notebookId: 'notebookId',
|
|
userId: 'userId',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.NoteScalarFieldEnum = {
|
|
id: 'id',
|
|
title: 'title',
|
|
content: 'content',
|
|
color: 'color',
|
|
isPinned: 'isPinned',
|
|
isArchived: 'isArchived',
|
|
type: 'type',
|
|
checkItems: 'checkItems',
|
|
labels: 'labels',
|
|
images: 'images',
|
|
links: 'links',
|
|
reminder: 'reminder',
|
|
isReminderDone: 'isReminderDone',
|
|
reminderRecurrence: 'reminderRecurrence',
|
|
reminderLocation: 'reminderLocation',
|
|
isMarkdown: 'isMarkdown',
|
|
size: 'size',
|
|
embedding: 'embedding',
|
|
sharedWith: 'sharedWith',
|
|
userId: 'userId',
|
|
order: 'order',
|
|
notebookId: 'notebookId',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt',
|
|
autoGenerated: 'autoGenerated',
|
|
aiProvider: 'aiProvider',
|
|
aiConfidence: 'aiConfidence',
|
|
language: 'language',
|
|
languageConfidence: 'languageConfidence',
|
|
lastAiAnalysis: 'lastAiAnalysis'
|
|
};
|
|
|
|
exports.Prisma.NoteShareScalarFieldEnum = {
|
|
id: 'id',
|
|
noteId: 'noteId',
|
|
userId: 'userId',
|
|
sharedBy: 'sharedBy',
|
|
status: 'status',
|
|
permission: 'permission',
|
|
notifiedAt: 'notifiedAt',
|
|
respondedAt: 'respondedAt',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.SystemConfigScalarFieldEnum = {
|
|
key: 'key',
|
|
value: 'value'
|
|
};
|
|
|
|
exports.Prisma.AiFeedbackScalarFieldEnum = {
|
|
id: 'id',
|
|
noteId: 'noteId',
|
|
userId: 'userId',
|
|
feedbackType: 'feedbackType',
|
|
feature: 'feature',
|
|
originalContent: 'originalContent',
|
|
correctedContent: 'correctedContent',
|
|
metadata: 'metadata',
|
|
createdAt: 'createdAt'
|
|
};
|
|
|
|
exports.Prisma.MemoryEchoInsightScalarFieldEnum = {
|
|
id: 'id',
|
|
userId: 'userId',
|
|
note1Id: 'note1Id',
|
|
note2Id: 'note2Id',
|
|
similarityScore: 'similarityScore',
|
|
insight: 'insight',
|
|
insightDate: 'insightDate',
|
|
viewed: 'viewed',
|
|
feedback: 'feedback',
|
|
dismissed: 'dismissed'
|
|
};
|
|
|
|
exports.Prisma.UserAISettingsScalarFieldEnum = {
|
|
userId: 'userId',
|
|
titleSuggestions: 'titleSuggestions',
|
|
semanticSearch: 'semanticSearch',
|
|
paragraphRefactor: 'paragraphRefactor',
|
|
memoryEcho: 'memoryEcho',
|
|
memoryEchoFrequency: 'memoryEchoFrequency',
|
|
aiProvider: 'aiProvider',
|
|
preferredLanguage: 'preferredLanguage',
|
|
fontSize: 'fontSize',
|
|
demoMode: 'demoMode'
|
|
};
|
|
|
|
exports.Prisma.SortOrder = {
|
|
asc: 'asc',
|
|
desc: 'desc'
|
|
};
|
|
|
|
exports.Prisma.NullsOrder = {
|
|
first: 'first',
|
|
last: 'last'
|
|
};
|
|
|
|
|
|
exports.Prisma.ModelName = {
|
|
User: 'User',
|
|
Account: 'Account',
|
|
Session: 'Session',
|
|
VerificationToken: 'VerificationToken',
|
|
Notebook: 'Notebook',
|
|
Label: 'Label',
|
|
Note: 'Note',
|
|
NoteShare: 'NoteShare',
|
|
SystemConfig: 'SystemConfig',
|
|
AiFeedback: 'AiFeedback',
|
|
MemoryEchoInsight: 'MemoryEchoInsight',
|
|
UserAISettings: 'UserAISettings'
|
|
};
|
|
|
|
/**
|
|
* This is a stub Prisma Client that will error at runtime if called.
|
|
*/
|
|
class PrismaClient {
|
|
constructor() {
|
|
return new Proxy(this, {
|
|
get(target, prop) {
|
|
let message
|
|
const runtime = getRuntime()
|
|
if (runtime.isEdge) {
|
|
message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either:
|
|
- Use Prisma Accelerate: https://pris.ly/d/accelerate
|
|
- Use Driver Adapters: https://pris.ly/d/driver-adapters
|
|
`;
|
|
} else {
|
|
message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).'
|
|
}
|
|
|
|
message += `
|
|
If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report`
|
|
|
|
throw new Error(message)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
exports.PrismaClient = PrismaClient
|
|
|
|
Object.assign(exports, Prisma)
|