diff --git a/src/lib/components/chat/Messages/CodeBlock.svelte b/src/lib/components/chat/Messages/CodeBlock.svelte index 635e7a085e..e954dc7232 100644 --- a/src/lib/components/chat/Messages/CodeBlock.svelte +++ b/src/lib/components/chat/Messages/CodeBlock.svelte @@ -216,19 +216,19 @@ const executePythonAsWorker = async (code) => { let packages = [ - code.includes('requests') ? 'requests' : null, - code.includes('bs4') ? 'beautifulsoup4' : null, - code.includes('numpy') ? 'numpy' : null, - code.includes('pandas') ? 'pandas' : null, - code.includes('sklearn') ? 'scikit-learn' : null, - code.includes('scipy') ? 'scipy' : null, + /\bimport\s+requests\b|\bfrom\s+requests\b/.test(code) ? 'requests' : null, + /\bimport\s+bs4\b|\bfrom\s+bs4\b/.test(code) ? 'beautifulsoup4' : null, + /\bimport\s+numpy\b|\bfrom\s+numpy\b/.test(code) ? 'numpy' : null, + /\bimport\s+pandas\b|\bfrom\s+pandas\b/.test(code) ? 'pandas' : null, + /\bimport\s+matplotlib\b|\bfrom\s+matplotlib\b/.test(code) ? 'matplotlib' : null, + /\bimport\s+seaborn\b|\bfrom\s+seaborn\b/.test(code) ? 'seaborn' : null, + /\bimport\s+sklearn\b|\bfrom\s+sklearn\b/.test(code) ? 'scikit-learn' : null, + /\bimport\s+scipy\b|\bfrom\s+scipy\b/.test(code) ? 'scipy' : null, /\bimport\s+re\b|\bfrom\s+re\b/.test(code) ? 'regex' : null, - code.includes('seaborn') ? 'seaborn' : null, - code.includes('sympy') ? 'sympy' : null, - code.includes('tiktoken') ? 'tiktoken' : null, - code.includes('matplotlib') ? 'matplotlib' : null, - code.includes('pytz') ? 'pytz' : null, - code.includes('openai') ? 'openai' : null + /\bimport\s+seaborn\b|\bfrom\s+seaborn\b/.test(code) ? 'seaborn' : null, + /\bimport\s+sympy\b|\bfrom\s+sympy\b/.test(code) ? 'sympy' : null, + /\bimport\s+tiktoken\b|\bfrom\s+tiktoken\b/.test(code) ? 'tiktoken' : null, + /\bimport\s+pytz\b|\bfrom\s+pytz\b/.test(code) ? 'pytz' : null ].filter(Boolean); console.log(packages); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 88229786da..d0453dc5ed 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -119,18 +119,19 @@ let executing = true; let packages = [ - code.includes('requests') ? 'requests' : null, - code.includes('bs4') ? 'beautifulsoup4' : null, - code.includes('numpy') ? 'numpy' : null, - code.includes('pandas') ? 'pandas' : null, - code.includes('matplotlib') ? 'matplotlib' : null, - code.includes('sklearn') ? 'scikit-learn' : null, - code.includes('scipy') ? 'scipy' : null, + /\bimport\s+requests\b|\bfrom\s+requests\b/.test(code) ? 'requests' : null, + /\bimport\s+bs4\b|\bfrom\s+bs4\b/.test(code) ? 'beautifulsoup4' : null, + /\bimport\s+numpy\b|\bfrom\s+numpy\b/.test(code) ? 'numpy' : null, + /\bimport\s+pandas\b|\bfrom\s+pandas\b/.test(code) ? 'pandas' : null, + /\bimport\s+matplotlib\b|\bfrom\s+matplotlib\b/.test(code) ? 'matplotlib' : null, + /\bimport\s+seaborn\b|\bfrom\s+seaborn\b/.test(code) ? 'seaborn' : null, + /\bimport\s+sklearn\b|\bfrom\s+sklearn\b/.test(code) ? 'scikit-learn' : null, + /\bimport\s+scipy\b|\bfrom\s+scipy\b/.test(code) ? 'scipy' : null, /\bimport\s+re\b|\bfrom\s+re\b/.test(code) ? 'regex' : null, - code.includes('seaborn') ? 'seaborn' : null, - code.includes('sympy') ? 'sympy' : null, - code.includes('tiktoken') ? 'tiktoken' : null, - code.includes('pytz') ? 'pytz' : null + /\bimport\s+seaborn\b|\bfrom\s+seaborn\b/.test(code) ? 'seaborn' : null, + /\bimport\s+sympy\b|\bfrom\s+sympy\b/.test(code) ? 'sympy' : null, + /\bimport\s+tiktoken\b|\bfrom\s+tiktoken\b/.test(code) ? 'tiktoken' : null, + /\bimport\s+pytz\b|\bfrom\s+pytz\b/.test(code) ? 'pytz' : null ].filter(Boolean); const pyodideWorker = new PyodideWorker();