Files
Dorod-Sky/skyvern/__init__.py
2025-08-10 13:16:46 -07:00

52 lines
1.4 KiB
Python

from ddtrace import tracer
from ddtrace.trace import TraceFilter, Span
from ddtrace.ext import http
import re
from skyvern.forge.sdk.forge_log import setup_logger
class FilterHeartbeat(TraceFilter):
_HB_URL = re.compile(r"http://.*/heartbeat$")
def process_trace(self, trace: list[Span]) -> list[Span] | None:
for span in trace:
url = span.get_tag(http.URL)
if span.parent_id is None and url is not None and self._HB_URL.match(url):
# drop the full trace chunk
return None
return trace
tracer.configure(trace_processors=[FilterHeartbeat()])
setup_logger()
from skyvern.forge import app # noqa: E402, F401
from skyvern.library import Skyvern # noqa: E402
from skyvern.core.script_generations.skyvern_page import RunContext, SkyvernPage # noqa: E402
from skyvern.core.script_generations.run_initializer import setup # noqa: E402
from skyvern.core.script_generations.workflow_wrappers import ( # noqa: E402
email_block, # noqa: E402
file_download_block, # noqa: E402
navigation_block, # noqa: E402
task_block, # noqa: E402
url_block, # noqa: E402
wait_block, # noqa: E402
workflow, # noqa: E402
) # noqa: E402
__all__ = [
"Skyvern",
"SkyvernPage",
"RunContext",
"email_block",
"file_download_block",
"navigation_block",
"setup",
"task_block",
"url_block",
"wait_block",
"workflow",
]