@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,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ESM-native object traversal utility
|
|
3
|
+
* Simplified implementation focused on the forEach use case
|
|
4
|
+
*/
|
|
5
|
+
function isObject(value) {
|
|
6
|
+
if (value === null || typeof value !== 'object') {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
// Treat these built-in types as leaf nodes, not objects to traverse
|
|
10
|
+
if (value instanceof Date)
|
|
11
|
+
return false;
|
|
12
|
+
if (value instanceof RegExp)
|
|
13
|
+
return false;
|
|
14
|
+
if (value instanceof Error)
|
|
15
|
+
return false;
|
|
16
|
+
if (value instanceof URL)
|
|
17
|
+
return false;
|
|
18
|
+
// Check for Buffer (Node.js)
|
|
19
|
+
if (typeof Buffer !== 'undefined' && Buffer.isBuffer(value))
|
|
20
|
+
return false;
|
|
21
|
+
// Check for TypedArrays and ArrayBuffer
|
|
22
|
+
if (ArrayBuffer.isView(value))
|
|
23
|
+
return false;
|
|
24
|
+
if (value instanceof ArrayBuffer)
|
|
25
|
+
return false;
|
|
26
|
+
if (value instanceof SharedArrayBuffer)
|
|
27
|
+
return false;
|
|
28
|
+
// Check for other built-in types that shouldn't be traversed
|
|
29
|
+
if (value instanceof Promise)
|
|
30
|
+
return false;
|
|
31
|
+
if (value instanceof WeakMap)
|
|
32
|
+
return false;
|
|
33
|
+
if (value instanceof WeakSet)
|
|
34
|
+
return false;
|
|
35
|
+
if (value instanceof Map)
|
|
36
|
+
return false;
|
|
37
|
+
if (value instanceof Set)
|
|
38
|
+
return false;
|
|
39
|
+
// Check if it's a primitive wrapper object
|
|
40
|
+
const stringTag = Object.prototype.toString.call(value);
|
|
41
|
+
if (stringTag === '[object Boolean]' ||
|
|
42
|
+
stringTag === '[object Number]' ||
|
|
43
|
+
stringTag === '[object String]') {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
// Helper to safely set a property on an object or array
|
|
49
|
+
function setProperty(obj, key, value) {
|
|
50
|
+
if (Array.isArray(obj) && typeof key === 'number') {
|
|
51
|
+
obj[key] = value;
|
|
52
|
+
}
|
|
53
|
+
else if (!Array.isArray(obj) && typeof key === 'string') {
|
|
54
|
+
obj[key] = value;
|
|
55
|
+
}
|
|
56
|
+
else if (!Array.isArray(obj) && typeof key === 'number') {
|
|
57
|
+
// Handle numeric keys on objects
|
|
58
|
+
obj[key] = value;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Helper to safely delete a property from an object
|
|
62
|
+
function deleteProperty(obj, key) {
|
|
63
|
+
if (Array.isArray(obj) && typeof key === 'number') {
|
|
64
|
+
// For arrays, we should use splice, but this is handled in remove()
|
|
65
|
+
// This function is only called for non-array deletion
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (!Array.isArray(obj)) {
|
|
69
|
+
delete obj[key];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function forEach(obj, callback) {
|
|
73
|
+
const visited = new WeakSet();
|
|
74
|
+
function walk(node, path = [], parent) {
|
|
75
|
+
// Check for circular references
|
|
76
|
+
let circular = null;
|
|
77
|
+
if (isObject(node)) {
|
|
78
|
+
if (visited.has(node)) {
|
|
79
|
+
// Find the circular reference in the parent chain
|
|
80
|
+
let p = parent;
|
|
81
|
+
while (p) {
|
|
82
|
+
if (p.node === node) {
|
|
83
|
+
circular = p;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
p = p.parent;
|
|
87
|
+
}
|
|
88
|
+
return; // Skip circular references
|
|
89
|
+
}
|
|
90
|
+
visited.add(node);
|
|
91
|
+
}
|
|
92
|
+
const key = path.length > 0 ? path[path.length - 1] : undefined;
|
|
93
|
+
const isRoot = path.length === 0;
|
|
94
|
+
const level = path.length;
|
|
95
|
+
// Determine if this is a leaf node
|
|
96
|
+
const isLeaf = !isObject(node) ||
|
|
97
|
+
(Array.isArray(node) && node.length === 0) ||
|
|
98
|
+
Object.keys(node).length === 0;
|
|
99
|
+
// Create context
|
|
100
|
+
const context = {
|
|
101
|
+
node,
|
|
102
|
+
path: [...path],
|
|
103
|
+
parent,
|
|
104
|
+
key,
|
|
105
|
+
isLeaf,
|
|
106
|
+
notLeaf: !isLeaf,
|
|
107
|
+
isRoot,
|
|
108
|
+
notRoot: !isRoot,
|
|
109
|
+
level,
|
|
110
|
+
circular,
|
|
111
|
+
update(value) {
|
|
112
|
+
if (!isRoot && parent && key !== undefined && isObject(parent.node)) {
|
|
113
|
+
setProperty(parent.node, key, value);
|
|
114
|
+
}
|
|
115
|
+
this.node = value;
|
|
116
|
+
},
|
|
117
|
+
remove() {
|
|
118
|
+
if (!isRoot && parent && key !== undefined && isObject(parent.node)) {
|
|
119
|
+
if (Array.isArray(parent.node) && typeof key === 'number') {
|
|
120
|
+
parent.node.splice(key, 1);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
deleteProperty(parent.node, key);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
// Call the callback with the context
|
|
129
|
+
callback.call(context, node);
|
|
130
|
+
// Traverse children if not circular and is an object
|
|
131
|
+
if (!circular && isObject(node) && !isLeaf) {
|
|
132
|
+
if (Array.isArray(node)) {
|
|
133
|
+
for (let i = 0; i < node.length; i++) {
|
|
134
|
+
walk(node[i], [...path, i], context);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
for (const [childKey, childValue] of Object.entries(node)) {
|
|
139
|
+
walk(childValue, [...path, childKey], context);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
walk(obj);
|
|
145
|
+
}
|
|
146
|
+
// Main traverse function that returns an object with forEach method
|
|
147
|
+
function traverse(obj) {
|
|
148
|
+
return {
|
|
149
|
+
forEach(callback) {
|
|
150
|
+
forEach(obj, callback);
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export { traverse as default };
|
|
156
|
+
//# sourceMappingURL=object-traverse.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-traverse.es.js","sources":["../../src/utils/object-traverse.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var mongoose = require('mongoose');
|
|
4
|
+
var librechatDataProvider = require('librechat-data-provider');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Normalizes a principalId to the correct type for MongoDB queries and storage.
|
|
8
|
+
* USER and GROUP principals are stored as ObjectIds; ROLE principals are strings.
|
|
9
|
+
* Ensures a string caller ID is cast to ObjectId so it matches documents written
|
|
10
|
+
* by `grantCapability` — which always stores user/group IDs as ObjectIds to match
|
|
11
|
+
* what `getUserPrincipals` returns.
|
|
12
|
+
*/
|
|
13
|
+
const normalizePrincipalId = (principalId, principalType) => {
|
|
14
|
+
if (typeof principalId === 'string' && principalType !== librechatDataProvider.PrincipalType.ROLE) {
|
|
15
|
+
if (!mongoose.Types.ObjectId.isValid(principalId)) {
|
|
16
|
+
throw new TypeError(`Invalid ObjectId string for ${principalType}: "${principalId}"`);
|
|
17
|
+
}
|
|
18
|
+
return new mongoose.Types.ObjectId(principalId);
|
|
19
|
+
}
|
|
20
|
+
return principalId;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.normalizePrincipalId = normalizePrincipalId;
|
|
24
|
+
//# sourceMappingURL=principal.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"principal.cjs","sources":["../../src/utils/principal.ts"],"sourcesContent":[null],"names":["PrincipalType","Types"],"mappings":";;;;;AAGA;;;;;;AAMG;MACU,oBAAoB,GAAG,CAClC,WAAoC,EACpC,aAA4B,KACD;IAC3B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,aAAa,KAAKA,mCAAa,CAAC,IAAI,EAAE;QAC3E,IAAI,CAACC,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACxC,MAAM,IAAI,SAAS,CAAC,CAAA,4BAAA,EAA+B,aAAa,CAAA,GAAA,EAAM,WAAW,CAAA,CAAA,CAAG,CAAC;QACvF;AACA,QAAA,OAAO,IAAIA,cAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;IACxC;AACA,IAAA,OAAO,WAAW;AACpB;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Types } from 'mongoose';
|
|
2
|
+
import { PrincipalType } from 'librechat-data-provider';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Normalizes a principalId to the correct type for MongoDB queries and storage.
|
|
6
|
+
* USER and GROUP principals are stored as ObjectIds; ROLE principals are strings.
|
|
7
|
+
* Ensures a string caller ID is cast to ObjectId so it matches documents written
|
|
8
|
+
* by `grantCapability` — which always stores user/group IDs as ObjectIds to match
|
|
9
|
+
* what `getUserPrincipals` returns.
|
|
10
|
+
*/
|
|
11
|
+
const normalizePrincipalId = (principalId, principalType) => {
|
|
12
|
+
if (typeof principalId === 'string' && principalType !== PrincipalType.ROLE) {
|
|
13
|
+
if (!Types.ObjectId.isValid(principalId)) {
|
|
14
|
+
throw new TypeError(`Invalid ObjectId string for ${principalType}: "${principalId}"`);
|
|
15
|
+
}
|
|
16
|
+
return new Types.ObjectId(principalId);
|
|
17
|
+
}
|
|
18
|
+
return principalId;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { normalizePrincipalId };
|
|
22
|
+
//# sourceMappingURL=principal.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"principal.es.js","sources":["../../src/utils/principal.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGA;;;;;;AAMG;MACU,oBAAoB,GAAG,CAClC,WAAoC,EACpC,aAA4B,KACD;IAC3B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,aAAa,KAAK,aAAa,CAAC,IAAI,EAAE;QAC3E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACxC,MAAM,IAAI,SAAS,CAAC,CAAA,4BAAA,EAA+B,aAAa,CAAA,GAAA,EAAM,WAAW,CAAA,CAAA,CAAG,CAAC;QACvF;AACA,QAAA,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;IACxC;AACA,IAAA,OAAO,WAAW;AACpB;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.cjs","sources":["../../src/utils/string.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;AAEG;AACG,SAAU,YAAY,CAAC,GAAW,EAAA;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACnD;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.es.js","sources":["../../src/utils/string.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;AAEG;AACG,SAAU,YAAY,CAAC,GAAW,EAAA;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACnD;;;;"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var winston = require('../config/winston.cjs');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Default retention period for temporary chats in hours
|
|
7
|
+
*/
|
|
8
|
+
const DEFAULT_RETENTION_HOURS = 24 * 30; // 30 days
|
|
9
|
+
/**
|
|
10
|
+
* Minimum allowed retention period in hours
|
|
11
|
+
*/
|
|
12
|
+
const MIN_RETENTION_HOURS = 1;
|
|
13
|
+
/**
|
|
14
|
+
* Maximum allowed retention period in hours (1 year = 8760 hours)
|
|
15
|
+
*/
|
|
16
|
+
const MAX_RETENTION_HOURS = 8760;
|
|
17
|
+
/**
|
|
18
|
+
* Gets the temporary chat retention period from environment variables or config
|
|
19
|
+
* @param interfaceConfig - The custom configuration object
|
|
20
|
+
* @returns The retention period in hours
|
|
21
|
+
*/
|
|
22
|
+
function getTempChatRetentionHours(interfaceConfig) {
|
|
23
|
+
let retentionHours = DEFAULT_RETENTION_HOURS;
|
|
24
|
+
// Check environment variable first
|
|
25
|
+
if (process.env.TEMP_CHAT_RETENTION_HOURS) {
|
|
26
|
+
const envValue = parseInt(process.env.TEMP_CHAT_RETENTION_HOURS, 10);
|
|
27
|
+
if (!isNaN(envValue)) {
|
|
28
|
+
retentionHours = envValue;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
winston.warn(`Invalid TEMP_CHAT_RETENTION_HOURS environment variable: ${process.env.TEMP_CHAT_RETENTION_HOURS}. Using default: ${DEFAULT_RETENTION_HOURS} hours.`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Check config file (takes precedence over environment variable)
|
|
35
|
+
if ((interfaceConfig === null || interfaceConfig === void 0 ? void 0 : interfaceConfig.temporaryChatRetention) !== undefined) {
|
|
36
|
+
const configValue = interfaceConfig.temporaryChatRetention;
|
|
37
|
+
if (typeof configValue === 'number' && !isNaN(configValue)) {
|
|
38
|
+
retentionHours = configValue;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
winston.warn(`Invalid temporaryChatRetention in config: ${configValue}. Using ${retentionHours} hours.`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Validate the retention period
|
|
45
|
+
if (retentionHours < MIN_RETENTION_HOURS) {
|
|
46
|
+
winston.warn(`Temporary chat retention period ${retentionHours} is below minimum ${MIN_RETENTION_HOURS} hours. Using minimum value.`);
|
|
47
|
+
retentionHours = MIN_RETENTION_HOURS;
|
|
48
|
+
}
|
|
49
|
+
else if (retentionHours > MAX_RETENTION_HOURS) {
|
|
50
|
+
winston.warn(`Temporary chat retention period ${retentionHours} exceeds maximum ${MAX_RETENTION_HOURS} hours. Using maximum value.`);
|
|
51
|
+
retentionHours = MAX_RETENTION_HOURS;
|
|
52
|
+
}
|
|
53
|
+
return retentionHours;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Creates an expiration date for temporary chats
|
|
57
|
+
* @param interfaceConfig - The custom configuration object
|
|
58
|
+
* @returns The expiration date
|
|
59
|
+
*/
|
|
60
|
+
function createTempChatExpirationDate(interfaceConfig) {
|
|
61
|
+
const retentionHours = getTempChatRetentionHours(interfaceConfig);
|
|
62
|
+
return new Date(Date.now() + retentionHours * 60 * 60 * 1000);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
exports.DEFAULT_RETENTION_HOURS = DEFAULT_RETENTION_HOURS;
|
|
66
|
+
exports.MAX_RETENTION_HOURS = MAX_RETENTION_HOURS;
|
|
67
|
+
exports.MIN_RETENTION_HOURS = MIN_RETENTION_HOURS;
|
|
68
|
+
exports.createTempChatExpirationDate = createTempChatExpirationDate;
|
|
69
|
+
exports.getTempChatRetentionHours = getTempChatRetentionHours;
|
|
70
|
+
//# sourceMappingURL=tempChatRetention.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tempChatRetention.cjs","sources":["../../src/utils/tempChatRetention.ts"],"sourcesContent":[null],"names":["logger"],"mappings":";;;;AAGA;;AAEG;MACU,uBAAuB,GAAG,EAAE,GAAG,GAAG;AAE/C;;AAEG;AACI,MAAM,mBAAmB,GAAG;AAEnC;;AAEG;AACI,MAAM,mBAAmB,GAAG;AAEnC;;;;AAIG;AACG,SAAU,yBAAyB,CACvC,eAAqD,EAAA;IAErD,IAAI,cAAc,GAAG,uBAAuB;;AAG5C,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE;AACzC,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,CAAC;AACpE,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACpB,cAAc,GAAG,QAAQ;QAC3B;aAAO;AACL,YAAAA,OAAM,CAAC,IAAI,CACT,CAAA,wDAAA,EAA2D,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAA,iBAAA,EAAoB,uBAAuB,CAAA,OAAA,CAAS,CACrJ;QACH;IACF;;IAGA,IAAI,CAAA,eAAe,KAAA,IAAA,IAAf,eAAe,KAAA,MAAA,GAAA,MAAA,GAAf,eAAe,CAAE,sBAAsB,MAAK,SAAS,EAAE;AACzD,QAAA,MAAM,WAAW,GAAG,eAAe,CAAC,sBAAsB;QAC1D,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAC1D,cAAc,GAAG,WAAW;QAC9B;aAAO;YACLA,OAAM,CAAC,IAAI,CACT,CAAA,0CAAA,EAA6C,WAAW,CAAA,QAAA,EAAW,cAAc,CAAA,OAAA,CAAS,CAC3F;QACH;IACF;;AAGA,IAAA,IAAI,cAAc,GAAG,mBAAmB,EAAE;QACxCA,OAAM,CAAC,IAAI,CACT,CAAA,gCAAA,EAAmC,cAAc,CAAA,kBAAA,EAAqB,mBAAmB,CAAA,4BAAA,CAA8B,CACxH;QACD,cAAc,GAAG,mBAAmB;IACtC;AAAO,SAAA,IAAI,cAAc,GAAG,mBAAmB,EAAE;QAC/CA,OAAM,CAAC,IAAI,CACT,CAAA,gCAAA,EAAmC,cAAc,CAAA,iBAAA,EAAoB,mBAAmB,CAAA,4BAAA,CAA8B,CACvH;QACD,cAAc,GAAG,mBAAmB;IACtC;AAEA,IAAA,OAAO,cAAc;AACvB;AAEA;;;;AAIG;AACG,SAAU,4BAA4B,CAAC,eAA8C,EAAA;AACzF,IAAA,MAAM,cAAc,GAAG,yBAAyB,CAAC,eAAe,CAAC;AACjE,IAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/D;;;;;;;;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import logger from '../config/winston.es.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Default retention period for temporary chats in hours
|
|
5
|
+
*/
|
|
6
|
+
const DEFAULT_RETENTION_HOURS = 24 * 30; // 30 days
|
|
7
|
+
/**
|
|
8
|
+
* Minimum allowed retention period in hours
|
|
9
|
+
*/
|
|
10
|
+
const MIN_RETENTION_HOURS = 1;
|
|
11
|
+
/**
|
|
12
|
+
* Maximum allowed retention period in hours (1 year = 8760 hours)
|
|
13
|
+
*/
|
|
14
|
+
const MAX_RETENTION_HOURS = 8760;
|
|
15
|
+
/**
|
|
16
|
+
* Gets the temporary chat retention period from environment variables or config
|
|
17
|
+
* @param interfaceConfig - The custom configuration object
|
|
18
|
+
* @returns The retention period in hours
|
|
19
|
+
*/
|
|
20
|
+
function getTempChatRetentionHours(interfaceConfig) {
|
|
21
|
+
let retentionHours = DEFAULT_RETENTION_HOURS;
|
|
22
|
+
// Check environment variable first
|
|
23
|
+
if (process.env.TEMP_CHAT_RETENTION_HOURS) {
|
|
24
|
+
const envValue = parseInt(process.env.TEMP_CHAT_RETENTION_HOURS, 10);
|
|
25
|
+
if (!isNaN(envValue)) {
|
|
26
|
+
retentionHours = envValue;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
logger.warn(`Invalid TEMP_CHAT_RETENTION_HOURS environment variable: ${process.env.TEMP_CHAT_RETENTION_HOURS}. Using default: ${DEFAULT_RETENTION_HOURS} hours.`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// Check config file (takes precedence over environment variable)
|
|
33
|
+
if ((interfaceConfig === null || interfaceConfig === void 0 ? void 0 : interfaceConfig.temporaryChatRetention) !== undefined) {
|
|
34
|
+
const configValue = interfaceConfig.temporaryChatRetention;
|
|
35
|
+
if (typeof configValue === 'number' && !isNaN(configValue)) {
|
|
36
|
+
retentionHours = configValue;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
logger.warn(`Invalid temporaryChatRetention in config: ${configValue}. Using ${retentionHours} hours.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Validate the retention period
|
|
43
|
+
if (retentionHours < MIN_RETENTION_HOURS) {
|
|
44
|
+
logger.warn(`Temporary chat retention period ${retentionHours} is below minimum ${MIN_RETENTION_HOURS} hours. Using minimum value.`);
|
|
45
|
+
retentionHours = MIN_RETENTION_HOURS;
|
|
46
|
+
}
|
|
47
|
+
else if (retentionHours > MAX_RETENTION_HOURS) {
|
|
48
|
+
logger.warn(`Temporary chat retention period ${retentionHours} exceeds maximum ${MAX_RETENTION_HOURS} hours. Using maximum value.`);
|
|
49
|
+
retentionHours = MAX_RETENTION_HOURS;
|
|
50
|
+
}
|
|
51
|
+
return retentionHours;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Creates an expiration date for temporary chats
|
|
55
|
+
* @param interfaceConfig - The custom configuration object
|
|
56
|
+
* @returns The expiration date
|
|
57
|
+
*/
|
|
58
|
+
function createTempChatExpirationDate(interfaceConfig) {
|
|
59
|
+
const retentionHours = getTempChatRetentionHours(interfaceConfig);
|
|
60
|
+
return new Date(Date.now() + retentionHours * 60 * 60 * 1000);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { DEFAULT_RETENTION_HOURS, MAX_RETENTION_HOURS, MIN_RETENTION_HOURS, createTempChatExpirationDate, getTempChatRetentionHours };
|
|
64
|
+
//# sourceMappingURL=tempChatRetention.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tempChatRetention.es.js","sources":["../../src/utils/tempChatRetention.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA;;AAEG;MACU,uBAAuB,GAAG,EAAE,GAAG,GAAG;AAE/C;;AAEG;AACI,MAAM,mBAAmB,GAAG;AAEnC;;AAEG;AACI,MAAM,mBAAmB,GAAG;AAEnC;;;;AAIG;AACG,SAAU,yBAAyB,CACvC,eAAqD,EAAA;IAErD,IAAI,cAAc,GAAG,uBAAuB;;AAG5C,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE;AACzC,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,CAAC;AACpE,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACpB,cAAc,GAAG,QAAQ;QAC3B;aAAO;AACL,YAAA,MAAM,CAAC,IAAI,CACT,CAAA,wDAAA,EAA2D,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAA,iBAAA,EAAoB,uBAAuB,CAAA,OAAA,CAAS,CACrJ;QACH;IACF;;IAGA,IAAI,CAAA,eAAe,KAAA,IAAA,IAAf,eAAe,KAAA,MAAA,GAAA,MAAA,GAAf,eAAe,CAAE,sBAAsB,MAAK,SAAS,EAAE;AACzD,QAAA,MAAM,WAAW,GAAG,eAAe,CAAC,sBAAsB;QAC1D,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAC1D,cAAc,GAAG,WAAW;QAC9B;aAAO;YACL,MAAM,CAAC,IAAI,CACT,CAAA,0CAAA,EAA6C,WAAW,CAAA,QAAA,EAAW,cAAc,CAAA,OAAA,CAAS,CAC3F;QACH;IACF;;AAGA,IAAA,IAAI,cAAc,GAAG,mBAAmB,EAAE;QACxC,MAAM,CAAC,IAAI,CACT,CAAA,gCAAA,EAAmC,cAAc,CAAA,kBAAA,EAAqB,mBAAmB,CAAA,4BAAA,CAA8B,CACxH;QACD,cAAc,GAAG,mBAAmB;IACtC;AAAO,SAAA,IAAI,cAAc,GAAG,mBAAmB,EAAE;QAC/C,MAAM,CAAC,IAAI,CACT,CAAA,gCAAA,EAAmC,cAAc,CAAA,iBAAA,EAAoB,mBAAmB,CAAA,4BAAA,CAA8B,CACvH;QACD,cAAc,GAAG,mBAAmB;IACtC;AAEA,IAAA,OAAO,cAAc;AACvB;AAEA;;;;AAIG;AACG,SAAU,4BAA4B,CAAC,eAA8C,EAAA;AACzF,IAAA,MAAM,cAAc,GAAG,yBAAyB,CAAC,eAAe,CAAC;AACjE,IAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/D;;;;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var winston = require('../config/winston.cjs');
|
|
4
|
+
|
|
5
|
+
const CANCEL_RATE = 1.15;
|
|
6
|
+
/**
|
|
7
|
+
* Checks if the connected MongoDB deployment supports transactions
|
|
8
|
+
* This requires a MongoDB replica set configuration
|
|
9
|
+
*
|
|
10
|
+
* @returns True if transactions are supported, false otherwise
|
|
11
|
+
*/
|
|
12
|
+
const supportsTransactions = async (mongoose) => {
|
|
13
|
+
var _a;
|
|
14
|
+
try {
|
|
15
|
+
const session = await mongoose.startSession();
|
|
16
|
+
try {
|
|
17
|
+
session.startTransaction();
|
|
18
|
+
await ((_a = mongoose.connection.db) === null || _a === void 0 ? void 0 : _a.collection('__transaction_test__').findOne({}, { session }));
|
|
19
|
+
await session.commitTransaction();
|
|
20
|
+
winston.debug('MongoDB transactions are supported');
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
catch (transactionError) {
|
|
24
|
+
try {
|
|
25
|
+
await session.abortTransaction();
|
|
26
|
+
}
|
|
27
|
+
catch (transactionError) {
|
|
28
|
+
/** best-effort abort */
|
|
29
|
+
winston.error(`[supportsTransactions] Error aborting transaction:`, transactionError);
|
|
30
|
+
}
|
|
31
|
+
winston.debug('MongoDB transactions not supported (transaction error):', (transactionError === null || transactionError === void 0 ? void 0 : transactionError.message) || 'Unknown error');
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
await session.endSession();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
winston.debug('MongoDB transactions not supported (session error):', (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error');
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Gets whether the current MongoDB deployment supports transactions
|
|
45
|
+
* Caches the result for performance
|
|
46
|
+
*
|
|
47
|
+
* @returns True if transactions are supported, false otherwise
|
|
48
|
+
*/
|
|
49
|
+
const getTransactionSupport = async (mongoose, transactionSupportCache) => {
|
|
50
|
+
let transactionsSupported = false;
|
|
51
|
+
if (transactionSupportCache === null) {
|
|
52
|
+
transactionsSupported = await supportsTransactions(mongoose);
|
|
53
|
+
}
|
|
54
|
+
return transactionsSupported;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
exports.CANCEL_RATE = CANCEL_RATE;
|
|
58
|
+
exports.getTransactionSupport = getTransactionSupport;
|
|
59
|
+
exports.supportsTransactions = supportsTransactions;
|
|
60
|
+
//# sourceMappingURL=transactions.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactions.cjs","sources":["../../src/utils/transactions.ts"],"sourcesContent":[null],"names":["logger"],"mappings":";;;;AAEO,MAAM,WAAW,GAAG;AAE3B;;;;;AAKG;MACU,oBAAoB,GAAG,OAClC,QAAmC,KACf;;AACpB,IAAA,IAAI;AACF,QAAA,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE;AAC7C,QAAA,IAAI;YACF,OAAO,CAAC,gBAAgB,EAAE;YAE1B,OAAM,MAAA,QAAQ,CAAC,UAAU,CAAC,EAAE,0CAAE,UAAU,CAAC,sBAAsB,CAAA,CAAE,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;AAEzF,YAAA,MAAM,OAAO,CAAC,iBAAiB,EAAE;AACjC,YAAAA,OAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC;AAClD,YAAA,OAAO,IAAI;QACb;QAAE,OAAO,gBAAyB,EAAE;AAClC,YAAA,IAAI;AACF,gBAAA,MAAM,OAAO,CAAC,gBAAgB,EAAE;YAClC;YAAE,OAAO,gBAAgB,EAAE;;AAEzB,gBAAAA,OAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE,gBAAgB,CAAC;YACtF;AACA,YAAAA,OAAM,CAAC,KAAK,CACV,yDAAyD,EACzD,CAAC,gBAA0B,KAAA,IAAA,IAA1B,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhB,gBAAgB,CAAY,OAAO,KAAI,eAAe,CACxD;AACD,YAAA,OAAO,KAAK;QACd;gBAAU;AACR,YAAA,MAAM,OAAO,CAAC,UAAU,EAAE;QAC5B;IACF;IAAE,OAAO,KAAK,EAAE;AACd,QAAAA,OAAM,CAAC,KAAK,CACV,qDAAqD,EACrD,CAAC,KAAe,KAAA,IAAA,IAAf,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAY,OAAO,KAAI,eAAe,CAC7C;AACD,QAAA,OAAO,KAAK;IACd;AACF;AAEA;;;;;AAKG;AACI,MAAM,qBAAqB,GAAG,OACnC,QAAmC,EACnC,uBAAuC,KACnB;IACpB,IAAI,qBAAqB,GAAG,KAAK;AACjC,IAAA,IAAI,uBAAuB,KAAK,IAAI,EAAE;AACpC,QAAA,qBAAqB,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC;IAC9D;AACA,IAAA,OAAO,qBAAqB;AAC9B;;;;;;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import logger from '../config/winston.es.js';
|
|
2
|
+
|
|
3
|
+
const CANCEL_RATE = 1.15;
|
|
4
|
+
/**
|
|
5
|
+
* Checks if the connected MongoDB deployment supports transactions
|
|
6
|
+
* This requires a MongoDB replica set configuration
|
|
7
|
+
*
|
|
8
|
+
* @returns True if transactions are supported, false otherwise
|
|
9
|
+
*/
|
|
10
|
+
const supportsTransactions = async (mongoose) => {
|
|
11
|
+
var _a;
|
|
12
|
+
try {
|
|
13
|
+
const session = await mongoose.startSession();
|
|
14
|
+
try {
|
|
15
|
+
session.startTransaction();
|
|
16
|
+
await ((_a = mongoose.connection.db) === null || _a === void 0 ? void 0 : _a.collection('__transaction_test__').findOne({}, { session }));
|
|
17
|
+
await session.commitTransaction();
|
|
18
|
+
logger.debug('MongoDB transactions are supported');
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
catch (transactionError) {
|
|
22
|
+
try {
|
|
23
|
+
await session.abortTransaction();
|
|
24
|
+
}
|
|
25
|
+
catch (transactionError) {
|
|
26
|
+
/** best-effort abort */
|
|
27
|
+
logger.error(`[supportsTransactions] Error aborting transaction:`, transactionError);
|
|
28
|
+
}
|
|
29
|
+
logger.debug('MongoDB transactions not supported (transaction error):', (transactionError === null || transactionError === void 0 ? void 0 : transactionError.message) || 'Unknown error');
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
await session.endSession();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
logger.debug('MongoDB transactions not supported (session error):', (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error');
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Gets whether the current MongoDB deployment supports transactions
|
|
43
|
+
* Caches the result for performance
|
|
44
|
+
*
|
|
45
|
+
* @returns True if transactions are supported, false otherwise
|
|
46
|
+
*/
|
|
47
|
+
const getTransactionSupport = async (mongoose, transactionSupportCache) => {
|
|
48
|
+
let transactionsSupported = false;
|
|
49
|
+
if (transactionSupportCache === null) {
|
|
50
|
+
transactionsSupported = await supportsTransactions(mongoose);
|
|
51
|
+
}
|
|
52
|
+
return transactionsSupported;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export { CANCEL_RATE, getTransactionSupport, supportsTransactions };
|
|
56
|
+
//# sourceMappingURL=transactions.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactions.es.js","sources":["../../src/utils/transactions.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,WAAW,GAAG;AAE3B;;;;;AAKG;MACU,oBAAoB,GAAG,OAClC,QAAmC,KACf;;AACpB,IAAA,IAAI;AACF,QAAA,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE;AAC7C,QAAA,IAAI;YACF,OAAO,CAAC,gBAAgB,EAAE;YAE1B,OAAM,MAAA,QAAQ,CAAC,UAAU,CAAC,EAAE,0CAAE,UAAU,CAAC,sBAAsB,CAAA,CAAE,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;AAEzF,YAAA,MAAM,OAAO,CAAC,iBAAiB,EAAE;AACjC,YAAA,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC;AAClD,YAAA,OAAO,IAAI;QACb;QAAE,OAAO,gBAAyB,EAAE;AAClC,YAAA,IAAI;AACF,gBAAA,MAAM,OAAO,CAAC,gBAAgB,EAAE;YAClC;YAAE,OAAO,gBAAgB,EAAE;;AAEzB,gBAAA,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE,gBAAgB,CAAC;YACtF;AACA,YAAA,MAAM,CAAC,KAAK,CACV,yDAAyD,EACzD,CAAC,gBAA0B,KAAA,IAAA,IAA1B,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhB,gBAAgB,CAAY,OAAO,KAAI,eAAe,CACxD;AACD,YAAA,OAAO,KAAK;QACd;gBAAU;AACR,YAAA,MAAM,OAAO,CAAC,UAAU,EAAE;QAC5B;IACF;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,CAAC,KAAK,CACV,qDAAqD,EACrD,CAAC,KAAe,KAAA,IAAA,IAAf,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAY,OAAO,KAAI,eAAe,CAC7C;AACD,QAAA,OAAO,KAAK;IACd;AACF;AAEA;;;;;AAKG;AACI,MAAM,qBAAqB,GAAG,OACnC,QAAmC,EACnC,uBAAuC,KACnB;IACpB,IAAI,qBAAqB,GAAG,KAAK;AACjC,IAAA,IAAI,uBAAuB,KAAK,IAAI,EAAE;AACpC,QAAA,qBAAqB,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC;IAC9D;AACA,IAAA,OAAO,qBAAqB;AAC9B;;;;"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@librechat/data-schemas",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.45",
|
|
4
4
|
"description": "Mongoose schemas and models for LibreChat",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
7
7
|
"module": "dist/index.es.js",
|
|
8
8
|
"types": "./dist/types/index.d.ts",
|
|
9
|
+
"sideEffects": false,
|
|
9
10
|
"exports": {
|
|
10
11
|
".": {
|
|
11
12
|
"import": "./dist/index.es.js",
|
|
12
13
|
"require": "./dist/index.cjs",
|
|
13
14
|
"types": "./dist/types/index.d.ts"
|
|
15
|
+
},
|
|
16
|
+
"./capabilities": {
|
|
17
|
+
"import": "./dist/admin/capabilities.es.js",
|
|
18
|
+
"require": "./dist/admin/capabilities.cjs",
|
|
19
|
+
"types": "./dist/types/admin/capabilities.d.ts"
|
|
14
20
|
}
|
|
15
21
|
},
|
|
16
22
|
"files": [
|