Fix ReDoS in script_reviewer string literal regex (#5364)

This commit is contained in:
Shuchang Zheng 2026-04-02 15:39:47 -07:00 committed by GitHub
parent a36e107d20
commit 4358f9c695
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
65 changed files with 5240 additions and 3471 deletions

View file

@ -3907,6 +3907,69 @@
}
}
}
},
"/v1/sdk/run_action": {
"post": {
"tags": [
"SDK"
],
"summary": "Run an SDK action",
"description": "Execute a single SDK action with the specified parameters",
"operationId": "run_sdk_action_v1_sdk_run_action_post",
"parameters": [
{
"name": "x-api-key",
"in": "header",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings.",
"title": "X-Api-Key"
},
"description": "Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunSdkActionRequest"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunSdkActionResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"x-fern-sdk-method-name": "run_sdk_action"
}
}
},
"components": {
@ -4015,6 +4078,41 @@
],
"title": "AWSSecretParameterYAML"
},
"ActAction": {
"properties": {
"type": {
"type": "string",
"const": "ai_act",
"title": "Type",
"default": "ai_act"
},
"intention": {
"type": "string",
"title": "Intention",
"description": "Natural language prompt for the action",
"default": ""
},
"data": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Data",
"description": "Additional context data"
}
},
"type": "object",
"title": "ActAction",
"description": "AI act action parameters."
},
"Action": {
"properties": {
"action_type": {
@ -6353,6 +6451,60 @@
"title": "BrowserSessionResponse",
"description": "Response model for browser session information."
},
"ClickAction": {
"properties": {
"type": {
"type": "string",
"const": "ai_click",
"title": "Type",
"default": "ai_click"
},
"selector": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Selector",
"description": "CSS selector for the element",
"default": ""
},
"intention": {
"type": "string",
"title": "Intention",
"description": "The intention or goal of the click",
"default": ""
},
"data": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Data",
"description": "Additional context data"
},
"timeout": {
"type": "number",
"title": "Timeout",
"description": "Timeout in milliseconds",
"default": 10000
}
},
"type": "object",
"title": "ClickAction",
"description": "Click action parameters."
},
"ClickContext": {
"properties": {
"thought": {
@ -7742,6 +7894,88 @@
],
"title": "Extensions"
},
"ExtractAction": {
"properties": {
"type": {
"type": "string",
"const": "extract",
"title": "Type",
"default": "extract"
},
"prompt": {
"type": "string",
"title": "Prompt",
"description": "Extraction prompt",
"default": ""
},
"extract_schema": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"items": {},
"type": "array"
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Extract Schema",
"description": "Schema for extraction"
},
"error_code_mapping": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
],
"title": "Error Code Mapping",
"description": "Error code mapping for extraction"
},
"intention": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Intention",
"description": "The intention or goal of the extraction"
},
"data": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Data",
"description": "Additional context data"
}
},
"type": "object",
"title": "ExtractAction",
"description": "Extract data action parameters."
},
"ExtractionBlock": {
"properties": {
"label": {
@ -10776,6 +11010,97 @@
"type": "object",
"title": "InputOrSelectContext"
},
"InputTextAction": {
"properties": {
"type": {
"type": "string",
"const": "ai_input_text",
"title": "Type",
"default": "ai_input_text"
},
"selector": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Selector",
"description": "CSS selector for the element",
"default": ""
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Value",
"description": "Value to input",
"default": ""
},
"intention": {
"type": "string",
"title": "Intention",
"description": "The intention or goal of the input",
"default": ""
},
"data": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Data",
"description": "Additional context data"
},
"totp_identifier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Totp Identifier",
"description": "TOTP identifier for input_text actions"
},
"totp_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Totp Url",
"description": "TOTP URL for input_text actions"
},
"timeout": {
"type": "number",
"title": "Timeout",
"description": "Timeout in milliseconds",
"default": 10000
}
},
"type": "object",
"title": "InputTextAction",
"description": "Input text action parameters."
},
"JinjaBranchCriteria": {
"properties": {
"criteria_type": {
@ -10807,6 +11132,25 @@
"title": "JinjaBranchCriteria",
"description": "Jinja2-templated branch criteria (only supported criteria type for now)."
},
"LocateElementAction": {
"properties": {
"type": {
"type": "string",
"const": "locate_element",
"title": "Type",
"default": "locate_element"
},
"prompt": {
"type": "string",
"title": "Prompt",
"description": "Natural language prompt to locate an element",
"default": ""
}
},
"type": "object",
"title": "LocateElementAction",
"description": "Locate element action parameters."
},
"LoginBlock": {
"properties": {
"label": {
@ -12859,6 +13203,53 @@
],
"title": "PrintPageBlockYAML"
},
"PromptAction": {
"properties": {
"type": {
"type": "string",
"const": "prompt",
"title": "Type",
"default": "prompt"
},
"prompt": {
"type": "string",
"title": "Prompt",
"description": "The prompt to send to the LLM"
},
"response_schema": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Response Schema",
"description": "Optional JSON schema to structure the response"
},
"model": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Model",
"description": "Optional model configuration"
}
},
"type": "object",
"required": [
"prompt"
],
"title": "PromptAction",
"description": "Prompt action parameters."
},
"PromptBranchCriteria": {
"properties": {
"criteria_type": {
@ -12952,6 +13343,130 @@
],
"title": "RunEngine"
},
"RunSdkActionRequest": {
"properties": {
"url": {
"type": "string",
"title": "Url",
"description": "The URL where the action should be executed"
},
"browser_session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Browser Session Id",
"description": "The browser session ID"
},
"browser_address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Browser Address",
"description": "The browser address"
},
"workflow_run_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workflow Run Id",
"description": "Optional workflow run ID to continue an existing workflow run"
},
"action": {
"oneOf": [
{
"$ref": "#/components/schemas/ClickAction"
},
{
"$ref": "#/components/schemas/InputTextAction"
},
{
"$ref": "#/components/schemas/SelectOptionAction"
},
{
"$ref": "#/components/schemas/UploadFileAction"
},
{
"$ref": "#/components/schemas/ActAction"
},
{
"$ref": "#/components/schemas/ExtractAction"
},
{
"$ref": "#/components/schemas/LocateElementAction"
},
{
"$ref": "#/components/schemas/ValidateAction"
},
{
"$ref": "#/components/schemas/PromptAction"
}
],
"title": "Action",
"description": "The action to execute with its specific parameters",
"discriminator": {
"propertyName": "type",
"mapping": {
"ai_act": "#/components/schemas/ActAction",
"ai_click": "#/components/schemas/ClickAction",
"ai_input_text": "#/components/schemas/InputTextAction",
"ai_select_option": "#/components/schemas/SelectOptionAction",
"ai_upload_file": "#/components/schemas/UploadFileAction",
"extract": "#/components/schemas/ExtractAction",
"locate_element": "#/components/schemas/LocateElementAction",
"prompt": "#/components/schemas/PromptAction",
"validate": "#/components/schemas/ValidateAction"
}
}
}
},
"type": "object",
"required": [
"url",
"action"
],
"title": "RunSdkActionRequest",
"description": "Request to run a single SDK action."
},
"RunSdkActionResponse": {
"properties": {
"workflow_run_id": {
"type": "string",
"title": "Workflow Run Id",
"description": "The workflow run ID used for this action"
},
"result": {
"anyOf": [
{},
{
"type": "null"
}
],
"title": "Result",
"description": "The result from the action (e.g., selector, value, extracted data)"
}
},
"type": "object",
"required": [
"workflow_run_id"
],
"title": "RunSdkActionResponse",
"description": "Response from running an SDK action."
},
"RunStatus": {
"type": "string",
"enum": [
@ -13178,6 +13693,73 @@
"type": "object",
"title": "SelectOption"
},
"SelectOptionAction": {
"properties": {
"type": {
"type": "string",
"const": "ai_select_option",
"title": "Type",
"default": "ai_select_option"
},
"selector": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Selector",
"description": "CSS selector for the element",
"default": ""
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Value",
"description": "Value to select",
"default": ""
},
"intention": {
"type": "string",
"title": "Intention",
"description": "The intention or goal of the selection",
"default": ""
},
"data": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Data",
"description": "Additional context data"
},
"timeout": {
"type": "number",
"title": "Timeout",
"description": "Timeout in milliseconds",
"default": 10000
}
},
"type": "object",
"title": "SelectOptionAction",
"description": "Select option action parameters."
},
"SendEmailBlock": {
"properties": {
"label": {
@ -15609,6 +16191,73 @@
"title": "UpdateWorkflowFolderRequest",
"description": "Request model for updating a workflow's folder assignment"
},
"UploadFileAction": {
"properties": {
"type": {
"type": "string",
"const": "ai_upload_file",
"title": "Type",
"default": "ai_upload_file"
},
"selector": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Selector",
"description": "CSS selector for the element",
"default": ""
},
"file_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Url",
"description": "File URL for upload",
"default": ""
},
"intention": {
"type": "string",
"title": "Intention",
"description": "The intention or goal of the upload",
"default": ""
},
"data": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Data",
"description": "Additional context data"
},
"timeout": {
"type": "number",
"title": "Timeout",
"description": "Timeout in milliseconds",
"default": 10000
}
},
"type": "object",
"title": "UploadFileAction",
"description": "Upload file action parameters."
},
"UploadFileResponse": {
"properties": {
"s3_uri": {
@ -16144,6 +16793,40 @@
],
"title": "UserDefinedError"
},
"ValidateAction": {
"properties": {
"type": {
"type": "string",
"const": "validate",
"title": "Type",
"default": "validate"
},
"prompt": {
"type": "string",
"title": "Prompt",
"description": "Validation criteria or condition to check"
},
"model": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Model",
"description": "Optional model configuration"
}
},
"type": "object",
"required": [
"prompt"
],
"title": "ValidateAction",
"description": "Validate action parameters."
},
"ValidationBlock": {
"properties": {
"label": {