@librechat/data-schemas 0.0.43 → 0.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/capabilities.cjs +192 -0
- package/dist/admin/capabilities.cjs.map +1 -0
- package/dist/admin/capabilities.es.js +182 -0
- package/dist/admin/capabilities.es.js.map +1 -0
- package/dist/app/agents.cjs +24 -0
- package/dist/app/agents.cjs.map +1 -0
- package/dist/app/agents.es.js +22 -0
- package/dist/app/agents.es.js.map +1 -0
- package/dist/app/assistants.cjs +56 -0
- package/dist/app/assistants.cjs.map +1 -0
- package/dist/app/assistants.es.js +53 -0
- package/dist/app/assistants.es.js.map +1 -0
- package/dist/app/azure.cjs +61 -0
- package/dist/app/azure.cjs.map +1 -0
- package/dist/app/azure.es.js +59 -0
- package/dist/app/azure.es.js.map +1 -0
- package/dist/app/endpoints.cjs +63 -0
- package/dist/app/endpoints.cjs.map +1 -0
- package/dist/app/endpoints.es.js +61 -0
- package/dist/app/endpoints.es.js.map +1 -0
- package/dist/app/interface.cjs +53 -0
- package/dist/app/interface.cjs.map +1 -0
- package/dist/app/interface.es.js +51 -0
- package/dist/app/interface.es.js.map +1 -0
- package/dist/app/memory.cjs +29 -0
- package/dist/app/memory.cjs.map +1 -0
- package/dist/app/memory.es.js +26 -0
- package/dist/app/memory.es.js.map +1 -0
- package/dist/app/ocr.cjs +21 -0
- package/dist/app/ocr.cjs.map +1 -0
- package/dist/app/ocr.es.js +19 -0
- package/dist/app/ocr.es.js.map +1 -0
- package/dist/app/resolution.cjs +51 -0
- package/dist/app/resolution.cjs.map +1 -0
- package/dist/app/resolution.es.js +49 -0
- package/dist/app/resolution.es.js.map +1 -0
- package/dist/app/service.cjs +108 -0
- package/dist/app/service.cjs.map +1 -0
- package/dist/app/service.es.js +106 -0
- package/dist/app/service.es.js.map +1 -0
- package/dist/app/specs.cjs +71 -0
- package/dist/app/specs.cjs.map +1 -0
- package/dist/app/specs.es.js +69 -0
- package/dist/app/specs.es.js.map +1 -0
- package/dist/app/turnstile.cjs +40 -0
- package/dist/app/turnstile.cjs.map +1 -0
- package/dist/app/turnstile.es.js +38 -0
- package/dist/app/turnstile.es.js.map +1 -0
- package/dist/app/vertex.cjs +156 -0
- package/dist/app/vertex.cjs.map +1 -0
- package/dist/app/vertex.es.js +152 -0
- package/dist/app/vertex.es.js.map +1 -0
- package/dist/app/web.cjs +87 -0
- package/dist/app/web.cjs.map +1 -0
- package/dist/app/web.es.js +82 -0
- package/dist/app/web.es.js.map +1 -0
- package/dist/common/enum.cjs +19 -0
- package/dist/common/enum.cjs.map +1 -0
- package/dist/common/enum.es.js +19 -0
- package/dist/common/enum.es.js.map +1 -0
- package/dist/config/meiliLogger.cjs +57 -0
- package/dist/config/meiliLogger.cjs.map +1 -0
- package/dist/config/meiliLogger.es.js +55 -0
- package/dist/config/meiliLogger.es.js.map +1 -0
- package/dist/config/parsers.cjs +224 -0
- package/dist/config/parsers.cjs.map +1 -0
- package/dist/config/parsers.es.js +219 -0
- package/dist/config/parsers.es.js.map +1 -0
- package/dist/config/tenantContext.cjs +30 -0
- package/dist/config/tenantContext.cjs.map +1 -0
- package/dist/config/tenantContext.es.js +25 -0
- package/dist/config/tenantContext.es.js.map +1 -0
- package/dist/config/utils.cjs +37 -0
- package/dist/config/utils.cjs.map +1 -0
- package/dist/config/utils.es.js +35 -0
- package/dist/config/utils.es.js.map +1 -0
- package/dist/config/winston.cjs +93 -0
- package/dist/config/winston.cjs.map +1 -0
- package/dist/config/winston.es.js +91 -0
- package/dist/config/winston.es.js.map +1 -0
- package/dist/crypto/index.cjs +156 -0
- package/dist/crypto/index.cjs.map +1 -0
- package/dist/crypto/index.es.js +145 -0
- package/dist/crypto/index.es.js.map +1 -0
- package/dist/index.cjs +142 -11734
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +52 -11652
- package/dist/index.es.js.map +1 -1
- package/dist/methods/accessRole.cjs +210 -0
- package/dist/methods/accessRole.cjs.map +1 -0
- package/dist/methods/accessRole.es.js +208 -0
- package/dist/methods/accessRole.es.js.map +1 -0
- package/dist/methods/aclEntry.cjs +361 -0
- package/dist/methods/aclEntry.cjs.map +1 -0
- package/dist/methods/aclEntry.es.js +359 -0
- package/dist/methods/aclEntry.es.js.map +1 -0
- package/dist/methods/action.cjs +59 -0
- package/dist/methods/action.cjs.map +1 -0
- package/dist/methods/action.es.js +57 -0
- package/dist/methods/action.es.js.map +1 -0
- package/dist/methods/agent.cjs +580 -0
- package/dist/methods/agent.cjs.map +1 -0
- package/dist/methods/agent.es.js +578 -0
- package/dist/methods/agent.es.js.map +1 -0
- package/dist/methods/agentApiKey.cjs +140 -0
- package/dist/methods/agentApiKey.cjs.map +1 -0
- package/dist/methods/agentApiKey.es.js +138 -0
- package/dist/methods/agentApiKey.es.js.map +1 -0
- package/dist/methods/agentCategory.cjs +226 -0
- package/dist/methods/agentCategory.cjs.map +1 -0
- package/dist/methods/agentCategory.es.js +224 -0
- package/dist/methods/agentCategory.es.js.map +1 -0
- package/dist/methods/assistant.cjs +53 -0
- package/dist/methods/assistant.cjs.map +1 -0
- package/dist/methods/assistant.es.js +51 -0
- package/dist/methods/assistant.es.js.map +1 -0
- package/dist/methods/banner.cjs +32 -0
- package/dist/methods/banner.cjs.map +1 -0
- package/dist/methods/banner.es.js +30 -0
- package/dist/methods/banner.es.js.map +1 -0
- package/dist/methods/categories.cjs +33 -0
- package/dist/methods/categories.cjs.map +1 -0
- package/dist/methods/categories.es.js +31 -0
- package/dist/methods/categories.es.js.map +1 -0
- package/dist/methods/config.cjs +106 -0
- package/dist/methods/config.cjs.map +1 -0
- package/dist/methods/config.es.js +104 -0
- package/dist/methods/config.es.js.map +1 -0
- package/dist/methods/conversation.cjs +344 -0
- package/dist/methods/conversation.cjs.map +1 -0
- package/dist/methods/conversation.es.js +342 -0
- package/dist/methods/conversation.es.js.map +1 -0
- package/dist/methods/conversationTag.cjs +234 -0
- package/dist/methods/conversationTag.cjs.map +1 -0
- package/dist/methods/conversationTag.es.js +232 -0
- package/dist/methods/conversationTag.es.js.map +1 -0
- package/dist/methods/file.cjs +315 -0
- package/dist/methods/file.cjs.map +1 -0
- package/dist/methods/file.es.js +313 -0
- package/dist/methods/file.es.js.map +1 -0
- package/dist/methods/index.cjs +135 -0
- package/dist/methods/index.cjs.map +1 -0
- package/dist/methods/index.es.js +130 -0
- package/dist/methods/index.es.js.map +1 -0
- package/dist/methods/key.cjs +136 -0
- package/dist/methods/key.cjs.map +1 -0
- package/dist/methods/key.es.js +134 -0
- package/dist/methods/key.es.js.map +1 -0
- package/dist/methods/mcpServer.cjs +259 -0
- package/dist/methods/mcpServer.cjs.map +1 -0
- package/dist/methods/mcpServer.es.js +257 -0
- package/dist/methods/mcpServer.es.js.map +1 -0
- package/dist/methods/memory.cjs +145 -0
- package/dist/methods/memory.cjs.map +1 -0
- package/dist/methods/memory.es.js +143 -0
- package/dist/methods/memory.es.js.map +1 -0
- package/dist/methods/message.cjs +280 -0
- package/dist/methods/message.cjs.map +1 -0
- package/dist/methods/message.es.js +278 -0
- package/dist/methods/message.es.js.map +1 -0
- package/dist/methods/pluginAuth.cjs +108 -0
- package/dist/methods/pluginAuth.cjs.map +1 -0
- package/dist/methods/pluginAuth.es.js +106 -0
- package/dist/methods/pluginAuth.es.js.map +1 -0
- package/dist/methods/preset.cjs +105 -0
- package/dist/methods/preset.cjs.map +1 -0
- package/dist/methods/preset.es.js +103 -0
- package/dist/methods/preset.es.js.map +1 -0
- package/dist/methods/prompt.cjs +546 -0
- package/dist/methods/prompt.cjs.map +1 -0
- package/dist/methods/prompt.es.js +544 -0
- package/dist/methods/prompt.es.js.map +1 -0
- package/dist/methods/role.cjs +290 -0
- package/dist/methods/role.cjs.map +1 -0
- package/dist/methods/role.es.js +288 -0
- package/dist/methods/role.es.js.map +1 -0
- package/dist/methods/session.cjs +221 -0
- package/dist/methods/session.cjs.map +1 -0
- package/dist/methods/session.es.js +217 -0
- package/dist/methods/session.es.js.map +1 -0
- package/dist/methods/share.cjs +474 -0
- package/dist/methods/share.cjs.map +1 -0
- package/dist/methods/share.es.js +472 -0
- package/dist/methods/share.es.js.map +1 -0
- package/dist/methods/spendTokens.cjs +109 -0
- package/dist/methods/spendTokens.cjs.map +1 -0
- package/dist/methods/spendTokens.es.js +107 -0
- package/dist/methods/spendTokens.es.js.map +1 -0
- package/dist/methods/systemGrant.cjs +190 -0
- package/dist/methods/systemGrant.cjs.map +1 -0
- package/dist/methods/systemGrant.es.js +188 -0
- package/dist/methods/systemGrant.es.js.map +1 -0
- package/dist/methods/token.cjs +117 -0
- package/dist/methods/token.cjs.map +1 -0
- package/dist/methods/token.es.js +115 -0
- package/dist/methods/token.es.js.map +1 -0
- package/dist/methods/toolCall.cjs +91 -0
- package/dist/methods/toolCall.cjs.map +1 -0
- package/dist/methods/toolCall.es.js +89 -0
- package/dist/methods/toolCall.es.js.map +1 -0
- package/dist/methods/transaction.cjs +305 -0
- package/dist/methods/transaction.cjs.map +1 -0
- package/dist/methods/transaction.es.js +303 -0
- package/dist/methods/transaction.es.js.map +1 -0
- package/dist/methods/tx.cjs +443 -0
- package/dist/methods/tx.cjs.map +1 -0
- package/dist/methods/tx.es.js +437 -0
- package/dist/methods/tx.es.js.map +1 -0
- package/dist/methods/user.cjs +269 -0
- package/dist/methods/user.cjs.map +1 -0
- package/dist/methods/user.es.js +266 -0
- package/dist/methods/user.es.js.map +1 -0
- package/dist/methods/userGroup.cjs +518 -0
- package/dist/methods/userGroup.cjs.map +1 -0
- package/dist/methods/userGroup.es.js +516 -0
- package/dist/methods/userGroup.es.js.map +1 -0
- package/dist/migrations/tenantIndexes.cjs +85 -0
- package/dist/migrations/tenantIndexes.cjs.map +1 -0
- package/dist/migrations/tenantIndexes.es.js +82 -0
- package/dist/migrations/tenantIndexes.es.js.map +1 -0
- package/dist/models/accessRole.cjs +12 -0
- package/dist/models/accessRole.cjs.map +1 -0
- package/dist/models/accessRole.es.js +10 -0
- package/dist/models/accessRole.es.js.map +1 -0
- package/dist/models/aclEntry.cjs +12 -0
- package/dist/models/aclEntry.cjs.map +1 -0
- package/dist/models/aclEntry.es.js +10 -0
- package/dist/models/aclEntry.es.js.map +1 -0
- package/dist/models/action.cjs +12 -0
- package/dist/models/action.cjs.map +1 -0
- package/dist/models/action.es.js +10 -0
- package/dist/models/action.es.js.map +1 -0
- package/dist/models/agent.cjs +12 -0
- package/dist/models/agent.cjs.map +1 -0
- package/dist/models/agent.es.js +10 -0
- package/dist/models/agent.es.js.map +1 -0
- package/dist/models/agentApiKey.cjs +12 -0
- package/dist/models/agentApiKey.cjs.map +1 -0
- package/dist/models/agentApiKey.es.js +10 -0
- package/dist/models/agentApiKey.es.js.map +1 -0
- package/dist/models/agentCategory.cjs +13 -0
- package/dist/models/agentCategory.cjs.map +1 -0
- package/dist/models/agentCategory.es.js +11 -0
- package/dist/models/agentCategory.es.js.map +1 -0
- package/dist/models/assistant.cjs +12 -0
- package/dist/models/assistant.cjs.map +1 -0
- package/dist/models/assistant.es.js +10 -0
- package/dist/models/assistant.es.js.map +1 -0
- package/dist/models/balance.cjs +12 -0
- package/dist/models/balance.cjs.map +1 -0
- package/dist/models/balance.es.js +10 -0
- package/dist/models/balance.es.js.map +1 -0
- package/dist/models/banner.cjs +12 -0
- package/dist/models/banner.cjs.map +1 -0
- package/dist/models/banner.es.js +10 -0
- package/dist/models/banner.es.js.map +1 -0
- package/dist/models/config.cjs +12 -0
- package/dist/models/config.cjs.map +1 -0
- package/dist/models/config.es.js +10 -0
- package/dist/models/config.es.js.map +1 -0
- package/dist/models/conversationTag.cjs +13 -0
- package/dist/models/conversationTag.cjs.map +1 -0
- package/dist/models/conversationTag.es.js +11 -0
- package/dist/models/conversationTag.es.js.map +1 -0
- package/dist/models/convo.cjs +23 -0
- package/dist/models/convo.cjs.map +1 -0
- package/dist/models/convo.es.js +21 -0
- package/dist/models/convo.es.js.map +1 -0
- package/dist/models/file.cjs +12 -0
- package/dist/models/file.cjs.map +1 -0
- package/dist/models/file.es.js +10 -0
- package/dist/models/file.es.js.map +1 -0
- package/dist/models/group.cjs +12 -0
- package/dist/models/group.cjs.map +1 -0
- package/dist/models/group.es.js +10 -0
- package/dist/models/group.es.js.map +1 -0
- package/dist/models/index.cjs +73 -0
- package/dist/models/index.cjs.map +1 -0
- package/dist/models/index.es.js +71 -0
- package/dist/models/index.es.js.map +1 -0
- package/dist/models/key.cjs +12 -0
- package/dist/models/key.cjs.map +1 -0
- package/dist/models/key.es.js +10 -0
- package/dist/models/key.es.js.map +1 -0
- package/dist/models/mcpServer.cjs +12 -0
- package/dist/models/mcpServer.cjs.map +1 -0
- package/dist/models/mcpServer.es.js +10 -0
- package/dist/models/mcpServer.es.js.map +1 -0
- package/dist/models/memory.cjs +12 -0
- package/dist/models/memory.cjs.map +1 -0
- package/dist/models/memory.es.js +10 -0
- package/dist/models/memory.es.js.map +1 -0
- package/dist/models/message.cjs +22 -0
- package/dist/models/message.cjs.map +1 -0
- package/dist/models/message.es.js +20 -0
- package/dist/models/message.es.js.map +1 -0
- package/dist/models/pluginAuth.cjs +12 -0
- package/dist/models/pluginAuth.cjs.map +1 -0
- package/dist/models/pluginAuth.es.js +10 -0
- package/dist/models/pluginAuth.es.js.map +1 -0
- package/dist/models/plugins/mongoMeili.cjs +547 -0
- package/dist/models/plugins/mongoMeili.cjs.map +1 -0
- package/dist/models/plugins/mongoMeili.es.js +545 -0
- package/dist/models/plugins/mongoMeili.es.js.map +1 -0
- package/dist/models/plugins/tenantIsolation.cjs +140 -0
- package/dist/models/plugins/tenantIsolation.cjs.map +1 -0
- package/dist/models/plugins/tenantIsolation.es.js +138 -0
- package/dist/models/plugins/tenantIsolation.es.js.map +1 -0
- package/dist/models/preset.cjs +12 -0
- package/dist/models/preset.cjs.map +1 -0
- package/dist/models/preset.es.js +10 -0
- package/dist/models/preset.es.js.map +1 -0
- package/dist/models/prompt.cjs +12 -0
- package/dist/models/prompt.cjs.map +1 -0
- package/dist/models/prompt.es.js +10 -0
- package/dist/models/prompt.es.js.map +1 -0
- package/dist/models/promptGroup.cjs +13 -0
- package/dist/models/promptGroup.cjs.map +1 -0
- package/dist/models/promptGroup.es.js +11 -0
- package/dist/models/promptGroup.es.js.map +1 -0
- package/dist/models/role.cjs +12 -0
- package/dist/models/role.cjs.map +1 -0
- package/dist/models/role.es.js +10 -0
- package/dist/models/role.es.js.map +1 -0
- package/dist/models/session.cjs +12 -0
- package/dist/models/session.cjs.map +1 -0
- package/dist/models/session.es.js +10 -0
- package/dist/models/session.es.js.map +1 -0
- package/dist/models/sharedLink.cjs +12 -0
- package/dist/models/sharedLink.cjs.map +1 -0
- package/dist/models/sharedLink.es.js +10 -0
- package/dist/models/sharedLink.es.js.map +1 -0
- package/dist/models/systemGrant.cjs +16 -0
- package/dist/models/systemGrant.cjs.map +1 -0
- package/dist/models/systemGrant.es.js +14 -0
- package/dist/models/systemGrant.es.js.map +1 -0
- package/dist/models/token.cjs +12 -0
- package/dist/models/token.cjs.map +1 -0
- package/dist/models/token.es.js +10 -0
- package/dist/models/token.es.js.map +1 -0
- package/dist/models/toolCall.cjs +12 -0
- package/dist/models/toolCall.cjs.map +1 -0
- package/dist/models/toolCall.es.js +10 -0
- package/dist/models/toolCall.es.js.map +1 -0
- package/dist/models/transaction.cjs +12 -0
- package/dist/models/transaction.cjs.map +1 -0
- package/dist/models/transaction.es.js +10 -0
- package/dist/models/transaction.es.js.map +1 -0
- package/dist/models/user.cjs +12 -0
- package/dist/models/user.cjs.map +1 -0
- package/dist/models/user.es.js +10 -0
- package/dist/models/user.es.js.map +1 -0
- package/dist/schema/accessRole.cjs +34 -0
- package/dist/schema/accessRole.cjs.map +1 -0
- package/dist/schema/accessRole.es.js +32 -0
- package/dist/schema/accessRole.es.js.map +1 -0
- package/dist/schema/aclEntry.cjs +74 -0
- package/dist/schema/aclEntry.cjs.map +1 -0
- package/dist/schema/aclEntry.es.js +72 -0
- package/dist/schema/aclEntry.es.js.map +1 -0
- package/dist/schema/action.cjs +54 -0
- package/dist/schema/action.cjs.map +1 -0
- package/dist/schema/action.es.js +52 -0
- package/dist/schema/action.es.js.map +1 -0
- package/dist/schema/agent.cjs +128 -0
- package/dist/schema/agent.cjs.map +1 -0
- package/dist/schema/agent.es.js +126 -0
- package/dist/schema/agent.es.js.map +1 -0
- package/dist/schema/agentApiKey.cjs +50 -0
- package/dist/schema/agentApiKey.cjs.map +1 -0
- package/dist/schema/agentApiKey.es.js +48 -0
- package/dist/schema/agentApiKey.es.js.map +1 -0
- package/dist/schema/agentCategory.cjs +49 -0
- package/dist/schema/agentCategory.cjs.map +1 -0
- package/dist/schema/agentCategory.es.js +47 -0
- package/dist/schema/agentCategory.es.js.map +1 -0
- package/dist/schema/assistant.cjs +42 -0
- package/dist/schema/assistant.cjs.map +1 -0
- package/dist/schema/assistant.es.js +40 -0
- package/dist/schema/assistant.es.js.map +1 -0
- package/dist/schema/balance.cjs +47 -0
- package/dist/schema/balance.cjs.map +1 -0
- package/dist/schema/balance.es.js +45 -0
- package/dist/schema/balance.es.js.map +1 -0
- package/dist/schema/banner.cjs +42 -0
- package/dist/schema/banner.cjs.map +1 -0
- package/dist/schema/banner.es.js +40 -0
- package/dist/schema/banner.es.js.map +1 -0
- package/dist/schema/categories.cjs +23 -0
- package/dist/schema/categories.cjs.map +1 -0
- package/dist/schema/categories.es.js +21 -0
- package/dist/schema/categories.es.js.map +1 -0
- package/dist/schema/config.cjs +59 -0
- package/dist/schema/config.cjs.map +1 -0
- package/dist/schema/config.es.js +57 -0
- package/dist/schema/config.es.js.map +1 -0
- package/dist/schema/conversationTag.cjs +36 -0
- package/dist/schema/conversationTag.cjs.map +1 -0
- package/dist/schema/conversationTag.es.js +34 -0
- package/dist/schema/conversationTag.es.js.map +1 -0
- package/dist/schema/convo.cjs +52 -0
- package/dist/schema/convo.cjs.map +1 -0
- package/dist/schema/convo.es.js +50 -0
- package/dist/schema/convo.es.js.map +1 -0
- package/dist/schema/defaults.cjs +168 -0
- package/dist/schema/defaults.cjs.map +1 -0
- package/dist/schema/defaults.es.js +166 -0
- package/dist/schema/defaults.es.js.map +1 -0
- package/dist/schema/file.cjs +92 -0
- package/dist/schema/file.cjs.map +1 -0
- package/dist/schema/file.es.js +90 -0
- package/dist/schema/file.es.js.map +1 -0
- package/dist/schema/group.cjs +56 -0
- package/dist/schema/group.cjs.map +1 -0
- package/dist/schema/group.es.js +54 -0
- package/dist/schema/group.es.js.map +1 -0
- package/dist/schema/key.cjs +30 -0
- package/dist/schema/key.cjs.map +1 -0
- package/dist/schema/key.es.js +28 -0
- package/dist/schema/key.es.js.map +1 -0
- package/dist/schema/mcpServer.cjs +33 -0
- package/dist/schema/mcpServer.cjs.map +1 -0
- package/dist/schema/mcpServer.es.js +31 -0
- package/dist/schema/mcpServer.es.js.map +1 -0
- package/dist/schema/memory.cjs +39 -0
- package/dist/schema/memory.cjs.map +1 -0
- package/dist/schema/memory.es.js +37 -0
- package/dist/schema/memory.es.js.map +1 -0
- package/dist/schema/message.cjs +167 -0
- package/dist/schema/message.cjs.map +1 -0
- package/dist/schema/message.es.js +165 -0
- package/dist/schema/message.es.js.map +1 -0
- package/dist/schema/pluginAuth.cjs +28 -0
- package/dist/schema/pluginAuth.cjs.map +1 -0
- package/dist/schema/pluginAuth.es.js +26 -0
- package/dist/schema/pluginAuth.es.js.map +1 -0
- package/dist/schema/preset.cjs +36 -0
- package/dist/schema/preset.cjs.map +1 -0
- package/dist/schema/preset.es.js +34 -0
- package/dist/schema/preset.es.js.map +1 -0
- package/dist/schema/prompt.cjs +36 -0
- package/dist/schema/prompt.cjs.map +1 -0
- package/dist/schema/prompt.es.js +34 -0
- package/dist/schema/prompt.es.js.map +1 -0
- package/dist/schema/promptGroup.cjs +65 -0
- package/dist/schema/promptGroup.cjs.map +1 -0
- package/dist/schema/promptGroup.es.js +63 -0
- package/dist/schema/promptGroup.es.js.map +1 -0
- package/dist/schema/role.cjs +84 -0
- package/dist/schema/role.cjs.map +1 -0
- package/dist/schema/role.es.js +82 -0
- package/dist/schema/role.es.js.map +1 -0
- package/dist/schema/session.cjs +27 -0
- package/dist/schema/session.cjs.map +1 -0
- package/dist/schema/session.es.js +25 -0
- package/dist/schema/session.es.js.map +1 -0
- package/dist/schema/share.cjs +40 -0
- package/dist/schema/share.cjs.map +1 -0
- package/dist/schema/share.es.js +38 -0
- package/dist/schema/share.es.js.map +1 -0
- package/dist/schema/systemGrant.cjs +66 -0
- package/dist/schema/systemGrant.cjs.map +1 -0
- package/dist/schema/systemGrant.es.js +64 -0
- package/dist/schema/systemGrant.es.js.map +1 -0
- package/dist/schema/token.cjs +45 -0
- package/dist/schema/token.cjs.map +1 -0
- package/dist/schema/token.es.js +43 -0
- package/dist/schema/token.es.js.map +1 -0
- package/dist/schema/toolCall.cjs +44 -0
- package/dist/schema/toolCall.cjs.map +1 -0
- package/dist/schema/toolCall.es.js +42 -0
- package/dist/schema/toolCall.es.js.map +1 -0
- package/dist/schema/transaction.cjs +48 -0
- package/dist/schema/transaction.cjs.map +1 -0
- package/dist/schema/transaction.es.js +46 -0
- package/dist/schema/transaction.es.js.map +1 -0
- package/dist/schema/user.cjs +165 -0
- package/dist/schema/user.cjs.map +1 -0
- package/dist/schema/user.es.js +163 -0
- package/dist/schema/user.es.js.map +1 -0
- package/dist/types/methods/config.d.ts +1 -0
- package/dist/utils/object-traverse.cjs +158 -0
- package/dist/utils/object-traverse.cjs.map +1 -0
- package/dist/utils/object-traverse.es.js +156 -0
- package/dist/utils/object-traverse.es.js.map +1 -0
- package/dist/utils/principal.cjs +24 -0
- package/dist/utils/principal.cjs.map +1 -0
- package/dist/utils/principal.es.js +22 -0
- package/dist/utils/principal.es.js.map +1 -0
- package/dist/utils/string.cjs +11 -0
- package/dist/utils/string.cjs.map +1 -0
- package/dist/utils/string.es.js +9 -0
- package/dist/utils/string.es.js.map +1 -0
- package/dist/utils/tempChatRetention.cjs +70 -0
- package/dist/utils/tempChatRetention.cjs.map +1 -0
- package/dist/utils/tempChatRetention.es.js +64 -0
- package/dist/utils/tempChatRetention.es.js.map +1 -0
- package/dist/utils/transactions.cjs +60 -0
- package/dist/utils/transactions.cjs.map +1 -0
- package/dist/utils/transactions.es.js +56 -0
- package/dist/utils/transactions.es.js.map +1 -0
- package/package.json +7 -1
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tenantContext = require('../../config/tenantContext.cjs');
|
|
4
|
+
var winston = require('../../config/winston.cjs');
|
|
5
|
+
|
|
6
|
+
let _strictMode;
|
|
7
|
+
function isStrict() {
|
|
8
|
+
return (_strictMode !== null && _strictMode !== void 0 ? _strictMode : (_strictMode = process.env.TENANT_ISOLATION_STRICT === 'true'));
|
|
9
|
+
}
|
|
10
|
+
if (process.env.TENANT_ISOLATION_STRICT &&
|
|
11
|
+
process.env.TENANT_ISOLATION_STRICT !== 'true' &&
|
|
12
|
+
process.env.TENANT_ISOLATION_STRICT !== 'false') {
|
|
13
|
+
winston.warn(`[TenantIsolation] TENANT_ISOLATION_STRICT="${process.env.TENANT_ISOLATION_STRICT}" ` +
|
|
14
|
+
'is not "true" or "false"; defaulting to non-strict mode.');
|
|
15
|
+
}
|
|
16
|
+
const TENANT_ISOLATION_APPLIED = Symbol.for('librechat:tenantIsolation');
|
|
17
|
+
const MUTATION_OPERATORS = ['$set', '$unset', '$setOnInsert', '$rename'];
|
|
18
|
+
function assertNoTenantIdMutation(update) {
|
|
19
|
+
if (!update) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
for (const op of MUTATION_OPERATORS) {
|
|
23
|
+
const payload = update[op];
|
|
24
|
+
if (payload && 'tenantId' in payload) {
|
|
25
|
+
throw new Error('[TenantIsolation] Modifying tenantId via update operators is not allowed');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if ('tenantId' in update) {
|
|
29
|
+
throw new Error('[TenantIsolation] Modifying tenantId via update operators is not allowed');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Mongoose schema plugin that enforces tenant-level data isolation.
|
|
34
|
+
*
|
|
35
|
+
* - `tenantId` present in async context -> injected into every query filter.
|
|
36
|
+
* - `tenantId` is `SYSTEM_TENANT_ID` -> skips injection (explicit cross-tenant op).
|
|
37
|
+
* - `tenantId` absent + `TENANT_ISOLATION_STRICT=true` -> throws (fail-closed).
|
|
38
|
+
* - `tenantId` absent + strict mode off -> passes through (transitional/pre-tenancy).
|
|
39
|
+
* - Update and replace operations that modify `tenantId` are blocked unless running as system.
|
|
40
|
+
*/
|
|
41
|
+
function applyTenantIsolation(schema) {
|
|
42
|
+
const s = schema;
|
|
43
|
+
if (s[TENANT_ISOLATION_APPLIED]) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
s[TENANT_ISOLATION_APPLIED] = true;
|
|
47
|
+
const queryMiddleware = function () {
|
|
48
|
+
const tenantId = tenantContext.getTenantId();
|
|
49
|
+
if (!tenantId && isStrict()) {
|
|
50
|
+
throw new Error('[TenantIsolation] Query attempted without tenant context in strict mode');
|
|
51
|
+
}
|
|
52
|
+
if (!tenantId || tenantId === tenantContext.SYSTEM_TENANT_ID) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
this.where({ tenantId });
|
|
56
|
+
};
|
|
57
|
+
const updateGuard = function () {
|
|
58
|
+
const tenantId = tenantContext.getTenantId();
|
|
59
|
+
if (tenantId === tenantContext.SYSTEM_TENANT_ID) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
assertNoTenantIdMutation(this.getUpdate());
|
|
63
|
+
};
|
|
64
|
+
const replaceGuard = function () {
|
|
65
|
+
const tenantId = tenantContext.getTenantId();
|
|
66
|
+
if (tenantId === tenantContext.SYSTEM_TENANT_ID) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const replacement = this.getUpdate();
|
|
70
|
+
if (!replacement) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if ('tenantId' in replacement && replacement.tenantId !== tenantId) {
|
|
74
|
+
throw new Error('[TenantIsolation] Modifying tenantId via replacement is not allowed');
|
|
75
|
+
}
|
|
76
|
+
if (tenantId && !('tenantId' in replacement)) {
|
|
77
|
+
replacement.tenantId = tenantId;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
schema.pre('find', queryMiddleware);
|
|
81
|
+
schema.pre('findOne', queryMiddleware);
|
|
82
|
+
schema.pre('findOneAndUpdate', queryMiddleware);
|
|
83
|
+
schema.pre('findOneAndDelete', queryMiddleware);
|
|
84
|
+
schema.pre('findOneAndReplace', queryMiddleware);
|
|
85
|
+
schema.pre('updateOne', queryMiddleware);
|
|
86
|
+
schema.pre('updateMany', queryMiddleware);
|
|
87
|
+
schema.pre('deleteOne', queryMiddleware);
|
|
88
|
+
schema.pre('deleteMany', queryMiddleware);
|
|
89
|
+
schema.pre('countDocuments', queryMiddleware);
|
|
90
|
+
schema.pre('replaceOne', queryMiddleware);
|
|
91
|
+
schema.pre('findOneAndUpdate', updateGuard);
|
|
92
|
+
schema.pre('updateOne', updateGuard);
|
|
93
|
+
schema.pre('updateMany', updateGuard);
|
|
94
|
+
schema.pre('replaceOne', replaceGuard);
|
|
95
|
+
schema.pre('findOneAndReplace', replaceGuard);
|
|
96
|
+
schema.pre('aggregate', function () {
|
|
97
|
+
const tenantId = tenantContext.getTenantId();
|
|
98
|
+
if (!tenantId && isStrict()) {
|
|
99
|
+
throw new Error('[TenantIsolation] Aggregate attempted without tenant context in strict mode');
|
|
100
|
+
}
|
|
101
|
+
if (!tenantId || tenantId === tenantContext.SYSTEM_TENANT_ID) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
this.pipeline().unshift({ $match: { tenantId } });
|
|
105
|
+
});
|
|
106
|
+
schema.pre('save', function () {
|
|
107
|
+
const tenantId = tenantContext.getTenantId();
|
|
108
|
+
if (!tenantId && isStrict()) {
|
|
109
|
+
throw new Error('[TenantIsolation] Save attempted without tenant context in strict mode');
|
|
110
|
+
}
|
|
111
|
+
if (tenantId && tenantId !== tenantContext.SYSTEM_TENANT_ID) {
|
|
112
|
+
if (!this.tenantId) {
|
|
113
|
+
this.tenantId = tenantId;
|
|
114
|
+
}
|
|
115
|
+
else if (isStrict() && this.tenantId !== tenantId) {
|
|
116
|
+
throw new Error('[TenantIsolation] Document tenantId does not match current tenant context');
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
schema.pre('insertMany', function (next, docs) {
|
|
121
|
+
const tenantId = tenantContext.getTenantId();
|
|
122
|
+
if (!tenantId && isStrict()) {
|
|
123
|
+
return next(new Error('[TenantIsolation] insertMany attempted without tenant context in strict mode'));
|
|
124
|
+
}
|
|
125
|
+
if (tenantId && tenantId !== tenantContext.SYSTEM_TENANT_ID && Array.isArray(docs)) {
|
|
126
|
+
for (const doc of docs) {
|
|
127
|
+
if (!doc.tenantId) {
|
|
128
|
+
doc.tenantId = tenantId;
|
|
129
|
+
}
|
|
130
|
+
else if (isStrict() && doc.tenantId !== tenantId) {
|
|
131
|
+
return next(new Error('[TenantIsolation] Document tenantId does not match current tenant context'));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
next();
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
exports.applyTenantIsolation = applyTenantIsolation;
|
|
140
|
+
//# sourceMappingURL=tenantIsolation.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenantIsolation.cjs","sources":["../../../src/models/plugins/tenantIsolation.ts"],"sourcesContent":[null],"names":["logger","getTenantId","SYSTEM_TENANT_ID"],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { getTenantId, SYSTEM_TENANT_ID } from '../../config/tenantContext.es.js';
|
|
2
|
+
import logger from '../../config/winston.es.js';
|
|
3
|
+
|
|
4
|
+
let _strictMode;
|
|
5
|
+
function isStrict() {
|
|
6
|
+
return (_strictMode !== null && _strictMode !== void 0 ? _strictMode : (_strictMode = process.env.TENANT_ISOLATION_STRICT === 'true'));
|
|
7
|
+
}
|
|
8
|
+
if (process.env.TENANT_ISOLATION_STRICT &&
|
|
9
|
+
process.env.TENANT_ISOLATION_STRICT !== 'true' &&
|
|
10
|
+
process.env.TENANT_ISOLATION_STRICT !== 'false') {
|
|
11
|
+
logger.warn(`[TenantIsolation] TENANT_ISOLATION_STRICT="${process.env.TENANT_ISOLATION_STRICT}" ` +
|
|
12
|
+
'is not "true" or "false"; defaulting to non-strict mode.');
|
|
13
|
+
}
|
|
14
|
+
const TENANT_ISOLATION_APPLIED = Symbol.for('librechat:tenantIsolation');
|
|
15
|
+
const MUTATION_OPERATORS = ['$set', '$unset', '$setOnInsert', '$rename'];
|
|
16
|
+
function assertNoTenantIdMutation(update) {
|
|
17
|
+
if (!update) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
for (const op of MUTATION_OPERATORS) {
|
|
21
|
+
const payload = update[op];
|
|
22
|
+
if (payload && 'tenantId' in payload) {
|
|
23
|
+
throw new Error('[TenantIsolation] Modifying tenantId via update operators is not allowed');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if ('tenantId' in update) {
|
|
27
|
+
throw new Error('[TenantIsolation] Modifying tenantId via update operators is not allowed');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Mongoose schema plugin that enforces tenant-level data isolation.
|
|
32
|
+
*
|
|
33
|
+
* - `tenantId` present in async context -> injected into every query filter.
|
|
34
|
+
* - `tenantId` is `SYSTEM_TENANT_ID` -> skips injection (explicit cross-tenant op).
|
|
35
|
+
* - `tenantId` absent + `TENANT_ISOLATION_STRICT=true` -> throws (fail-closed).
|
|
36
|
+
* - `tenantId` absent + strict mode off -> passes through (transitional/pre-tenancy).
|
|
37
|
+
* - Update and replace operations that modify `tenantId` are blocked unless running as system.
|
|
38
|
+
*/
|
|
39
|
+
function applyTenantIsolation(schema) {
|
|
40
|
+
const s = schema;
|
|
41
|
+
if (s[TENANT_ISOLATION_APPLIED]) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
s[TENANT_ISOLATION_APPLIED] = true;
|
|
45
|
+
const queryMiddleware = function () {
|
|
46
|
+
const tenantId = getTenantId();
|
|
47
|
+
if (!tenantId && isStrict()) {
|
|
48
|
+
throw new Error('[TenantIsolation] Query attempted without tenant context in strict mode');
|
|
49
|
+
}
|
|
50
|
+
if (!tenantId || tenantId === SYSTEM_TENANT_ID) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.where({ tenantId });
|
|
54
|
+
};
|
|
55
|
+
const updateGuard = function () {
|
|
56
|
+
const tenantId = getTenantId();
|
|
57
|
+
if (tenantId === SYSTEM_TENANT_ID) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
assertNoTenantIdMutation(this.getUpdate());
|
|
61
|
+
};
|
|
62
|
+
const replaceGuard = function () {
|
|
63
|
+
const tenantId = getTenantId();
|
|
64
|
+
if (tenantId === SYSTEM_TENANT_ID) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const replacement = this.getUpdate();
|
|
68
|
+
if (!replacement) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if ('tenantId' in replacement && replacement.tenantId !== tenantId) {
|
|
72
|
+
throw new Error('[TenantIsolation] Modifying tenantId via replacement is not allowed');
|
|
73
|
+
}
|
|
74
|
+
if (tenantId && !('tenantId' in replacement)) {
|
|
75
|
+
replacement.tenantId = tenantId;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
schema.pre('find', queryMiddleware);
|
|
79
|
+
schema.pre('findOne', queryMiddleware);
|
|
80
|
+
schema.pre('findOneAndUpdate', queryMiddleware);
|
|
81
|
+
schema.pre('findOneAndDelete', queryMiddleware);
|
|
82
|
+
schema.pre('findOneAndReplace', queryMiddleware);
|
|
83
|
+
schema.pre('updateOne', queryMiddleware);
|
|
84
|
+
schema.pre('updateMany', queryMiddleware);
|
|
85
|
+
schema.pre('deleteOne', queryMiddleware);
|
|
86
|
+
schema.pre('deleteMany', queryMiddleware);
|
|
87
|
+
schema.pre('countDocuments', queryMiddleware);
|
|
88
|
+
schema.pre('replaceOne', queryMiddleware);
|
|
89
|
+
schema.pre('findOneAndUpdate', updateGuard);
|
|
90
|
+
schema.pre('updateOne', updateGuard);
|
|
91
|
+
schema.pre('updateMany', updateGuard);
|
|
92
|
+
schema.pre('replaceOne', replaceGuard);
|
|
93
|
+
schema.pre('findOneAndReplace', replaceGuard);
|
|
94
|
+
schema.pre('aggregate', function () {
|
|
95
|
+
const tenantId = getTenantId();
|
|
96
|
+
if (!tenantId && isStrict()) {
|
|
97
|
+
throw new Error('[TenantIsolation] Aggregate attempted without tenant context in strict mode');
|
|
98
|
+
}
|
|
99
|
+
if (!tenantId || tenantId === SYSTEM_TENANT_ID) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
this.pipeline().unshift({ $match: { tenantId } });
|
|
103
|
+
});
|
|
104
|
+
schema.pre('save', function () {
|
|
105
|
+
const tenantId = getTenantId();
|
|
106
|
+
if (!tenantId && isStrict()) {
|
|
107
|
+
throw new Error('[TenantIsolation] Save attempted without tenant context in strict mode');
|
|
108
|
+
}
|
|
109
|
+
if (tenantId && tenantId !== SYSTEM_TENANT_ID) {
|
|
110
|
+
if (!this.tenantId) {
|
|
111
|
+
this.tenantId = tenantId;
|
|
112
|
+
}
|
|
113
|
+
else if (isStrict() && this.tenantId !== tenantId) {
|
|
114
|
+
throw new Error('[TenantIsolation] Document tenantId does not match current tenant context');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
schema.pre('insertMany', function (next, docs) {
|
|
119
|
+
const tenantId = getTenantId();
|
|
120
|
+
if (!tenantId && isStrict()) {
|
|
121
|
+
return next(new Error('[TenantIsolation] insertMany attempted without tenant context in strict mode'));
|
|
122
|
+
}
|
|
123
|
+
if (tenantId && tenantId !== SYSTEM_TENANT_ID && Array.isArray(docs)) {
|
|
124
|
+
for (const doc of docs) {
|
|
125
|
+
if (!doc.tenantId) {
|
|
126
|
+
doc.tenantId = tenantId;
|
|
127
|
+
}
|
|
128
|
+
else if (isStrict() && doc.tenantId !== tenantId) {
|
|
129
|
+
return next(new Error('[TenantIsolation] Document tenantId does not match current tenant context'));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
next();
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export { applyTenantIsolation };
|
|
138
|
+
//# sourceMappingURL=tenantIsolation.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenantIsolation.es.js","sources":["../../../src/models/plugins/tenantIsolation.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var preset = require('../schema/preset.cjs');
|
|
4
|
+
var tenantIsolation = require('./plugins/tenantIsolation.cjs');
|
|
5
|
+
|
|
6
|
+
function createPresetModel(mongoose) {
|
|
7
|
+
tenantIsolation.applyTenantIsolation(preset);
|
|
8
|
+
return mongoose.models.Preset || mongoose.model('Preset', preset);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.createPresetModel = createPresetModel;
|
|
12
|
+
//# sourceMappingURL=preset.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preset.cjs","sources":["../../src/models/preset.ts"],"sourcesContent":[null],"names":["applyTenantIsolation","presetSchema"],"mappings":";;;;;AAGM,SAAU,iBAAiB,CAAC,QAAmC,EAAA;IACnEA,oCAAoB,CAACC,MAAY,CAAC;AAClC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAU,QAAQ,EAAEA,MAAY,CAAC;AAClF;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import presetSchema from '../schema/preset.es.js';
|
|
2
|
+
import { applyTenantIsolation } from './plugins/tenantIsolation.es.js';
|
|
3
|
+
|
|
4
|
+
function createPresetModel(mongoose) {
|
|
5
|
+
applyTenantIsolation(presetSchema);
|
|
6
|
+
return mongoose.models.Preset || mongoose.model('Preset', presetSchema);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { createPresetModel };
|
|
10
|
+
//# sourceMappingURL=preset.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preset.es.js","sources":["../../src/models/preset.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGM,SAAU,iBAAiB,CAAC,QAAmC,EAAA;IACnE,oBAAoB,CAAC,YAAY,CAAC;AAClC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAU,QAAQ,EAAE,YAAY,CAAC;AAClF;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var prompt = require('../schema/prompt.cjs');
|
|
4
|
+
var tenantIsolation = require('./plugins/tenantIsolation.cjs');
|
|
5
|
+
|
|
6
|
+
function createPromptModel(mongoose) {
|
|
7
|
+
tenantIsolation.applyTenantIsolation(prompt);
|
|
8
|
+
return mongoose.models.Prompt || mongoose.model('Prompt', prompt);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.createPromptModel = createPromptModel;
|
|
12
|
+
//# sourceMappingURL=prompt.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.cjs","sources":["../../src/models/prompt.ts"],"sourcesContent":[null],"names":["applyTenantIsolation","promptSchema"],"mappings":";;;;;AAIM,SAAU,iBAAiB,CAAC,QAAmC,EAAA;IACnEA,oCAAoB,CAACC,MAAY,CAAC;AAClC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAU,QAAQ,EAAEA,MAAY,CAAC;AAClF;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import promptSchema from '../schema/prompt.es.js';
|
|
2
|
+
import { applyTenantIsolation } from './plugins/tenantIsolation.es.js';
|
|
3
|
+
|
|
4
|
+
function createPromptModel(mongoose) {
|
|
5
|
+
applyTenantIsolation(promptSchema);
|
|
6
|
+
return mongoose.models.Prompt || mongoose.model('Prompt', promptSchema);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { createPromptModel };
|
|
10
|
+
//# sourceMappingURL=prompt.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.es.js","sources":["../../src/models/prompt.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIM,SAAU,iBAAiB,CAAC,QAAmC,EAAA;IACnE,oBAAoB,CAAC,YAAY,CAAC;AAClC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAU,QAAQ,EAAE,YAAY,CAAC;AAClF;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var promptGroup = require('../schema/promptGroup.cjs');
|
|
4
|
+
var tenantIsolation = require('./plugins/tenantIsolation.cjs');
|
|
5
|
+
|
|
6
|
+
function createPromptGroupModel(mongoose) {
|
|
7
|
+
tenantIsolation.applyTenantIsolation(promptGroup);
|
|
8
|
+
return (mongoose.models.PromptGroup ||
|
|
9
|
+
mongoose.model('PromptGroup', promptGroup));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.createPromptGroupModel = createPromptGroupModel;
|
|
13
|
+
//# sourceMappingURL=promptGroup.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptGroup.cjs","sources":["../../src/models/promptGroup.ts"],"sourcesContent":[null],"names":["applyTenantIsolation","promptGroupSchema"],"mappings":";;;;;AAIM,SAAU,sBAAsB,CAAC,QAAmC,EAAA;IACxEA,oCAAoB,CAACC,WAAiB,CAAC;AACvC,IAAA,QACE,QAAQ,CAAC,MAAM,CAAC,WAAW;QAC3B,QAAQ,CAAC,KAAK,CAAuB,aAAa,EAAEA,WAAiB,CAAC;AAE1E;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import promptGroupSchema from '../schema/promptGroup.es.js';
|
|
2
|
+
import { applyTenantIsolation } from './plugins/tenantIsolation.es.js';
|
|
3
|
+
|
|
4
|
+
function createPromptGroupModel(mongoose) {
|
|
5
|
+
applyTenantIsolation(promptGroupSchema);
|
|
6
|
+
return (mongoose.models.PromptGroup ||
|
|
7
|
+
mongoose.model('PromptGroup', promptGroupSchema));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { createPromptGroupModel };
|
|
11
|
+
//# sourceMappingURL=promptGroup.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptGroup.es.js","sources":["../../src/models/promptGroup.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIM,SAAU,sBAAsB,CAAC,QAAmC,EAAA;IACxE,oBAAoB,CAAC,iBAAiB,CAAC;AACvC,IAAA,QACE,QAAQ,CAAC,MAAM,CAAC,WAAW;QAC3B,QAAQ,CAAC,KAAK,CAAuB,aAAa,EAAE,iBAAiB,CAAC;AAE1E;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var role = require('../schema/role.cjs');
|
|
4
|
+
var tenantIsolation = require('./plugins/tenantIsolation.cjs');
|
|
5
|
+
|
|
6
|
+
function createRoleModel(mongoose) {
|
|
7
|
+
tenantIsolation.applyTenantIsolation(role);
|
|
8
|
+
return mongoose.models.Role || mongoose.model('Role', role);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.createRoleModel = createRoleModel;
|
|
12
|
+
//# sourceMappingURL=role.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.cjs","sources":["../../src/models/role.ts"],"sourcesContent":[null],"names":["applyTenantIsolation","roleSchema"],"mappings":";;;;;AAIM,SAAU,eAAe,CAAC,QAAmC,EAAA;IACjEA,oCAAoB,CAACC,IAAU,CAAC;AAChC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAQ,MAAM,EAAEA,IAAU,CAAC;AAC1E;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import roleSchema from '../schema/role.es.js';
|
|
2
|
+
import { applyTenantIsolation } from './plugins/tenantIsolation.es.js';
|
|
3
|
+
|
|
4
|
+
function createRoleModel(mongoose) {
|
|
5
|
+
applyTenantIsolation(roleSchema);
|
|
6
|
+
return mongoose.models.Role || mongoose.model('Role', roleSchema);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { createRoleModel };
|
|
10
|
+
//# sourceMappingURL=role.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.es.js","sources":["../../src/models/role.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIM,SAAU,eAAe,CAAC,QAAmC,EAAA;IACjE,oBAAoB,CAAC,UAAU,CAAC;AAChC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAQ,MAAM,EAAE,UAAU,CAAC;AAC1E;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var session = require('../schema/session.cjs');
|
|
4
|
+
var tenantIsolation = require('./plugins/tenantIsolation.cjs');
|
|
5
|
+
|
|
6
|
+
function createSessionModel(mongoose) {
|
|
7
|
+
tenantIsolation.applyTenantIsolation(session);
|
|
8
|
+
return mongoose.models.Session || mongoose.model('Session', session);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.createSessionModel = createSessionModel;
|
|
12
|
+
//# sourceMappingURL=session.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.cjs","sources":["../../src/models/session.ts"],"sourcesContent":[null],"names":["applyTenantIsolation","sessionSchema"],"mappings":";;;;;AAIM,SAAU,kBAAkB,CAAC,QAAmC,EAAA;IACpEA,oCAAoB,CAACC,OAAa,CAAC;AACnC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAa,SAAS,EAAEA,OAAa,CAAC;AACxF;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import sessionSchema from '../schema/session.es.js';
|
|
2
|
+
import { applyTenantIsolation } from './plugins/tenantIsolation.es.js';
|
|
3
|
+
|
|
4
|
+
function createSessionModel(mongoose) {
|
|
5
|
+
applyTenantIsolation(sessionSchema);
|
|
6
|
+
return mongoose.models.Session || mongoose.model('Session', sessionSchema);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { createSessionModel };
|
|
10
|
+
//# sourceMappingURL=session.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.es.js","sources":["../../src/models/session.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIM,SAAU,kBAAkB,CAAC,QAAmC,EAAA;IACpE,oBAAoB,CAAC,aAAa,CAAC;AACnC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAa,SAAS,EAAE,aAAa,CAAC;AACxF;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var share = require('../schema/share.cjs');
|
|
4
|
+
var tenantIsolation = require('./plugins/tenantIsolation.cjs');
|
|
5
|
+
|
|
6
|
+
function createSharedLinkModel(mongoose) {
|
|
7
|
+
tenantIsolation.applyTenantIsolation(share);
|
|
8
|
+
return mongoose.models.SharedLink || mongoose.model('SharedLink', share);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.createSharedLinkModel = createSharedLinkModel;
|
|
12
|
+
//# sourceMappingURL=sharedLink.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedLink.cjs","sources":["../../src/models/sharedLink.ts"],"sourcesContent":[null],"names":["applyTenantIsolation","shareSchema"],"mappings":";;;;;AAGM,SAAU,qBAAqB,CAAC,QAAmC,EAAA;IACvEA,oCAAoB,CAACC,KAAW,CAAC;AACjC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,CAAc,YAAY,EAAEA,KAAW,CAAC;AAC7F;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import shareSchema from '../schema/share.es.js';
|
|
2
|
+
import { applyTenantIsolation } from './plugins/tenantIsolation.es.js';
|
|
3
|
+
|
|
4
|
+
function createSharedLinkModel(mongoose) {
|
|
5
|
+
applyTenantIsolation(shareSchema);
|
|
6
|
+
return mongoose.models.SharedLink || mongoose.model('SharedLink', shareSchema);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { createSharedLinkModel };
|
|
10
|
+
//# sourceMappingURL=sharedLink.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedLink.es.js","sources":["../../src/models/sharedLink.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGM,SAAU,qBAAqB,CAAC,QAAmC,EAAA;IACvE,oBAAoB,CAAC,WAAW,CAAC;AACjC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,CAAc,YAAY,EAAE,WAAW,CAAC;AAC7F;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var systemGrant = require('../schema/systemGrant.cjs');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* SystemGrant is a cross-tenant control plane — its query logic in systemGrant methods
|
|
7
|
+
* explicitly handles tenantId conditions (platform-level vs tenant-scoped grants).
|
|
8
|
+
* Do NOT apply tenant isolation plugin here; it would inject a hard tenantId equality
|
|
9
|
+
* filter that conflicts with the $and/$or logic in hasCapabilityForPrincipals.
|
|
10
|
+
*/
|
|
11
|
+
function createSystemGrantModel(mongoose) {
|
|
12
|
+
return (mongoose.models.SystemGrant || mongoose.model('SystemGrant', systemGrant));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
exports.createSystemGrantModel = createSystemGrantModel;
|
|
16
|
+
//# sourceMappingURL=systemGrant.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemGrant.cjs","sources":["../../src/models/systemGrant.ts"],"sourcesContent":[null],"names":["systemGrantSchema"],"mappings":";;;;AAGA;;;;;AAKG;AACG,SAAU,sBAAsB,CAAC,QAAmC,EAAA;AACxE,IAAA,QACE,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAiB,aAAa,EAAEA,WAAiB,CAAC;AAEnG;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import systemGrantSchema from '../schema/systemGrant.es.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* SystemGrant is a cross-tenant control plane — its query logic in systemGrant methods
|
|
5
|
+
* explicitly handles tenantId conditions (platform-level vs tenant-scoped grants).
|
|
6
|
+
* Do NOT apply tenant isolation plugin here; it would inject a hard tenantId equality
|
|
7
|
+
* filter that conflicts with the $and/$or logic in hasCapabilityForPrincipals.
|
|
8
|
+
*/
|
|
9
|
+
function createSystemGrantModel(mongoose) {
|
|
10
|
+
return (mongoose.models.SystemGrant || mongoose.model('SystemGrant', systemGrantSchema));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { createSystemGrantModel };
|
|
14
|
+
//# sourceMappingURL=systemGrant.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemGrant.es.js","sources":["../../src/models/systemGrant.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;;;;AAKG;AACG,SAAU,sBAAsB,CAAC,QAAmC,EAAA;AACxE,IAAA,QACE,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAiB,aAAa,EAAE,iBAAiB,CAAC;AAEnG;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var token = require('../schema/token.cjs');
|
|
4
|
+
var tenantIsolation = require('./plugins/tenantIsolation.cjs');
|
|
5
|
+
|
|
6
|
+
function createTokenModel(mongoose) {
|
|
7
|
+
tenantIsolation.applyTenantIsolation(token);
|
|
8
|
+
return mongoose.models.Token || mongoose.model('Token', token);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.createTokenModel = createTokenModel;
|
|
12
|
+
//# sourceMappingURL=token.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.cjs","sources":["../../src/models/token.ts"],"sourcesContent":[null],"names":["applyTenantIsolation","tokenSchema"],"mappings":";;;;;AAIM,SAAU,gBAAgB,CAAC,QAAmC,EAAA;IAClEA,oCAAoB,CAACC,KAAW,CAAC;AACjC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAW,OAAO,EAAEA,KAAW,CAAC;AAChF;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import tokenSchema from '../schema/token.es.js';
|
|
2
|
+
import { applyTenantIsolation } from './plugins/tenantIsolation.es.js';
|
|
3
|
+
|
|
4
|
+
function createTokenModel(mongoose) {
|
|
5
|
+
applyTenantIsolation(tokenSchema);
|
|
6
|
+
return mongoose.models.Token || mongoose.model('Token', tokenSchema);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { createTokenModel };
|
|
10
|
+
//# sourceMappingURL=token.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.es.js","sources":["../../src/models/token.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIM,SAAU,gBAAgB,CAAC,QAAmC,EAAA;IAClE,oBAAoB,CAAC,WAAW,CAAC;AACjC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAW,OAAO,EAAE,WAAW,CAAC;AAChF;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var toolCall = require('../schema/toolCall.cjs');
|
|
4
|
+
var tenantIsolation = require('./plugins/tenantIsolation.cjs');
|
|
5
|
+
|
|
6
|
+
function createToolCallModel(mongoose) {
|
|
7
|
+
tenantIsolation.applyTenantIsolation(toolCall);
|
|
8
|
+
return mongoose.models.ToolCall || mongoose.model('ToolCall', toolCall);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.createToolCallModel = createToolCallModel;
|
|
12
|
+
//# sourceMappingURL=toolCall.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolCall.cjs","sources":["../../src/models/toolCall.ts"],"sourcesContent":[null],"names":["applyTenantIsolation","toolCallSchema"],"mappings":";;;;;AAGM,SAAU,mBAAmB,CAAC,QAAmC,EAAA;IACrEA,oCAAoB,CAACC,QAAc,CAAC;AACpC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAgB,UAAU,EAAEA,QAAc,CAAC;AAC9F;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import toolCallSchema from '../schema/toolCall.es.js';
|
|
2
|
+
import { applyTenantIsolation } from './plugins/tenantIsolation.es.js';
|
|
3
|
+
|
|
4
|
+
function createToolCallModel(mongoose) {
|
|
5
|
+
applyTenantIsolation(toolCallSchema);
|
|
6
|
+
return mongoose.models.ToolCall || mongoose.model('ToolCall', toolCallSchema);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { createToolCallModel };
|
|
10
|
+
//# sourceMappingURL=toolCall.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolCall.es.js","sources":["../../src/models/toolCall.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGM,SAAU,mBAAmB,CAAC,QAAmC,EAAA;IACrE,oBAAoB,CAAC,cAAc,CAAC;AACpC,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAgB,UAAU,EAAE,cAAc,CAAC;AAC9F;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var transaction = require('../schema/transaction.cjs');
|
|
4
|
+
var tenantIsolation = require('./plugins/tenantIsolation.cjs');
|
|
5
|
+
|
|
6
|
+
function createTransactionModel(mongoose) {
|
|
7
|
+
tenantIsolation.applyTenantIsolation(transaction);
|
|
8
|
+
return (mongoose.models.Transaction || mongoose.model('Transaction', transaction));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.createTransactionModel = createTransactionModel;
|
|
12
|
+
//# sourceMappingURL=transaction.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.cjs","sources":["../../src/models/transaction.ts"],"sourcesContent":[null],"names":["applyTenantIsolation","transactionSchema"],"mappings":";;;;;AAGM,SAAU,sBAAsB,CAAC,QAAmC,EAAA;IACxEA,oCAAoB,CAACC,WAAiB,CAAC;AACvC,IAAA,QACE,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAe,aAAa,EAAEA,WAAiB,CAAC;AAEjG;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import transactionSchema from '../schema/transaction.es.js';
|
|
2
|
+
import { applyTenantIsolation } from './plugins/tenantIsolation.es.js';
|
|
3
|
+
|
|
4
|
+
function createTransactionModel(mongoose) {
|
|
5
|
+
applyTenantIsolation(transactionSchema);
|
|
6
|
+
return (mongoose.models.Transaction || mongoose.model('Transaction', transactionSchema));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { createTransactionModel };
|
|
10
|
+
//# sourceMappingURL=transaction.es.js.map
|