llms-py 3.0.16__tar.gz → 3.0.17__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.
- {llms_py-3.0.16/llms_py.egg-info → llms_py-3.0.17}/PKG-INFO +1 -1
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/app/__init__.py +0 -1
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/app/db.py +5 -1
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/providers/cerebras.py +0 -1
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/main.py +18 -4
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/ai.mjs +1 -1
- {llms_py-3.0.16 → llms_py-3.0.17/llms_py.egg-info}/PKG-INFO +1 -1
- {llms_py-3.0.16 → llms_py-3.0.17}/pyproject.toml +1 -1
- {llms_py-3.0.16 → llms_py-3.0.17}/setup.py +1 -1
- {llms_py-3.0.16 → llms_py-3.0.17}/LICENSE +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/MANIFEST.in +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/README.md +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/__init__.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/__main__.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/db.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/analytics/ui/index.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/app/README.md +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/app/ui/Recents.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/app/ui/index.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/app/ui/threadStore.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/computer/README.md +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/computer/__init__.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/computer/base.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/computer/bash.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/computer/computer.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/computer/edit.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/computer/filesystem.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/computer/platform.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/computer/run.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/CALCULATOR.md +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/__init__.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/addon/edit/closebrackets.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/addon/edit/closetag.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/addon/edit/continuelist.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/addon/edit/matchbrackets.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/addon/edit/matchtags.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/addon/edit/trailingspace.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/addon/selection/active-line.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/addon/selection/mark-selection.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/addon/selection/selection-pointer.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/codemirror.css +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/codemirror.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/doc/docs.css +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/doc/source_sans.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/mode/clike/clike.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/mode/javascript/index.html +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/mode/javascript/javascript.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/mode/javascript/typescript.html +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/mode/python/python.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/theme/dracula.css +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/theme/mocha.css +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/index.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/gallery/README.md +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/gallery/__init__.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/gallery/db.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/gallery/ui/index.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/README.md +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/__init__.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/README.md +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/auto-render.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/auto-render.min.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/auto-render.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/copy-tex.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/copy-tex.min.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/copy-tex.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/mathtex-script-type.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/mathtex-script-type.min.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/mathtex-script-type.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/mhchem.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/mhchem.min.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/mhchem.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/render-a11y-string.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/render-a11y-string.min.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/render-a11y-string.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/index.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/katex-swap.css +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/katex-swap.min.css +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/katex.css +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/katex.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/katex.min.css +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/katex.min.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/katex.min.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/katex.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/providers/__init__.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/providers/anthropic.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/providers/chutes.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/providers/google.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/providers/nvidia.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/providers/openai.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/providers/openrouter.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/providers/zai.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/skills/LICENSE +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/skills/__init__.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/skills/errors.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/skills/models.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/skills/parser.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/skills/ui/index.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/skills/ui/skills/create-plan/SKILL.md +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/skills/validator.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/system_prompts/README.md +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/system_prompts/__init__.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/system_prompts/ui/index.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/system_prompts/ui/prompts.json +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/tools/__init__.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/tools/ui/index.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/index.html +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/llms.json +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/providers-extra.json +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/providers.json +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/App.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/app.css +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/ctx.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/fav.svg +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/index.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/lib/chart.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/lib/charts.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/lib/color.js +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/lib/highlight.min.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/lib/idb.min.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/lib/marked.min.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/lib/servicestack-client.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/lib/servicestack-vue.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/lib/vue-router.min.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/lib/vue.min.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/lib/vue.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/markdown.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/modules/chat/ChatBody.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/modules/chat/SettingsDialog.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/modules/chat/index.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/modules/icons.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/modules/layout.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/modules/model-selector.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/tailwind.input.css +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/typography.css +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms/ui/utils.mjs +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms_py.egg-info/SOURCES.txt +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms_py.egg-info/dependency_links.txt +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms_py.egg-info/entry_points.txt +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms_py.egg-info/not-zip-safe +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms_py.egg-info/requires.txt +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/llms_py.egg-info/top_level.txt +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/requirements.txt +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/setup.cfg +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/tests/test_async.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/tests/test_config.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/tests/test_core_tools_direct.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/tests/test_extensions.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/tests/test_gemini_tool_calling.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/tests/test_gemini_upload.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/tests/test_integration.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/tests/test_interleaved_thinking.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/tests/test_provider_checks.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/tests/test_provider_config.py +0 -0
- {llms_py-3.0.16 → llms_py-3.0.17}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: llms-py
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.17
|
|
4
4
|
Summary: A lightweight CLI tool and OpenAI-compatible server for querying multiple Large Language Model (LLM) providers
|
|
5
5
|
Home-page: https://github.com/ServiceStack/llms
|
|
6
6
|
Author: ServiceStack
|
|
@@ -199,7 +199,6 @@ def install(ctx):
|
|
|
199
199
|
"model": thread.get("model"),
|
|
200
200
|
"messages": thread.get("messages"),
|
|
201
201
|
"modalities": thread.get("modalities"),
|
|
202
|
-
"systemPrompt": thread.get("systemPrompt"),
|
|
203
202
|
"tools": thread.get("tools"), # tools request
|
|
204
203
|
"metadata": metadata,
|
|
205
204
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import os
|
|
3
|
+
import time
|
|
3
4
|
from datetime import datetime, timedelta
|
|
4
5
|
from typing import Any, Dict
|
|
5
6
|
|
|
@@ -344,9 +345,12 @@ class AppDB:
|
|
|
344
345
|
else:
|
|
345
346
|
thread["createdAt"] = now
|
|
346
347
|
thread["updatedAt"] = now
|
|
348
|
+
initial_timestamp = int(time.time() * 1000) + 1
|
|
347
349
|
if "messages" in thread:
|
|
348
|
-
for m in thread["messages"]:
|
|
350
|
+
for idx, m in enumerate(thread["messages"]):
|
|
349
351
|
self.ctx.cache_message_inline_data(m)
|
|
352
|
+
if "timestamp" not in m:
|
|
353
|
+
m["timestamp"] = initial_timestamp + idx
|
|
350
354
|
return with_user(thread, user=user)
|
|
351
355
|
|
|
352
356
|
def create_thread(self, thread: Dict[str, Any], user=None):
|
|
@@ -57,7 +57,7 @@ try:
|
|
|
57
57
|
except ImportError:
|
|
58
58
|
HAS_PIL = False
|
|
59
59
|
|
|
60
|
-
VERSION = "3.0.
|
|
60
|
+
VERSION = "3.0.17"
|
|
61
61
|
_ROOT = None
|
|
62
62
|
DEBUG = os.getenv("DEBUG") == "1"
|
|
63
63
|
MOCK = os.getenv("MOCK") == "1"
|
|
@@ -1216,8 +1216,8 @@ class OpenAiCompatible:
|
|
|
1216
1216
|
def chat_summary(self, chat):
|
|
1217
1217
|
return chat_summary(chat)
|
|
1218
1218
|
|
|
1219
|
-
def process_chat(self, chat, provider_id=None):
|
|
1220
|
-
return process_chat(chat, provider_id)
|
|
1219
|
+
async def process_chat(self, chat, provider_id=None):
|
|
1220
|
+
return await process_chat(chat, provider_id)
|
|
1221
1221
|
|
|
1222
1222
|
async def chat(self, chat, context=None):
|
|
1223
1223
|
chat["model"] = self.provider_model(chat["model"]) or chat["model"]
|
|
@@ -1272,7 +1272,7 @@ class OpenAiCompatible:
|
|
|
1272
1272
|
if self.enable_thinking is not None:
|
|
1273
1273
|
chat["enable_thinking"] = self.enable_thinking
|
|
1274
1274
|
|
|
1275
|
-
chat = await process_chat(chat, provider_id=self.id)
|
|
1275
|
+
chat = await self.process_chat(chat, provider_id=self.id)
|
|
1276
1276
|
_log(f"POST {self.chat_url}")
|
|
1277
1277
|
_log(chat_summary(chat))
|
|
1278
1278
|
# remove metadata if any (conflicts with some providers, e.g. Z.ai)
|
|
@@ -1304,6 +1304,15 @@ class GroqProvider(OpenAiCompatible):
|
|
|
1304
1304
|
kwargs["api"] = "https://api.groq.com/openai/v1"
|
|
1305
1305
|
super().__init__(**kwargs)
|
|
1306
1306
|
|
|
1307
|
+
async def process_chat(self, chat, provider_id=None):
|
|
1308
|
+
ret = await process_chat(chat, provider_id)
|
|
1309
|
+
chat.pop("modalities", None) # groq doesn't support modalities
|
|
1310
|
+
messages = chat.get("messages", []).copy()
|
|
1311
|
+
for message in messages:
|
|
1312
|
+
message.pop("timestamp", None) # groq doesn't support timestamp
|
|
1313
|
+
ret["messages"] = messages
|
|
1314
|
+
return ret
|
|
1315
|
+
|
|
1307
1316
|
|
|
1308
1317
|
class XaiProvider(OpenAiCompatible):
|
|
1309
1318
|
sdk = "@ai-sdk/xai"
|
|
@@ -2974,6 +2983,11 @@ class AppExtensions:
|
|
|
2974
2983
|
if "tools" not in current_chat:
|
|
2975
2984
|
current_chat["tools"] = []
|
|
2976
2985
|
|
|
2986
|
+
_dbg(
|
|
2987
|
+
f"create_chat_with_tools: all_tools:{include_all_tools}, only_tools:{only_tools_list}, chat tools: "
|
|
2988
|
+
+ str(len(current_chat["tools"]))
|
|
2989
|
+
)
|
|
2990
|
+
|
|
2977
2991
|
existing_tools = {t["function"]["name"] for t in current_chat["tools"]}
|
|
2978
2992
|
for tool_def in self.tool_definitions:
|
|
2979
2993
|
name = tool_def["function"]["name"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: llms-py
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.17
|
|
4
4
|
Summary: A lightweight CLI tool and OpenAI-compatible server for querying multiple Large Language Model (LLM) providers
|
|
5
5
|
Home-page: https://github.com/ServiceStack/llms
|
|
6
6
|
Author: ServiceStack
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "llms-py"
|
|
7
|
-
version = "3.0.
|
|
7
|
+
version = "3.0.17"
|
|
8
8
|
description = "A lightweight CLI tool and OpenAI-compatible server for querying multiple Large Language Model (LLM) providers"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "BSD-3-Clause"
|
|
@@ -15,7 +15,7 @@ with open(os.path.join(this_directory, "requirements.txt"), encoding="utf-8") as
|
|
|
15
15
|
|
|
16
16
|
setup(
|
|
17
17
|
name="llms-py",
|
|
18
|
-
version="3.0.
|
|
18
|
+
version="3.0.17",
|
|
19
19
|
author="ServiceStack",
|
|
20
20
|
author_email="team@servicestack.net",
|
|
21
21
|
description="A lightweight CLI tool and OpenAI-compatible server for querying multiple Large Language Model (LLM) providers",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/addon/edit/closetag.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/addon/edit/matchtags.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/doc/source_sans.woff
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/mode/clike/clike.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/mode/python/python.js
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/core_tools/ui/codemirror/theme/dracula.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/mathtex-script-type.min.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/contrib/render-a11y-string.min.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff2
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.ttf
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff2
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.ttf
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.ttf
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff
RENAMED
|
File without changes
|
{llms_py-3.0.16 → llms_py-3.0.17}/llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|