open-webui 0.3.27.dev2__tar.gz → 0.3.27.dev3__tar.gz

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.
Files changed (511) hide show
  1. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/PKG-INFO +1 -1
  2. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/socket/main.py +0 -5
  3. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/main.py +5 -2
  4. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/package-lock.json +2 -2
  5. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/package.json +1 -1
  6. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/utils/index.ts +0 -18
  7. open_webui-0.3.27.dev3/src/lib/utils/marked/katex-extension.ts +153 -0
  8. open_webui-0.3.27.dev2/src/lib/utils/marked/katex-extension.ts +0 -138
  9. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.dockerignore +0 -0
  10. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.env.example +0 -0
  11. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.eslintignore +0 -0
  12. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.eslintrc.cjs +0 -0
  13. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.gitattributes +0 -0
  14. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/FUNDING.yml +0 -0
  15. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  16. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  17. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/dependabot.yml +0 -0
  18. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/pull_request_template.md +0 -0
  19. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/workflows/build-release.yml +0 -0
  20. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/workflows/deploy-to-hf-spaces.yml +0 -0
  21. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/workflows/docker-build.yaml +0 -0
  22. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/workflows/format-backend.yaml +0 -0
  23. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/workflows/format-build-frontend.yaml +0 -0
  24. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/workflows/integration-test.yml +0 -0
  25. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/workflows/lint-backend.disabled +0 -0
  26. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/workflows/lint-frontend.disabled +0 -0
  27. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.github/workflows/release-pypi.yml +0 -0
  28. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.gitignore +0 -0
  29. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.npmrc +0 -0
  30. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.prettierignore +0 -0
  31. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/.prettierrc +0 -0
  32. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/CHANGELOG.md +0 -0
  33. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/CODE_OF_CONDUCT.md +0 -0
  34. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/Caddyfile.localhost +0 -0
  35. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/Dockerfile +0 -0
  36. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/INSTALLATION.md +0 -0
  37. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/LICENSE +0 -0
  38. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/Makefile +0 -0
  39. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/README.md +0 -0
  40. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/TROUBLESHOOTING.md +0 -0
  41. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/.dockerignore +0 -0
  42. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/.gitignore +0 -0
  43. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/data/readme.txt +0 -0
  44. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/dev.sh +0 -0
  45. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/__init__.py +0 -0
  46. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/alembic.ini +0 -0
  47. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/audio/main.py +0 -0
  48. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/images/main.py +0 -0
  49. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/images/utils/comfyui.py +0 -0
  50. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/ollama/main.py +0 -0
  51. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/openai/main.py +0 -0
  52. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/main.py +0 -0
  53. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/brave.py +0 -0
  54. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/duckduckgo.py +0 -0
  55. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/google_pse.py +0 -0
  56. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/jina_search.py +0 -0
  57. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/main.py +0 -0
  58. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/searchapi.py +0 -0
  59. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/searxng.py +0 -0
  60. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/serper.py +0 -0
  61. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/serply.py +0 -0
  62. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/serpstack.py +0 -0
  63. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/tavily.py +0 -0
  64. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/testdata/brave.json +0 -0
  65. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/testdata/google_pse.json +0 -0
  66. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/testdata/searchapi.json +0 -0
  67. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/testdata/searxng.json +0 -0
  68. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/testdata/serper.json +0 -0
  69. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/testdata/serply.json +0 -0
  70. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/search/testdata/serpstack.json +0 -0
  71. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/utils.py +0 -0
  72. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/vector/connector.py +0 -0
  73. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/vector/dbs/chroma.py +0 -0
  74. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/vector/dbs/milvus.py +0 -0
  75. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/rag/vector/main.py +0 -0
  76. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/socket/utils.py +0 -0
  77. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/db.py +0 -0
  78. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/001_initial_schema.py +0 -0
  79. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/002_add_local_sharing.py +0 -0
  80. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/003_add_auth_api_key.py +0 -0
  81. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/004_add_archived.py +0 -0
  82. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/005_add_updated_at.py +0 -0
  83. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/006_migrate_timestamps_and_charfields.py +0 -0
  84. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/007_add_user_last_active_at.py +0 -0
  85. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/008_add_memory.py +0 -0
  86. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/009_add_models.py +0 -0
  87. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/010_migrate_modelfiles_to_models.py +0 -0
  88. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/011_add_user_settings.py +0 -0
  89. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/012_add_tools.py +0 -0
  90. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/013_add_user_info.py +0 -0
  91. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/014_add_files.py +0 -0
  92. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/015_add_functions.py +0 -0
  93. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/016_add_valves_and_is_active.py +0 -0
  94. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/017_add_user_oauth_sub.py +0 -0
  95. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/migrations/018_add_function_is_global.py +0 -0
  96. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/internal/wrappers.py +0 -0
  97. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/main.py +0 -0
  98. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/models/auths.py +0 -0
  99. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/models/chats.py +0 -0
  100. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/models/documents.py +0 -0
  101. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/models/files.py +0 -0
  102. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/models/functions.py +0 -0
  103. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/models/memories.py +0 -0
  104. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/models/models.py +0 -0
  105. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/models/prompts.py +0 -0
  106. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/models/tags.py +0 -0
  107. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/models/tools.py +0 -0
  108. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/models/users.py +0 -0
  109. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/auths.py +0 -0
  110. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/chats.py +0 -0
  111. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/configs.py +0 -0
  112. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/documents.py +0 -0
  113. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/files.py +0 -0
  114. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/functions.py +0 -0
  115. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/memories.py +0 -0
  116. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/models.py +0 -0
  117. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/prompts.py +0 -0
  118. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/tools.py +0 -0
  119. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/users.py +0 -0
  120. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/routers/utils.py +0 -0
  121. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/apps/webui/utils.py +0 -0
  122. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/config.py +0 -0
  123. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/constants.py +0 -0
  124. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/data/readme.txt +0 -0
  125. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/env.py +0 -0
  126. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/migrations/README +0 -0
  127. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/migrations/env.py +0 -0
  128. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/migrations/script.py.mako +0 -0
  129. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/migrations/scripts/revision.py +0 -0
  130. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/migrations/util.py +0 -0
  131. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/migrations/versions/7e5b5dc7342b_init.py +0 -0
  132. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/migrations/versions/ca81bd47c050_add_config_table.py +0 -0
  133. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/static/favicon.png +0 -0
  134. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/static/fonts/NotoSans-Bold.ttf +0 -0
  135. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/static/fonts/NotoSans-Italic.ttf +0 -0
  136. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/static/fonts/NotoSans-Regular.ttf +0 -0
  137. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/static/fonts/NotoSansJP-Regular.ttf +0 -0
  138. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/static/fonts/NotoSansKR-Regular.ttf +0 -0
  139. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/static/fonts/NotoSansSC-Regular.ttf +0 -0
  140. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/static/logo.png +0 -0
  141. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/static/splash.png +0 -0
  142. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/static/user-import.csv +0 -0
  143. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/test/__init__.py +0 -0
  144. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/test/apps/webui/routers/test_auths.py +0 -0
  145. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/test/apps/webui/routers/test_chats.py +0 -0
  146. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/test/apps/webui/routers/test_documents.py +0 -0
  147. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/test/apps/webui/routers/test_models.py +0 -0
  148. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/test/apps/webui/routers/test_prompts.py +0 -0
  149. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/test/apps/webui/routers/test_users.py +0 -0
  150. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/test/util/abstract_integration_test.py +0 -0
  151. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/test/util/mock_user.py +0 -0
  152. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/utils/logo.png +0 -0
  153. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/utils/misc.py +0 -0
  154. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/utils/payload.py +0 -0
  155. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/utils/response.py +0 -0
  156. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/utils/schemas.py +0 -0
  157. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/utils/security_headers.py +0 -0
  158. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/utils/task.py +0 -0
  159. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/utils/tools.py +0 -0
  160. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/utils/utils.py +0 -0
  161. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/open_webui/utils/webhook.py +0 -0
  162. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/requirements.txt +0 -0
  163. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/start.sh +0 -0
  164. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/backend/start_windows.bat +0 -0
  165. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/bun.lockb +0 -0
  166. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/confirm_remove.sh +0 -0
  167. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/cypress/data/example-doc.txt +0 -0
  168. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/cypress/e2e/chat.cy.ts +0 -0
  169. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/cypress/e2e/documents.cy.ts +0 -0
  170. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/cypress/e2e/registration.cy.ts +0 -0
  171. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/cypress/e2e/settings.cy.ts +0 -0
  172. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/cypress/support/e2e.ts +0 -0
  173. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/cypress/support/index.d.ts +0 -0
  174. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/cypress/tsconfig.json +0 -0
  175. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/cypress.config.ts +0 -0
  176. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/demo.gif +0 -0
  177. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/docker-compose.a1111-test.yaml +0 -0
  178. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/docker-compose.amdgpu.yaml +0 -0
  179. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/docker-compose.api.yaml +0 -0
  180. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/docker-compose.data.yaml +0 -0
  181. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/docker-compose.gpu.yaml +0 -0
  182. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/docker-compose.yaml +0 -0
  183. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/docs/CONTRIBUTING.md +0 -0
  184. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/docs/README.md +0 -0
  185. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/docs/SECURITY.md +0 -0
  186. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/docs/apache.md +0 -0
  187. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/hatch_build.py +0 -0
  188. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/i18next-parser.config.ts +0 -0
  189. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/kubernetes/helm/README.md +0 -0
  190. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/kubernetes/manifest/base/kustomization.yaml +0 -0
  191. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/kubernetes/manifest/base/ollama-service.yaml +0 -0
  192. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/kubernetes/manifest/base/ollama-statefulset.yaml +0 -0
  193. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/kubernetes/manifest/base/open-webui.yaml +0 -0
  194. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/kubernetes/manifest/base/webui-deployment.yaml +0 -0
  195. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/kubernetes/manifest/base/webui-ingress.yaml +0 -0
  196. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/kubernetes/manifest/base/webui-pvc.yaml +0 -0
  197. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/kubernetes/manifest/base/webui-service.yaml +0 -0
  198. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/kubernetes/manifest/gpu/kustomization.yaml +0 -0
  199. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/kubernetes/manifest/gpu/ollama-statefulset-gpu.yaml +0 -0
  200. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/postcss.config.js +0 -0
  201. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/pyproject.toml +0 -0
  202. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/run-compose.sh +0 -0
  203. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/run-ollama-docker.sh +0 -0
  204. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/run.sh +0 -0
  205. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/scripts/prepare-pyodide.js +0 -0
  206. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/app.css +0 -0
  207. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/app.d.ts +0 -0
  208. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/app.html +0 -0
  209. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/audio/index.ts +0 -0
  210. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/auths/index.ts +0 -0
  211. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/chats/index.ts +0 -0
  212. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/configs/index.ts +0 -0
  213. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/documents/index.ts +0 -0
  214. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/files/index.ts +0 -0
  215. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/functions/index.ts +0 -0
  216. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/images/index.ts +0 -0
  217. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/index.ts +0 -0
  218. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/memories/index.ts +0 -0
  219. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/models/index.ts +0 -0
  220. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/ollama/index.ts +0 -0
  221. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/openai/index.ts +0 -0
  222. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/prompts/index.ts +0 -0
  223. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/rag/index.ts +0 -0
  224. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/streaming/index.ts +0 -0
  225. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/tools/index.ts +0 -0
  226. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/users/index.ts +0 -0
  227. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/apis/utils/index.ts +0 -0
  228. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/AddFilesPlaceholder.svelte +0 -0
  229. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/ChangelogModal.svelte +0 -0
  230. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/AddUserModal.svelte +0 -0
  231. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/EditUserModal.svelte +0 -0
  232. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings/Audio.svelte +0 -0
  233. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings/Connections.svelte +0 -0
  234. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings/Database.svelte +0 -0
  235. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings/Documents.svelte +0 -0
  236. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings/General.svelte +0 -0
  237. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings/Images.svelte +0 -0
  238. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings/Interface.svelte +0 -0
  239. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings/Models.svelte +0 -0
  240. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings/Pipelines.svelte +0 -0
  241. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings/Users.svelte +0 -0
  242. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings/WebSearch.svelte +0 -0
  243. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/Settings.svelte +0 -0
  244. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/admin/UserChatsModal.svelte +0 -0
  245. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Chat.svelte +0 -0
  246. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/ChatControls.svelte +0 -0
  247. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Controls/Controls.svelte +0 -0
  248. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Controls/Valves.svelte +0 -0
  249. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/MessageInput/CallOverlay/VideoInputMenu.svelte +0 -0
  250. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/MessageInput/CallOverlay.svelte +0 -0
  251. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/MessageInput/Commands/Documents.svelte +0 -0
  252. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/MessageInput/Commands/Models.svelte +0 -0
  253. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/MessageInput/Commands/Prompts.svelte +0 -0
  254. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/MessageInput/Commands.svelte +0 -0
  255. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/MessageInput/FilesOverlay.svelte +0 -0
  256. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/MessageInput/InputMenu.svelte +0 -0
  257. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/MessageInput/Suggestions.svelte +0 -0
  258. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/MessageInput/VoiceRecording.svelte +0 -0
  259. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/MessageInput.svelte +0 -0
  260. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/Citations.svelte +0 -0
  261. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/CitationsModal.svelte +0 -0
  262. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/CodeBlock.svelte +0 -0
  263. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/Error.svelte +0 -0
  264. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/Markdown/KatexRenderer.svelte +0 -0
  265. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/Markdown/MarkdownInlineTokens.svelte +0 -0
  266. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte +0 -0
  267. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/Markdown.svelte +0 -0
  268. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/Message.svelte +0 -0
  269. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/MultiResponseMessages.svelte +0 -0
  270. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/Name.svelte +0 -0
  271. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/Placeholder.svelte +0 -0
  272. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/ProfileImage.svelte +0 -0
  273. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/ProfileImageBase.svelte +0 -0
  274. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/RateComment.svelte +0 -0
  275. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/ResponseMessage/WebSearchResults.svelte +0 -0
  276. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/ResponseMessage.svelte +0 -0
  277. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/Skeleton.svelte +0 -0
  278. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages/UserMessage.svelte +0 -0
  279. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Messages.svelte +0 -0
  280. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/ModelSelector/Selector.svelte +0 -0
  281. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/ModelSelector.svelte +0 -0
  282. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Overview/Flow.svelte +0 -0
  283. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Overview/Node.svelte +0 -0
  284. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Overview.svelte +0 -0
  285. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/About.svelte +0 -0
  286. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/Account/UpdatePassword.svelte +0 -0
  287. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/Account.svelte +0 -0
  288. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte +0 -0
  289. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/Audio.svelte +0 -0
  290. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/Chats.svelte +0 -0
  291. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/General.svelte +0 -0
  292. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/Interface.svelte +0 -0
  293. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/Models.svelte +0 -0
  294. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/Personalization/AddMemoryModal.svelte +0 -0
  295. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/Personalization/EditMemoryModal.svelte +0 -0
  296. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/Personalization/ManageModal.svelte +0 -0
  297. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Settings/Personalization.svelte +0 -0
  298. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/SettingsModal.svelte +0 -0
  299. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/ShareChatModal.svelte +0 -0
  300. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/ShortcutsModal.svelte +0 -0
  301. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/TagChatModal.svelte +0 -0
  302. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/chat/Tags.svelte +0 -0
  303. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Banner.svelte +0 -0
  304. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Checkbox.svelte +0 -0
  305. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/CodeEditor.svelte +0 -0
  306. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Collapsible.svelte +0 -0
  307. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/ConfirmDialog.svelte +0 -0
  308. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Drawer.svelte +0 -0
  309. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Dropdown.svelte +0 -0
  310. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/FileItem.svelte +0 -0
  311. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Image.svelte +0 -0
  312. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/ImagePreview.svelte +0 -0
  313. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Loader.svelte +0 -0
  314. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Modal.svelte +0 -0
  315. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Overlay.svelte +0 -0
  316. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Pagination.svelte +0 -0
  317. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Selector.svelte +0 -0
  318. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/SensitiveInput.svelte +0 -0
  319. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Spinner.svelte +0 -0
  320. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Switch.svelte +0 -0
  321. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Tags/TagInput.svelte +0 -0
  322. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Tags/TagList.svelte +0 -0
  323. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Tags.svelte +0 -0
  324. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Tooltip.svelte +0 -0
  325. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/common/Valves.svelte +0 -0
  326. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/documents/AddDocModal.svelte +0 -0
  327. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/documents/EditDocModal.svelte +0 -0
  328. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/AdjustmentsHorizontal.svelte +0 -0
  329. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ArchiveBox.svelte +0 -0
  330. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ArrowDownTray.svelte +0 -0
  331. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ArrowUpCircle.svelte +0 -0
  332. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Bolt.svelte +0 -0
  333. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Bookmark.svelte +0 -0
  334. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/BookmarkSlash.svelte +0 -0
  335. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ChatBubble.svelte +0 -0
  336. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ChatBubbleOval.svelte +0 -0
  337. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ChatBubbles.svelte +0 -0
  338. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ChatMenu.svelte +0 -0
  339. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Check.svelte +0 -0
  340. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ChevronDown.svelte +0 -0
  341. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ChevronLeft.svelte +0 -0
  342. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ChevronRight.svelte +0 -0
  343. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ChevronUp.svelte +0 -0
  344. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/ChevronUpDown.svelte +0 -0
  345. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Clipboard.svelte +0 -0
  346. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/DocumentArrowUpSolid.svelte +0 -0
  347. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/DocumentDuplicate.svelte +0 -0
  348. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/EllipsisHorizontal.svelte +0 -0
  349. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/EllipsisVertical.svelte +0 -0
  350. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/EyeSlash.svelte +0 -0
  351. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/GarbageBin.svelte +0 -0
  352. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/GlobeAlt.svelte +0 -0
  353. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/GlobeAltSolid.svelte +0 -0
  354. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Headphone.svelte +0 -0
  355. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Heart.svelte +0 -0
  356. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Keyboard.svelte +0 -0
  357. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Lifebuoy.svelte +0 -0
  358. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Link.svelte +0 -0
  359. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/MagnifyingGlass.svelte +0 -0
  360. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Map.svelte +0 -0
  361. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/MenuLines.svelte +0 -0
  362. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Merge.svelte +0 -0
  363. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Pencil.svelte +0 -0
  364. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Plus.svelte +0 -0
  365. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/QuestionMarkCircle.svelte +0 -0
  366. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Search.svelte +0 -0
  367. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Share.svelte +0 -0
  368. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Sparkles.svelte +0 -0
  369. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/Star.svelte +0 -0
  370. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/User.svelte +0 -0
  371. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/WrenchSolid.svelte +0 -0
  372. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/icons/XMark.svelte +0 -0
  373. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/layout/Help/HelpMenu.svelte +0 -0
  374. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/layout/Help.svelte +0 -0
  375. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/layout/Navbar/Menu.svelte +0 -0
  376. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/layout/Navbar.svelte +0 -0
  377. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/layout/Overlay/AccountPending.svelte +0 -0
  378. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/layout/Sidebar/ArchivedChatsModal.svelte +0 -0
  379. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/layout/Sidebar/ChatItem.svelte +0 -0
  380. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/layout/Sidebar/ChatMenu.svelte +0 -0
  381. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/layout/Sidebar/UserMenu.svelte +0 -0
  382. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/layout/Sidebar.svelte +0 -0
  383. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/layout/UpdateInfoToast.svelte +0 -0
  384. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/playground/ChatCompletion.svelte +0 -0
  385. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/playground/Playground.svelte +0 -0
  386. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/playground/TextCompletion.svelte +0 -0
  387. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Documents.svelte +0 -0
  388. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Functions/FunctionEditor.svelte +0 -0
  389. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Functions/FunctionMenu.svelte +0 -0
  390. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Functions.svelte +0 -0
  391. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Models/ActionsSelector.svelte +0 -0
  392. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Models/Capabilities.svelte +0 -0
  393. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Models/FiltersSelector.svelte +0 -0
  394. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Models/Knowledge/Selector.svelte +0 -0
  395. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Models/Knowledge.svelte +0 -0
  396. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Models/ModelMenu.svelte +0 -0
  397. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Models/ToolsSelector.svelte +0 -0
  398. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Models.svelte +0 -0
  399. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Prompts/PromptMenu.svelte +0 -0
  400. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Prompts.svelte +0 -0
  401. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Tools/ToolMenu.svelte +0 -0
  402. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Tools/ToolkitEditor.svelte +0 -0
  403. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/Tools.svelte +0 -0
  404. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/common/ManifestModal.svelte +0 -0
  405. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/components/workspace/common/ValvesModal.svelte +0 -0
  406. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/constants.ts +0 -0
  407. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/index.ts +0 -0
  408. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/ar-BH/translation.json +0 -0
  409. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/bg-BG/translation.json +0 -0
  410. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/bn-BD/translation.json +0 -0
  411. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/ca-ES/translation.json +0 -0
  412. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/ceb-PH/translation.json +0 -0
  413. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/de-DE/translation.json +0 -0
  414. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/dg-DG/translation.json +0 -0
  415. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/en-GB/translation.json +0 -0
  416. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/en-US/translation.json +0 -0
  417. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/es-ES/translation.json +0 -0
  418. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/fa-IR/translation.json +0 -0
  419. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/fi-FI/translation.json +0 -0
  420. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/fr-CA/translation.json +0 -0
  421. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/fr-FR/translation.json +0 -0
  422. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/he-IL/translation.json +0 -0
  423. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/hi-IN/translation.json +0 -0
  424. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/hr-HR/translation.json +0 -0
  425. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/id-ID/translation.json +0 -0
  426. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/it-IT/translation.json +0 -0
  427. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/ja-JP/translation.json +0 -0
  428. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/ka-GE/translation.json +0 -0
  429. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/ko-KR/translation.json +0 -0
  430. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/languages.json +0 -0
  431. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/lt-LT/translation.json +0 -0
  432. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/ms-MY/translation.json +0 -0
  433. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/nb-NO/translation.json +0 -0
  434. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/nl-NL/translation.json +0 -0
  435. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/pa-IN/translation.json +0 -0
  436. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/pl-PL/translation.json +0 -0
  437. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/pt-BR/translation.json +0 -0
  438. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/pt-PT/translation.json +0 -0
  439. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/ro-RO/translation.json +0 -0
  440. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/ru-RU/translation.json +0 -0
  441. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/sr-RS/translation.json +0 -0
  442. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/sv-SE/translation.json +0 -0
  443. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/th-TH/translation.json +0 -0
  444. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/tk-TM/transaltion.json +0 -0
  445. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/tk-TW/translation.json +0 -0
  446. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/tr-TR/translation.json +0 -0
  447. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/uk-UA/translation.json +0 -0
  448. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/vi-VN/translation.json +0 -0
  449. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/zh-CN/translation.json +0 -0
  450. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/i18n/locales/zh-TW/translation.json +0 -0
  451. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/index.ts +0 -0
  452. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/stores/index.ts +0 -0
  453. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/types/index.ts +0 -0
  454. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/utils/_template_old.ts +0 -0
  455. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/utils/characters/index.ts +0 -0
  456. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/utils/rag/index.ts +0 -0
  457. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/utils/transitions/index.ts +0 -0
  458. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/lib/workers/pyodide.worker.ts +0 -0
  459. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/+layout.svelte +0 -0
  460. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/+page.svelte +0 -0
  461. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/admin/+layout.svelte +0 -0
  462. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/admin/+page.svelte +0 -0
  463. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/admin/settings/+page.svelte +0 -0
  464. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/c/[id]/+page.svelte +0 -0
  465. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/playground/+layout.svelte +0 -0
  466. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/playground/+page.svelte +0 -0
  467. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/+layout.svelte +0 -0
  468. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/+page.svelte +0 -0
  469. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/documents/+page.svelte +0 -0
  470. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/functions/+page.svelte +0 -0
  471. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/functions/create/+page.svelte +0 -0
  472. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/functions/edit/+page.svelte +0 -0
  473. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/models/+page.svelte +0 -0
  474. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/models/create/+page.svelte +0 -0
  475. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/models/edit/+page.svelte +0 -0
  476. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/prompts/+page.svelte +0 -0
  477. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/prompts/create/+page.svelte +0 -0
  478. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/prompts/edit/+page.svelte +0 -0
  479. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/tools/+page.svelte +0 -0
  480. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/tools/create/+page.svelte +0 -0
  481. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/(app)/workspace/tools/edit/+page.svelte +0 -0
  482. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/+error.svelte +0 -0
  483. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/+layout.js +0 -0
  484. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/+layout.svelte +0 -0
  485. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/auth/+page.svelte +0 -0
  486. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/error/+page.svelte +0 -0
  487. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/routes/s/[id]/+page.svelte +0 -0
  488. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/src/tailwind.css +0 -0
  489. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/assets/fonts/Archivo-Variable.ttf +0 -0
  490. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/assets/fonts/Inter-Variable.ttf +0 -0
  491. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/assets/fonts/Mona-Sans.woff2 +0 -0
  492. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/audio/greeting.mp3 +0 -0
  493. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/doge.png +0 -0
  494. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/favicon.png +0 -0
  495. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/manifest.json +0 -0
  496. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/opensearch.xml +0 -0
  497. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/pyodide/pyodide-lock.json +0 -0
  498. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/robots.txt +0 -0
  499. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/static/favicon.png +0 -0
  500. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/static/splash-dark.png +0 -0
  501. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/static/splash.png +0 -0
  502. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/themes/rosepine-dawn.css +0 -0
  503. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/themes/rosepine.css +0 -0
  504. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/static/user.png +0 -0
  505. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/svelte.config.js +0 -0
  506. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/tailwind.config.js +0 -0
  507. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/test/test_files/image_gen/sd-empty.pt +0 -0
  508. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/tsconfig.json +0 -0
  509. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/update_ollama_models.sh +0 -0
  510. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/uv.lock +0 -0
  511. {open_webui-0.3.27.dev2 → open_webui-0.3.27.dev3}/vite.config.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: open-webui
