shorten random string for secret value (#3263)
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
import json
|
||||
import os
|
||||
import random
|
||||
import string
|
||||
from datetime import UTC, datetime
|
||||
from typing import Any
|
||||
@@ -58,6 +56,7 @@ from skyvern.schemas.workflows import (
|
||||
WorkflowStatus,
|
||||
)
|
||||
from skyvern.utils.prompt_engine import load_prompt_with_elements
|
||||
from skyvern.utils.strings import generate_random_string
|
||||
from skyvern.webeye.browser_factory import BrowserState
|
||||
from skyvern.webeye.scraper.scraper import ScrapedPage, scrape_website
|
||||
from skyvern.webeye.utils.page import SkyvernFrame
|
||||
@@ -1045,7 +1044,7 @@ async def _generate_loop_task(
|
||||
artifact_type=ArtifactType.SCREENSHOT_LLM,
|
||||
data=screenshot,
|
||||
)
|
||||
loop_random_string = _generate_random_string()
|
||||
loop_random_string = generate_random_string()
|
||||
label = f"extraction_task_for_loop_{loop_random_string}"
|
||||
loop_values_key = f"loop_values_{loop_random_string}"
|
||||
extraction_block_yaml = ExtractionBlockYAML(
|
||||
@@ -1145,7 +1144,7 @@ async def _generate_loop_task(
|
||||
)
|
||||
app.WORKFLOW_CONTEXT_MANAGER.add_context_parameter(workflow_run_id, url_value_context_parameter)
|
||||
|
||||
task_in_loop_label = f"task_in_loop_{_generate_random_string()}"
|
||||
task_in_loop_label = f"task_in_loop_{generate_random_string()}"
|
||||
context = skyvern_context.ensure_context()
|
||||
task_in_loop_metadata_prompt = prompt_engine.load_prompt(
|
||||
"task_v2_generate_task_block",
|
||||
@@ -1215,7 +1214,7 @@ async def _generate_loop_task(
|
||||
|
||||
# use the output parameter of the extraction block to create the for loop block
|
||||
for_loop_yaml = ForLoopBlockYAML(
|
||||
label=f"loop_{_generate_random_string()}",
|
||||
label=f"loop_{generate_random_string()}",
|
||||
loop_over_parameter_key=loop_for_context_parameter.key,
|
||||
loop_blocks=[block_yaml],
|
||||
)
|
||||
@@ -1273,7 +1272,7 @@ async def _generate_extraction_task(
|
||||
|
||||
# create OutputParameter for the data_extraction block
|
||||
data_schema: dict[str, Any] | list | None = generate_extraction_task_response.get("schema")
|
||||
label = f"data_extraction_{_generate_random_string()}"
|
||||
label = f"data_extraction_{generate_random_string()}"
|
||||
url: str | None = None
|
||||
if not task_history:
|
||||
# data extraction is the very first block
|
||||
@@ -1312,7 +1311,7 @@ async def _generate_navigation_task(
|
||||
totp_identifier: str | None = None,
|
||||
) -> tuple[NavigationBlock, list[BLOCK_YAML_TYPES], list[PARAMETER_YAML_TYPES]]:
|
||||
LOG.info("Generating navigation task", navigation_goal=navigation_goal, original_url=original_url)
|
||||
label = f"navigation_{_generate_random_string()}"
|
||||
label = f"navigation_{generate_random_string()}"
|
||||
navigation_block_yaml = NavigationBlockYAML(
|
||||
label=label,
|
||||
url=original_url,
|
||||
@@ -1346,7 +1345,7 @@ async def _generate_goto_url_task(
|
||||
) -> tuple[UrlBlock, list[BLOCK_YAML_TYPES], list[PARAMETER_YAML_TYPES]]:
|
||||
LOG.info("Generating goto url task", url=url)
|
||||
# create OutputParameter for the data_extraction block
|
||||
label = f"goto_url_{_generate_random_string()}"
|
||||
label = f"goto_url_{generate_random_string()}"
|
||||
|
||||
url_block_yaml = UrlBlockYAML(
|
||||
label=label,
|
||||
@@ -1368,12 +1367,6 @@ async def _generate_goto_url_task(
|
||||
)
|
||||
|
||||
|
||||
def _generate_random_string(length: int = 5) -> str:
|
||||
# Use the current timestamp as the seed
|
||||
random.seed(os.urandom(16))
|
||||
return "".join(random.choices(RANDOM_STRING_POOL, k=length))
|
||||
|
||||
|
||||
async def get_thought_timelines(*, task_v2_id: str, organization_id: str) -> list[WorkflowRunTimeline]:
|
||||
thoughts = await app.DATABASE.get_thoughts(
|
||||
task_v2_id=task_v2_id,
|
||||
|
||||
Reference in New Issue
Block a user