📁
SKYSHELL MANAGER
PHP v8.2.30
Create
Create
Path:
root
/
home
/
qooetu
/
costes.qooetu.com
/
Name
Size
Perm
Actions
📁
.well-known
-
0755
🗑️
🏷️
🔒
📁
2e19d9
-
0755
🗑️
🏷️
🔒
📁
6b114
-
0755
🗑️
🏷️
🔒
📁
Modules
-
0755
🗑️
🏷️
🔒
📁
app
-
0755
🗑️
🏷️
🔒
📁
assets
-
0755
🗑️
🏷️
🔒
📁
bootstrap
-
0755
🗑️
🏷️
🔒
📁
cgi-bin
-
0755
🗑️
🏷️
🔒
📁
config
-
0755
🗑️
🏷️
🔒
📁
css
-
0755
🗑️
🏷️
🔒
📁
database
-
0755
🗑️
🏷️
🔒
📁
images
-
0755
🗑️
🏷️
🔒
📁
js
-
0755
🗑️
🏷️
🔒
📁
nbproject
-
0755
🗑️
🏷️
🔒
📁
public
-
0755
🗑️
🏷️
🔒
📁
resources
-
0755
🗑️
🏷️
🔒
📁
routes
-
0755
🗑️
🏷️
🔒
📁
storage
-
0755
🗑️
🏷️
🔒
📁
tests
-
0755
🗑️
🏷️
🔒
📁
uploads
-
0755
🗑️
🏷️
🔒
📁
vendor
-
0755
🗑️
🏷️
🔒
📁
wp-admin
-
0755
🗑️
🏷️
🔒
📁
wp-content
-
0755
🗑️
🏷️
🔒
📁
wp-includes
-
0755
🗑️
🏷️
🔒
📄
.htaccess
0.23 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
COOKIE.txt
0.2 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
X7ROOT.txt
0.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
defaults.php
1.29 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
engine.php
0 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
error_log
813.08 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
features.php
11.28 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
googlecfb82e09419fc0f6.html
0.05 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php
12.43 KB
0555
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php0
1.56 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
inputs.php
0.12 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
kurd.html
1.07 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
library.php
0 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
min.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
p.php
2.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
php.ini
0.04 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
product.php
1.78 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
qpmwztts.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
robots.txt
0.32 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
tovmbkwh.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
tyyffovi.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
veoxv.html
1.23 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
Edit: tools.py
from functools import wraps from sentry_sdk.integrations import DidNotEnable from ..spans import execute_tool_span, update_execute_tool_span from typing import TYPE_CHECKING if TYPE_CHECKING: from typing import Any, Callable try: import agents except ImportError: raise DidNotEnable("OpenAI Agents not installed") def _create_get_all_tools_wrapper(original_get_all_tools): # type: (Callable[..., Any]) -> Callable[..., Any] """ Wraps the agents.Runner._get_all_tools method of the Runner class to wrap all function tools with Sentry instrumentation. """ @wraps( original_get_all_tools.__func__ if hasattr(original_get_all_tools, "__func__") else original_get_all_tools ) async def wrapped_get_all_tools(cls, agent, context_wrapper): # type: (agents.Runner, agents.Agent, agents.RunContextWrapper) -> list[agents.Tool] # Get the original tools tools = await original_get_all_tools(agent, context_wrapper) wrapped_tools = [] for tool in tools: # Wrap only the function tools (for now) if tool.__class__.__name__ != "FunctionTool": wrapped_tools.append(tool) continue # Create a new FunctionTool with our wrapped invoke method original_on_invoke = tool.on_invoke_tool def create_wrapped_invoke(current_tool, current_on_invoke): # type: (agents.Tool, Callable[..., Any]) -> Callable[..., Any] @wraps(current_on_invoke) async def sentry_wrapped_on_invoke_tool(*args, **kwargs): # type: (*Any, **Any) -> Any with execute_tool_span(current_tool, *args, **kwargs) as span: # We can not capture exceptions in tool execution here because # `_on_invoke_tool` is swallowing the exception here: # https://github.com/openai/openai-agents-python/blob/main/src/agents/tool.py#L409-L422 # And because function_tool is a decorator with `default_tool_error_function` set as a default parameter # I was unable to monkey patch it because those are evaluated at module import time # and the SDK is too late to patch it. I was also unable to patch `_on_invoke_tool_impl` # because it is nested inside this import time code. As if they made it hard to patch on purpose... result = await current_on_invoke(*args, **kwargs) update_execute_tool_span(span, agent, current_tool, result) return result return sentry_wrapped_on_invoke_tool wrapped_tool = agents.FunctionTool( name=tool.name, description=tool.description, params_json_schema=tool.params_json_schema, on_invoke_tool=create_wrapped_invoke(tool, original_on_invoke), strict_json_schema=tool.strict_json_schema, is_enabled=tool.is_enabled, ) wrapped_tools.append(wrapped_tool) return wrapped_tools return wrapped_get_all_tools
Save