3
- Version: 0.3.27.dev2
3
+ Version: 0.3.27.dev3
4
4
  Summary: Open WebUI
5
5
  Author-email: Timothy Jaeryang Baek <tim@openwebui.com>
6
6
  License: MIT License
@@ -90,14 +90,9 @@ async def periodic_usage_pool_cleanup():
90
90
  await asyncio.sleep(TIMEOUT_DURATION)
91
91
 
92
92
 
93
- async def on_startup():
94
- asyncio.create_task(periodic_usage_pool_cleanup())
95
-
96
-
97
93
  app = socketio.ASGIApp(
98
94
  sio,
99
95
  socketio_path="/ws/socket.io",
100
- on_startup=on_startup(),
101
96
  )
102
97
 
103
98
 
@@ -8,6 +8,8 @@ import shutil
8
8
  import sys
9
9
  import time
10
10
  import uuid
11
+ import asyncio
12
+
11
13
  from contextlib import asynccontextmanager
12
14
  from typing import Optional
13
15
 
@@ -31,7 +33,7 @@ from open_webui.apps.openai.main import (
31
33
  from open_webui.apps.openai.main import get_all_models as get_openai_models
32
34
  from open_webui.apps.rag.main import app as rag_app
33
35
  from open_webui.apps.rag.utils import get_rag_context, rag_template
34
- from open_webui.apps.socket.main import app as socket_app
36
+ from open_webui.apps.socket.main import app as socket_app, periodic_usage_pool_cleanup
35
37
  from open_webui.apps.socket.main import get_event_call, get_event_emitter
36
38
  from open_webui.apps.webui.internal.db import Session
37
39
  from open_webui.apps.webui.main import app as webui_app
@@ -184,6 +186,8 @@ https://github.com/open-webui/open-webui
184
186
  @asynccontextmanager
185
187
  async def lifespan(app: FastAPI):
186
188
  run_migrations()
189
+
190
+ asyncio.create_task(periodic_usage_pool_cleanup())
187
191
  yield
188
192
 
189
193
 
@@ -851,7 +855,6 @@ async def inspect_websocket(request: Request, call_next):
851
855
 
852
856
 
853
857
  app.mount("/ws", socket_app)
854
-
855
858
  app.mount("/ollama", ollama_app)
856
859
  app.mount("/openai", openai_app)
857
860
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "open-webui",
3
- "version": "0.3.27.dev2",
3
+ "version": "0.3.27.dev3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "open-webui",
9
- "version": "0.3.27.dev2",
9
+ "version": "0.3.27.dev3",
10
10
  "dependencies": {
11
11
  "@codemirror/lang-javascript": "^6.2.2",
12
12
  "@codemirror/lang-python": "^6.1.6",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-webui",
3
- "version": "0.3.27.dev2",
3
+ "version": "0.3.27.dev3",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "dev": "npm run pyodide:fetch && vite dev --host",
@@ -8,23 +8,6 @@ import { TTS_RESPONSE_SPLIT } from '$lib/types';
8
8
  // Helper functions
9
9
  //////////////////////////
10
10
 
11
- const convertLatexToSingleLine = (content) => {
12
- // Patterns to match multiline LaTeX blocks
13
- const patterns = [
14
- /(\$\$\s[\s\S]*?\s\$\$)/g, // Match $$ ... $$
15
- /(\\\[[\s\S]*?\\\])/g, // Match \[ ... \]
16
- /(\\begin\{[a-z]+\}[\s\S]*?\\end\{[a-z]+\})/g // Match \begin{...} ... \end{...}
17
- ];
18
-
19
- patterns.forEach((pattern) => {
20
- content = content.replace(pattern, (match) => {
21
- return match.replace(/\s*\n\s*/g, ' ').trim();
22
- });
23
- });
24
-
25
- return content;
26
- };
27
-
28
11
  export const replaceTokens = (content, char, user) => {
29
12
  const charToken = /{{char}}/gi;
30
13
  const userToken = /{{user}}/gi;
@@ -68,7 +51,6 @@ export const sanitizeResponseContent = (content: string) => {
68
51
  };
69
52
 
70
53
  export const processResponseContent = (content: string) => {
71
- content = convertLatexToSingleLine(content);
72
54
  return content.trim();
73
55
  };
74
56
 
@@ -0,0 +1,153 @@
1
+ import katex from 'katex';
2
+
3
+ const DELIMITER_LIST = [
4
+ { left: '$$\n', right: '\n$$', display: true },
5
+ { left: '$$', right: '$$', display: false }, // This should be on top to prevent conflict with $ delimiter
6
+ { left: '$', right: '$', display: false },
7
+ { left: '\\pu{', right: '}', display: false },
8
+ { left: '\\ce{', right: '}', display: false },
9
+ { left: '\\(', right: '\\)', display: false },
10
+ { left: '\\[\n', right: '\n\\]', display: true },
11
+ { left: '\\[', right: '\\]', display: false },
12
+ ];
13
+
14
+ // const DELIMITER_LIST = [
15
+ // { left: '$$', right: '$$', display: false },
16
+ // { left: '$', right: '$', display: false },
17
+ // ];
18
+
19
+ // const inlineRule = /^(\${1,2})(?!\$)((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\1(?=[\s?!\.,:?!。,:]|$)/;
20
+ // const blockRule = /^(\${1,2})\n((?:\\[^]|[^\\])+?)\n\1(?:\n|$)/;
21
+
22
+ let inlinePatterns = [];
23
+ let blockPatterns = [];
24
+
25
+ function escapeRegex(string) {
26
+ return string.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
27
+ }
28
+
29
+ function generateRegexRules(delimiters) {
30
+ delimiters.forEach((delimiter) => {
31
+ const { left, right, display } = delimiter;
32
+ // Ensure regex-safe delimiters
33
+ const escapedLeft = escapeRegex(left);
34
+ const escapedRight = escapeRegex(right);
35
+
36
+ if (!display) {
37
+ inlinePatterns.push(
38
+ `${escapedLeft}((?:\\\\[^]|[^\\\\])+?)${escapedRight}`
39
+ );
40
+ } else {
41
+ blockPatterns.push(
42
+ `${escapedLeft}((?:\\\\[^]|[^\\\\])+?)${escapedRight}`
43
+ );
44
+ }
45
+ });
46
+
47
+ const inlineRule = new RegExp(`^(${inlinePatterns.join('|')})(?=[\\s?!.,:?!。,:]|$)`, 'u');
48
+ const blockRule = new RegExp(`^(${blockPatterns.join('|')})(?=[\\s?!.,:?!。,:]|$)`, 'u');
49
+
50
+ return { inlineRule, blockRule };
51
+ }
52
+
53
+ const { inlineRule, blockRule } = generateRegexRules(DELIMITER_LIST);
54
+
55
+ export default function (options = {}) {
56
+ return {
57
+ extensions: [
58
+ blockKatex(options), // This should be on top to prevent conflict with inline delimiters.
59
+ inlineKatex(options),
60
+ ]
61
+ };
62
+ }
63
+
64
+ function katexStart(src, displayMode: boolean) {
65
+ let ruleReg = displayMode ? blockRule : inlineRule;
66
+
67
+ let indexSrc = src;
68
+
69
+ while (indexSrc) {
70
+ let index = -1;
71
+ let startIndex = -1;
72
+ let startDelimiter = '';
73
+ let endDelimiter = '';
74
+ for (let delimiter of DELIMITER_LIST) {
75
+ if (delimiter.display !== displayMode) {
76
+ continue;
77
+ }
78
+
79
+ startIndex = indexSrc.indexOf(delimiter.left);
80
+ if (startIndex === -1) {
81
+ continue;
82
+ }
83
+
84
+ index = startIndex;
85
+ startDelimiter = delimiter.left;
86
+ endDelimiter = delimiter.right;
87
+ }
88
+
89
+ if (index === -1) {
90
+ return;
91
+ }
92
+
93
+ const f = index === 0 || indexSrc.charAt(index - 1) === ' ';
94
+ if (f) {
95
+ const possibleKatex = indexSrc.substring(index);
96
+
97
+ if (possibleKatex.match(ruleReg)) {
98
+ return index;
99
+ }
100
+ }
101
+
102
+ indexSrc = indexSrc.substring(index + startDelimiter.length).replace(endDelimiter, '');
103
+ }
104
+ }
105
+
106
+ function katexTokenizer(src, tokens, displayMode: boolean) {
107
+ let ruleReg = displayMode ? blockRule : inlineRule;
108
+ let type = displayMode ? 'blockKatex' : 'inlineKatex';
109
+
110
+ const match = src.match(ruleReg);
111
+
112
+ if (match) {
113
+ const text = match
114
+ .slice(2)
115
+ .filter((item) => item)
116
+ .find((item) => item.trim());
117
+
118
+ return {
119
+ type,
120
+ raw: match[0],
121
+ text: text,
122
+ displayMode,
123
+ };
124
+ }
125
+ }
126
+
127
+
128
+
129
+ function inlineKatex(options) {
130
+ return {
131
+ name: 'inlineKatex',
132
+ level: 'inline',
133
+ start(src) {
134
+ return katexStart(src, false);
135
+ },
136
+ tokenizer(src, tokens) {
137
+ return katexTokenizer(src, tokens, false);
138
+ },
139
+ };
140
+ }
141
+
142
+ function blockKatex(options) {
143
+ return {
144
+ name: 'blockKatex',
145
+ level: 'block',
146
+ start(src) {
147
+ return katexStart(src, true);
148
+ },
149
+ tokenizer(src, tokens) {
150
+ return katexTokenizer(src, tokens, true);
151
+ },
152
+ };
153
+ }
@@ -1,138 +0,0 @@
1
- import katex from 'katex';
2
-
3
- const DELIMITER_LIST = [
4
- { left: '$$', right: '$$', display: false },
5
- { left: '$', right: '$', display: false },
6
- { left: '\\pu{', right: '}', display: false },
7
- { left: '\\ce{', right: '}', display: false },
8
- { left: '\\(', right: '\\)', display: false },
9
- { left: '( ', right: ' )', display: false },
10
- { left: '\\[', right: '\\]', display: true },
11
- { left: '[ ', right: ' ]', display: true }
12
- ];
13
-
14
- // const DELIMITER_LIST = [
15
- // { left: '$$', right: '$$', display: false },
16
- // { left: '$', right: '$', display: false },
17
- // ];
18
-
19
- // const inlineRule = /^(\${1,2})(?!\$)((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\1(?=[\s?!\.,:?!。,:]|$)/;
20
- // const blockRule = /^(\${1,2})\n((?:\\[^]|[^\\])+?)\n\1(?:\n|$)/;
21
-
22
- let inlinePatterns = [];
23
- let blockPatterns = [];
24
-
25
- function escapeRegex(string) {
26
- return string.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
27
- }
28
-
29
- function generateRegexRules(delimiters) {
30
- delimiters.forEach((delimiter) => {
31
- const { left, right } = delimiter;
32
- // Ensure regex-safe delimiters
33
- const escapedLeft = escapeRegex(left);
34
- const escapedRight = escapeRegex(right);
35
-
36
- // Inline pattern - Capture group $1, token content, followed by end delimiter and normal punctuation marks.
37
- // Example: $text$
38
- inlinePatterns.push(
39
- `${escapedLeft}((?:\\\\.|[^\\\\\\n])*?(?:\\\\.|[^\\\\\\n${escapedRight}]))${escapedRight}`
40
- );
41
-
42
- // Block pattern - Starts and ends with the delimiter on new lines. Example:
43
- // $$\ncontent here\n$$
44
- blockPatterns.push(`${escapedLeft}\n((?:\\\\[^]|[^\\\\])+?)\n${escapedRight}`);
45
- });
46
-
47
- const inlineRule = new RegExp(`^(${inlinePatterns.join('|')})(?=[\\s?!.,:?!。,:]|$)`, 'u');
48
- const blockRule = new RegExp(`^(${blockPatterns.join('|')})(?:\n|$)`, 'u');
49
-
50
- return { inlineRule, blockRule };
51
- }
52
-
53
- const { inlineRule, blockRule } = generateRegexRules(DELIMITER_LIST);
54
-
55
- export default function (options = {}) {
56
- return {
57
- extensions: [
58
- inlineKatex(options, createRenderer(options, false)),
59
- blockKatex(options, createRenderer(options, true))
60
- ]
61
- };
62
- }
63
-
64
- function createRenderer(options, newlineAfter) {
65
- return (token) =>
66
- katex.renderToString(token.text, { ...options, displayMode: token.displayMode }) +
67
- (newlineAfter ? '\n' : '');
68
- }
69
-
70
- function inlineKatex(options, renderer) {
71
- const ruleReg = inlineRule;
72
- return {
73
- name: 'inlineKatex',
74
- level: 'inline',
75
- start(src) {
76
- let index;
77
- let indexSrc = src;
78
-
79
- while (indexSrc) {
80
- index = indexSrc.indexOf('$');
81
- if (index === -1) {
82
- return;
83
- }
84
- const f = index === 0 || indexSrc.charAt(index - 1) === ' ';
85
- if (f) {
86
- const possibleKatex = indexSrc.substring(index);
87
-
88
- if (possibleKatex.match(ruleReg)) {
89
- return index;
90
- }
91
- }
92
-
93
- indexSrc = indexSrc.substring(index + 1).replace(/^\$+/, '');
94
- }
95
- },
96
- tokenizer(src, tokens) {
97
- const match = src.match(ruleReg);
98
-
99
- if (match) {
100
- const text = match
101
- .slice(2)
102
- .filter((item) => item)
103
- .find((item) => item.trim());
104
-
105
- return {
106
- type: 'inlineKatex',
107
- raw: match[0],
108
- text: text
109
- };
110
- }
111
- },
112
- renderer
113
- };
114
- }
115
-
116
- function blockKatex(options, renderer) {
117
- return {
118
- name: 'blockKatex',
119
- level: 'block',
120
- tokenizer(src, tokens) {
121
- const match = src.match(blockRule);
122
-
123
- if (match) {
124
- const text = match
125
- .slice(2)
126
- .filter((item) => item)
127
- .find((item) => item.trim());
128
-
129
- return {
130
- type: 'blockKatex',
131
- raw: match[0],
132
- text: text
133
- };
134
- }
135
- },
136
- renderer
137
- };
138
- }