Logging cleanup: removed some extraneous hard prints (including some that revealed message content!); improved debug logging a bit.
+ added chat_id to task metadata (helpful for logging/tracking in some pipe functions)
This fixes "The process cannot access the file
because it is being used by another process"
errors on Windows.
The file is still automatically deleted by the
`os.unlink` call later in the function.
Updates #5606Fixes#5642
Commit cf86ba7786 changed the way toolkits
and functions were imported to use `exec`, whereas they previously were
written to files and `import`ed. The use of `exec` means that
module-global variables such as `__file__` are no longer defined.
This breaks https://github.com/EtiennePerot/open-webui-code-execution
(code execution tool for Open WebUI), as the module needs to re-execute
its own code in a subprocess in order to properly sandbox itself. This
is done using `__file__` in order to know where the module's code is
located.
This PR creates a temporary in-memory file that contains the imported
toolkit or function's code and exists only during the import process.
Then it injects the path to this in-memory file as the `__file__`
variable in the `exec` context. This restores the ability for the
toolkit or function being imported to rely on `__file__`.