support agent user header (#2077)
This commit is contained in:
@@ -66,7 +66,11 @@ class SkyvernAgent:
|
||||
|
||||
settings.BROWSER_TYPE = browser_type
|
||||
elif base_url and api_key:
|
||||
self.client = SkyvernClient(base_url=base_url, api_key=api_key)
|
||||
self.client = SkyvernClient(
|
||||
base_url=base_url,
|
||||
api_key=api_key,
|
||||
extra_headers={"X-User-Agent": "skyvern-mcp"},
|
||||
)
|
||||
else:
|
||||
raise ValueError("base_url and api_key must be both provided")
|
||||
|
||||
|
||||
@@ -8,10 +8,12 @@ class SkyvernClient:
|
||||
self,
|
||||
base_url: str = settings.SKYVERN_BASE_URL,
|
||||
api_key: str = settings.SKYVERN_API_KEY,
|
||||
extra_headers: dict[str, str] | None = None,
|
||||
) -> None:
|
||||
self.base_url = base_url
|
||||
self.api_key = api_key
|
||||
self.client = AsyncSkyvern(base_url=base_url, api_key=api_key)
|
||||
self.extra_headers = extra_headers
|
||||
|
||||
async def run_task(
|
||||
self,
|
||||
|
||||
@@ -179,6 +179,7 @@ async def run_task_v1(
|
||||
current_org: Organization = Depends(org_auth_service.get_current_org),
|
||||
x_api_key: Annotated[str | None, Header()] = None,
|
||||
x_max_steps_override: Annotated[int | None, Header()] = None,
|
||||
x_user_agent: Annotated[str | None, Header()] = None,
|
||||
) -> CreateTaskResponse:
|
||||
analytics.capture("skyvern-oss-agent-task-create", data={"url": task.url})
|
||||
await PermissionCheckerFactory.get_instance().check(current_org, browser_session_id=task.browser_session_id)
|
||||
@@ -652,6 +653,7 @@ async def run_workflow_legacy(
|
||||
template: bool = Query(False),
|
||||
x_api_key: Annotated[str | None, Header()] = None,
|
||||
x_max_steps_override: Annotated[int | None, Header()] = None,
|
||||
x_user_agent: Annotated[str | None, Header()] = None,
|
||||
) -> RunWorkflowResponse:
|
||||
analytics.capture("skyvern-oss-agent-workflow-execute")
|
||||
context = skyvern_context.ensure_context()
|
||||
@@ -1458,6 +1460,7 @@ async def run_task(
|
||||
run_request: TaskRunRequest,
|
||||
current_org: Organization = Depends(org_auth_service.get_current_org),
|
||||
x_api_key: Annotated[str | None, Header()] = None,
|
||||
x_user_agent: Annotated[str | None, Header()] = None,
|
||||
) -> TaskRunResponse:
|
||||
analytics.capture("skyvern-oss-run-task", data={"url": run_request.url})
|
||||
await PermissionCheckerFactory.get_instance().check(current_org, browser_session_id=run_request.browser_session_id)
|
||||
@@ -1600,6 +1603,7 @@ async def run_workflow(
|
||||
template: bool = Query(False),
|
||||
x_api_key: Annotated[str | None, Header()] = None,
|
||||
x_max_steps_override: Annotated[int | None, Header()] = None,
|
||||
x_user_agent: Annotated[str | None, Header()] = None,
|
||||
) -> WorkflowRunResponse:
|
||||
analytics.capture("skyvern-oss-run-workflow")
|
||||
await PermissionCheckerFactory.get_instance().check(
|
||||
|
||||
Reference in New Issue
Block a user