Skip to content

Conversation

@wintonzheng
Copy link
Contributor

@wintonzheng wintonzheng commented Nov 24, 2025

Summary by CodeRabbit

  • Bug Fixes
    • Improved cache handling for workflows utilizing external scripts by refining the invalidation logic. Blocks executed through external integrations are now correctly managed in the caching system, ensuring more accurate workflow execution behavior.

✏️ Tip: You can customize this high-level summary in your review settings.


Important

Refines caching logic in _execute_workflow_blocks() in service.py to exclude script-backed blocks from caching and expands cache eligibility for other components.

  • Behavior:
    • Refines caching logic in _execute_workflow_blocks() in service.py to exclude script-backed blocks from being cached.
    • Expands cache eligibility for other workflow components by checking if block.label is not in script_blocks_by_label.
  • Misc:
    • Removes redundant check for disable_cache attribute in _execute_workflow_blocks() in service.py.

This description was created by Ellipsis for 275d248. You can customize this summary. It will automatically update as commits are pushed.



🔄 This PR optimizes workflow block caching by preventing regeneration of scripts that are already cached, improving performance by avoiding redundant script generation for blocks that have already been processed.

🔍 Detailed Analysis

Key Changes

  • Caching Logic: Added check for block.label not in script_blocks_by_label to prevent re-caching already processed blocks
  • Cache Control: Removed the disable_cache attribute check, allowing more blocks to be eligible for caching
  • Condition Reordering: Moved the script block check earlier in the conditional logic for better performance

Technical Implementation

flowchart TD
    A[Block Execution Complete] --> B{Block has label?}
    B -->|No| E[Skip Caching]
    B -->|Yes| C{Label in script_blocks_by_label?}
    C -->|Yes| E[Skip Caching - Already Cached]
    C -->|No| D{Status == completed?}
    D -->|No| E
    D -->|Yes| F{Block type cacheable?}
    F -->|No| E
    F -->|Yes| G[Add to blocks_to_update]
Loading

Impact

  • Performance Improvement: Eliminates redundant script generation for blocks that are already cached in script_blocks_by_label
  • Cache Efficiency: Expands caching eligibility by removing the disable_cache restriction while maintaining proper exclusion of already-cached blocks
  • Resource Optimization: Reduces computational overhead by avoiding duplicate processing of workflow blocks that have already been converted to scripts

Created with Palmier

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

**Bug Fixes**
* Improved workflow block execution by refining caching logic to properly exclude script-backed blocks while expanding cache eligibility for other workflow components.

<sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- ELLIPSIS_HIDDEN -->

----

> [!IMPORTANT]
> Remove `disable_cache` check in `_execute_workflow_blocks()` to allow caching of blocks with `disable_cache` set to `True` if other conditions are met.
>
>   - **Behavior**:
>     - In `_execute_workflow_blocks()` in `service.py`, remove `disable_cache` check when determining if a block should be added to `blocks_to_update`.
>     - Blocks with `disable_cache` set to `True` can now be cached if they meet other conditions.
>   - **Conditions**:
>     - Block must not have been executed with code.
>     - Block must have a label not in `script_blocks_by_label`.
>     - Block status must be `completed`.
>     - Block type must be in `BLOCK_TYPES_THAT_SHOULD_BE_CACHED`.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis" src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=Skyvern-AI%2Fskyvern-cloud&utm_source=github&utm_medium=referral)<sup> for ea1ede118b9ff928d5744a686edb5dc1417d58c4. You can [customize](https://app.ellipsis.dev/Skyvern-AI/settings/summaries) this summary. It will automatically update as commits are pushed.</sup>

<!-- ELLIPSIS_HIDDEN -->
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 24, 2025

Walkthrough

A guard condition is added to the cache-invalidation logic in the workflow service. Blocks with labels present in the script_blocks_by_label mapping are excluded from caching, ensuring externally-executed blocks follow code-driven execution paths rather than relying on cache.

Changes

Cohort / File(s) Summary
Cache-invalidation guard
skyvern/forge/sdk/workflow/service.py
Adds a condition to skip caching blocks whose labels appear in script_blocks_by_label, preventing external script-driven blocks from using the cache-invalidation path

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Attention areas:
    • Verify the guard condition correctly identifies script-driven blocks and doesn't inadvertently exclude legitimate cacheable blocks
    • Confirm the logic flow and interaction with existing block-type eligibility and completion status checks
    • Assess potential side effects on cache behavior and execution flow for blocks with and without script mappings

Possibly related PRs

Poem

🐰 A cache guard hops near, swift and clear,
"Script-driven blocks shall not appear!"
When labels match the scripts we hold,
We skip the cache, brave and bold.
No phantom data left behind—
Just fresh paths for each block we find.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'do not keep regenerating scripts if already cached' directly aligns with the PR's main objective to prevent script regeneration when cached versions exist.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch shu/do_not_keep_generating_scripts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Looks good to me! 👍

Reviewed everything up to 275d248 in 1 minute and 3 seconds. Click for details.
  • Reviewed 14 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 3 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. skyvern/forge/sdk/workflow/service.py:3312
  • Draft comment:
    When block_labels are provided and code_gen is false, the function returns early. Ensure this behavior (skipping script regeneration during partial execution) is intended; please add clarification.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
2. skyvern/forge/sdk/workflow/service.py:3338
  • Draft comment:
    The set comparison updates only for missing expected block labels. Consider whether extra (obsolete) labels in the cached script should also trigger regeneration.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
3. skyvern/forge/sdk/workflow/service.py:3350
  • Draft comment:
    Good check to skip regeneration if no update is needed. A brief inline comment explaining the rationale for the should_regenerate logic would improve clarity.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None

Workflow ID: wflow_xWCyJDEno6yH1j23

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Looks good to me! 👍

Reviewed 275d248 in 2 minutes and 18 seconds. Click for details.
  • Reviewed 14 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 1 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. skyvern/forge/sdk/workflow/service.py:968
  • Draft comment:
    The caching update condition was changed to remove the check for disable_cache. Previously, blocks with disable_cache=True were skipped, but now they are added to the update set if other conditions hold. Confirm that this change is intended and consider adding a comment explaining why the disable_cache check is removed.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 10% vs. threshold = 50% This comment explicitly asks the PR author to "confirm that this change is intended" which directly violates the rule: "Do NOT ask the PR author to confirm their intention, to explain, to double-check things, to ensure the behavior is intended". The comment is also asking for a code comment to be added explaining the change, which is somewhat speculative - it assumes that the change needs explanation without strong evidence that it's incorrect. The comment doesn't identify a clear bug or issue, it's just questioning whether the change was intentional. This type of comment should be deleted according to the rules. Perhaps the removal of the disable_cache check could actually be a bug - maybe blocks with disable_cache=True should still be excluded from the update set. Without understanding the full context of what disable_cache means and how it's used, I might be missing something important. Even if this could potentially be a bug, the comment doesn't make a definitive statement about it being wrong. It only asks for confirmation and suggests adding a comment. According to the rules, I should only keep comments where there is STRONG EVIDENCE that the comment is correct. This comment is purely asking for confirmation, which is explicitly prohibited. This comment should be deleted because it asks the PR author to confirm their intention and doesn't identify a clear, definitive issue with the code. It violates the rule against asking for confirmation or explanation.

Workflow ID: wflow_o9sCCNkQEvpzwimh

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

@wintonzheng wintonzheng merged commit c5b5486 into main Nov 24, 2025
9 checks passed
@wintonzheng wintonzheng deleted the shu/do_not_keep_generating_scripts branch November 24, 2025 09:55
laulopezreal pushed a commit to laulopezreal/skyvern that referenced this pull request Nov 24, 2025
laulopezreal added a commit to laulopezreal/skyvern that referenced this pull request Nov 24, 2025
MarcelSSouza added a commit to jobbyo/skyvern that referenced this pull request Nov 25, 2025
* Reapply: Separate cloud dependencies in pyproject.toml (Skyvern-AI#3779) (Skyvern-AI#3781)

* update skyvern client (Skyvern-AI#3733)

* Make PostHog async (Skyvern-AI#3786)

* prepend scheme to login endpoint url (Skyvern-AI#3787)

* do not use critical log unless it's really critical (Skyvern-AI#3778)

* BE portion of seamless clipboard transfer in browser stream (Skyvern-AI#3788)

* Fix broken SkyvernEnvironment in SDK (Skyvern-AI#3789)

* TaskV2: Ask AI if relocation is needed based on current url as the first step (Skyvern-AI#3761)

* Webhook Replay Test URL (Skyvern-AI#3769)

Co-authored-by: Shuchang Zheng <wintonzheng0325@gmail.com>

* Store user_url in initialize_task_v2 (Skyvern-AI#3791)

* Store empty user_url as None in initialize_task_v2 (Skyvern-AI#3793)

* upgrade precommit configurations (Skyvern-AI#3794)

* handle NONE type in http response (Skyvern-AI#3795)

* prepend url schema in skyvern page goto (Skyvern-AI#3796)

* support new tab magic link logic (Skyvern-AI#3797)

* Browser streaming: add org token to CDP connection header (Skyvern-AI#3792)

* FE portion of seamless clipboard transfer in browser stream (Skyvern-AI#3799)

* backend - add 'paused' as a workflow run status (Skyvern-AI#3800)

* Skyvern 0.2.18 (Skyvern-AI#3784)

* Refactoring: merge WorkflowParameterEditPanel and WorkflowParameterAddPanel (Skyvern-AI#3750)

* Update custom domain URL format in docs.yml (Skyvern-AI#3801)

* Wait time optimization xp (Skyvern-AI#3802)

* set context.step_id and context.task_id at the beginning of execute_step and unset at the end + auto log step_id & task_id (Skyvern-AI#3803)

* Generate Fern TypeSscript SDK (Skyvern-AI#3785)

* chore: remove `x-api-key` auth scheme (Skyvern-AI#3805)

Co-authored-by: Stanislav Novosad <stas@skyvern.com>

* Release 0.2.19: Update Fern TS SDK (Skyvern-AI#3807)

* fix script gen asyncio create_task bug (Skyvern-AI#3798)

* Backend: implement InteractionBlock (Skyvern-AI#3810)

* fix SelectItem value for Run With in start node workflow settings (Skyvern-AI#3774)

* fix reload action (Skyvern-AI#3811)

* add log attrs for failed emails (Skyvern-AI#3812)

* ensure disable_cache saves for v2 task block (Skyvern-AI#3813)

* fix settings in email api (Skyvern-AI#3814)

* get task v2 block disable_cache value back (Skyvern-AI#3815)

* point flash and flash lite to stable (Skyvern-AI#3816)

* fix send email api (Skyvern-AI#3818)

* FE implementation of InteractionNode (Skyvern-AI#3821)

* TypeScript SDK: building automatically via workflow (Skyvern-AI#3820)

* Update API specifications with fern api update (Skyvern-AI#3819)

Co-authored-by: github-actions <github-actions@github.com>

* get workflow runs by ids (Skyvern-AI#3824)

* Jon/backend hitl buffs (Skyvern-AI#3826)

* Extract SkyvernPageAi from SkyvernPage (Skyvern-AI#3825)

* make jinja rendering in blocks more strict (Skyvern-AI#3827)

* various hitl buffs (Skyvern-AI#3828)

* Fern: regenerated Python SDK (Skyvern-AI#3829)

* BE: allow workflow run UI to show browser stream if workflow run has one (Skyvern-AI#3834)

* make templating strictness easy to switch between (Skyvern-AI#3835)

* FE: allow workflow run UI to show browser stream if workflow run has one (Skyvern-AI#3838)

* Cleanup ENABLE_TASKV2_METADATA_CURRENT_URL_VALIDATION experiment (Skyvern-AI#3836)

* Fern: add TypeScript code examples (Skyvern-AI#3839)

* Fern: generated SDK post processing  (Skyvern-AI#3840)

* not try selectable input for otp or secret input (Skyvern-AI#3843)

* skip msedge download hub page (Skyvern-AI#3844)

* mark readonly element as interactable (Skyvern-AI#3845)

* label workflow failure reason by status (Skyvern-AI#3830)

* Update API specifications with fern api update (Skyvern-AI#3842)

Co-authored-by: github-actions <github-actions@github.com>

* make templating lax again (Skyvern-AI#3846)

* making gpt5 models have temp 1 (Skyvern-AI#3849)

* Release v0.2.21 (Skyvern-AI#3848)

* Log response status in request_logging (Skyvern-AI#3747)

* SDK: support actions skeleton (Skyvern-AI#3817)

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* automatically parse content from totp url (Skyvern-AI#3852)

* set up xp for using cheaper model for verication result (Skyvern-AI#3853)

* Fix z-indexing issue for timeline/browser stream in debugger view (Skyvern-AI#3854)

* set workflow status to 'published' when a user saves a workflow (Skyvern-AI#3855)

* Use lazy imports in __init__.py (Skyvern-AI#3847)

* Add GET /v1/credentials/totp to list recent 2FA codes per org (Skyvern-AI#3770)

* removing laminar (Skyvern-AI#3858)

* revert Skyvern-AI#2154 - fix complete action bug (Skyvern-AI#3859)

* Update `Copy to cURL` buttons to reference the new Runs API spec (Skyvern-AI#3765)

Co-authored-by: Shuchang Zheng <wintonzheng0325@gmail.com>

* OS-level workflow run alert (w sound) on status change (Skyvern-AI#3862)

* add notification sound for workflow runs (Skyvern-AI#3863)

* SDK: support select_option and extract (Skyvern-AI#3850)

* ensure recordings show after browser session ends (Skyvern-AI#3864)

* ensure stream continues when switching between stream and recordings (Skyvern-AI#3865)

* connect prompt to ai click, ai input and ai select (Skyvern-AI#3868)

* SDK: support more playwright features (Skyvern-AI#3866)

* Cleanup unused dependencies (Skyvern-AI#3872)

* update uv lock (Skyvern-AI#3860)

* SDK: rename SkyvernEnvironment (Skyvern-AI#3870)

* Improve LLM error message when LLM is down (Skyvern-AI#3874)

* parallel check user goal xp (Skyvern-AI#3873)

* increase wait time to load auto completion options (Skyvern-AI#3876)

* add workflow_run_id & workflow_run_block_id to script_blocks table (Skyvern-AI#3879)

* fix pbs download file bug (Skyvern-AI#3880)

* Coalesce the Validation Block and the new Human Interaction Block (Skyvern-AI#3882)

* Support None/Invalid selector in ai_input_text (Skyvern-AI#3883)

* SDK: auto-start server in local mode (Skyvern-AI#3869)

* Support None/Invalid selector in ai_upload_file (Skyvern-AI#3884)

* refactor webhook signature (Skyvern-AI#3889)

* Add JSON to code block (Skyvern-AI#3885)

Co-authored-by: Suchintan Singh <suchintan@skyvern.com>

* Add marc GH Info to sync-skyvern-cloud yml (Skyvern-AI#3886)

Co-authored-by: Suchintan <suchintan@users.noreply.github.com>

* add ClickContext to support click action ai="fallback" in generated code (Skyvern-AI#3892)

* fix task v1 rerun shell command (Skyvern-AI#3893)

* Clean up Azure migration (Skyvern-AI#3895)

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* add run_with & ai_fallback to workflow run status update logs (Skyvern-AI#3896)

* SDK: Support AI act feature (Skyvern-AI#3888)

* Code gen: Rename 'intention' -> 'prompt' (Skyvern-AI#3900)

Co-authored-by: Shuchang Zheng <wintonzheng0325@gmail.com>

* Backend: unified /runs URL (Skyvern-AI#3898)

* add workflow_run_id and workflow_run_block_id in create/update script_blocks code (Skyvern-AI#3904)

* [SKY-6973] [1/3] Browser Profiles - database and s3 storage layer (Skyvern-AI#3899)

* Update API specifications with fern api update (Skyvern-AI#3903)

Co-authored-by: github-actions <github-actions@github.com>

* fix totp call sign (Skyvern-AI#3907)

* cache invalidation update - only delete cached code for impacted block and blocks after the impacted (Skyvern-AI#3908)

* clear workflow_run_failure_reason in reset workflow run logic (Skyvern-AI#3909)

* Refactor script gen with block level code cache (Skyvern-AI#3910)

* Frontend: unified /runs URL (Skyvern-AI#3912)

* Folders, Persistent Import Progress Tracking & UX Enhancements (Skyvern-AI#3841)

Co-authored-by: Jonathan Dobson <jon.m.dobson@gmail.com>

* revert back to old run URL for workflows (Skyvern-AI#3913)

* Log page urls near MissingBrowserStatePage (Skyvern-AI#3901)

* Add 'value' to data (navigation payload) in AI prompts (Skyvern-AI#3902)

* various Validation Block buffs (Skyvern-AI#3919)

* [SKY-6974] Browser Profiles [2/3] Marc/backend browser session profiles (Skyvern-AI#3923)

* Update API specifications with fern api update (Skyvern-AI#3922)

Co-authored-by: github-actions <github-actions@github.com>

* fix diagnostics button clicks (Skyvern-AI#3926)

* always log ip and arn in the pbs logs (Skyvern-AI#3927)

* Various small SDK improvements (Skyvern-AI#3916)

* improvements for folders and parameters (Skyvern-AI#3918)

Co-authored-by: Jonathan Dobson <jon.m.dobson@gmail.com>

* Extract ScriptSkyvernPage from SkyvernPage (Skyvern-AI#3920)

* Regenerate Fern Python SDK (Skyvern-AI#3928)

* Make Status404 page inline (Skyvern-AI#3929)

* Jon/use new runs urls (Skyvern-AI#3930)

* turn off new run urls (Skyvern-AI#3931)

* Add feature flag to skip screenshot annotations (Skyvern-AI#3932)

* Pedro/fix explicit caching vertex api (Skyvern-AI#3933)

* Speed optimizations: Economy element tree and TOTP context parsing skip (Skyvern-AI#3936)

* pass context to multi select agent (Skyvern-AI#3937)

* use new run URLs, attempt iii (Skyvern-AI#3938)

* Two Human Interaction Block Fixes (Skyvern-AI#3940)

* Credentials page UX improvement (Skyvern-AI#3941)

* SkyvernBrowserPage extends SkyvernPage (Skyvern-AI#3921)

* Release TS/Python SDK 2.22 (Skyvern-AI#3942)

* Fix ts-sdk-release.yml (Skyvern-AI#3943)

* SDK: file uploading (public url only) (Skyvern-AI#3867)

* Flatten timeline so forloops and taskv2 blocks play nice (Skyvern-AI#3946)

* Add termination-aware complete verification experiment (SKY-6884) (Skyvern-AI#3948)

* Update API specifications with fern api update (Skyvern-AI#3950)

Co-authored-by: github-actions <github-actions@github.com>

* add date_format context for input and select action context, which will be used as context for caching (Skyvern-AI#3951)

* improve scrolling into view (Skyvern-AI#3952)

* Make SkyvernPage extend Playwright (Skyvern-AI#3934)

* Update API specifications with fern api update (Skyvern-AI#3954)

Co-authored-by: github-actions <github-actions@github.com>

* Publish npm package using Trusted Publisher (Skyvern-AI#3953)

* SDK: more logs & small fixes (Skyvern-AI#3945)

* SDK: embedded server mode (Skyvern-AI#3949)

* Support Google Cloud Workload Identity for vertex models (Skyvern-AI#3956)

* support angular click event (Skyvern-AI#3960)

* fix empty totp generated (Skyvern-AI#3961)

* fix upload file issue (Skyvern-AI#3962)

* SDK: Disable browser logs (Skyvern-AI#3958)

* Expose 'from skyvern import SkyvernSdk' import (Skyvern-AI#3957)

* Simplify SkyvernPage _decorate_call (Skyvern-AI#3959)

* fix get_workflow_for_workflow_run query; filter on wr org, not wf org (Skyvern-AI#3963)

* add remove all unique ids (Skyvern-AI#3964)

* allow user-based generic prompt improval [sic] (Skyvern-AI#3965)

* Fix 'multiple values for keyword argument 'prompt'' (Skyvern-AI#3966)

* SDK: improve IDE highlighting/type support (Skyvern-AI#3967)

* Release v0.2.23 (Skyvern-AI#3969)

* Code generation improvement for select_option action - use label if value is not present (Skyvern-AI#3973)

* fern should point to the staging openapi.json schema (Skyvern-AI#3972)

* add some UI for prompt improval [sic] (Skyvern-AI#3974)

* click context bug: clicking dropdown menu should be considered as a multi option click (Skyvern-AI#3975)

* add log context for No browser state found when creating workflow_run_block (Skyvern-AI#3977)

* Show active workflow title in parameters ui (Skyvern-AI#3978)

* Pedro/vertex cache minimal fix (Skyvern-AI#3981)

* Merge SkyvernSdk and Skyvern extending Fern client (Skyvern-AI#3987)

Co-authored-by: Shuchang Zheng <wintonzheng0325@gmail.com>

* Browser Profile CDP Fix (Skyvern-AI#3990)

* support non url task block (Skyvern-AI#3983)

* SDK: fixing 422 error for empty requests (Skyvern-AI#3968)

* Parameter search & inline display for Past Runs and Run History pages (Skyvern-AI#3985)

* parallelize goal check within task (Skyvern-AI#3997)

* fix error reason when page is no data (Skyvern-AI#3998)

* Release 1.0.0 (Skyvern-AI#4003)

* Update API specifications with fern api update (Skyvern-AI#4002)

Co-authored-by: github-actions <github-actions@github.com>

* validate task_id, workflow_id, workflow_run_id for send_totp_code endpoint before llm prompt to parse totp prompt to fail early (Skyvern-AI#4004)

* fix complete status update issue (Skyvern-AI#4006)

* execute_task_webhook uses the latest non canceled step (Skyvern-AI#4007)

* delete devsy (Skyvern-AI#4008)

* support download by select action (Skyvern-AI#4009)

* cleaned up fallback router (Skyvern-AI#4010)

* get_workflows_depending_on db client code (Skyvern-AI#4011)

* [Webeye] Fix JS loader encoding for domUtils.js (Skyvern-AI#3991)

Co-authored-by: Shuchang Zheng <wintonzheng0325@gmail.com>

* respect workflow and block model overrides (Skyvern-AI#4013)

* remove cache actions (Skyvern-AI#4015)

* fix log typo (Skyvern-AI#4016)

* parse file extension from url query (Skyvern-AI#4017)

* support to scrape on the chrome error page (Skyvern-AI#4018)

* add improve prompt button to task block and action block (Skyvern-AI#4020)

* fix: ensure parallel verification runs data extraction (Skyvern-AI#4014)

* Expand Proxy locations to current list of all Massive supported countries (Skyvern-AI#4022)

* Create a carousel to move Cookbook Templates onto Discover Page (Skyvern-AI#4023)

* use Kaitlyn's prompt for user prompt improvement (Skyvern-AI#4026)

* add vertex gemini 3 pro config (Skyvern-AI#4025)

* Initialize app at runtime instead of import time (Skyvern-AI#4024)

* fix the ai click context missing problem (Skyvern-AI#4029)

* Bill 2.5 cents (50%) for cached steps (Skyvern-AI#4030)

* Browser streaming: reorganize & rename (Skyvern-AI#4033)

* use value of the optiona when the content is empty (Skyvern-AI#4035)

* fix cua engine (Skyvern-AI#4036)

* db: add depends_on_workflow_run_id index (Skyvern-AI#4037)

* changed naming cred params when added to login block (Skyvern-AI#4034)

* allow webhook-generated 2fa to display on 2fa creds - for customers with many creds (Skyvern-AI#4040)

* Fix missing app initialization in `skyvern init` (Skyvern-AI#4038)

* use explicit vertex credentials for cache manager (Skyvern-AI#4039)

* scope termination-aware verification to file download fallback (Skyvern-AI#4043)

* Enhance Windows Compatibility with Event Loop Policy and Path Resolution (Skyvern-AI#3986)

Co-authored-by: Suchintan <suchintan@users.noreply.github.com>
Co-authored-by: Shuchang Zheng <wintonzheng0325@gmail.com>
Co-authored-by: Stanislav Novosad <stas@skyvern.com>

* fix schema validation (Skyvern-AI#4044)

* optimize bool type value parsing in domutils (Skyvern-AI#4046)

* Revert "allow webhook-generated 2fa to display on 2fa creds - for customers with many creds" (Skyvern-AI#4047)

* improve validations on parameter run ui (Skyvern-AI#4000)

Co-authored-by: Jonathan Dobson <jon.m.dobson@gmail.com>

* use different prompt name for click completion check (Skyvern-AI#4048)

* Remove ddtrace dependency from OSS (Skyvern-AI#4049)

* restore vertex cache credentials (Skyvern-AI#4050)

* update browser profile setting (Skyvern-AI#4054)

* fix schema validate (Skyvern-AI#4055)

* handle list-wrapped llm responses (Skyvern-AI#4056)

* raise exception when non dict response (Skyvern-AI#4057)

* improve caching reliability by add retries for scrape_page (Skyvern-AI#4058)

* always use refreshed scrap page in cache (Skyvern-AI#4059)

* Update API specifications with fern api update (Skyvern-AI#4052)

Co-authored-by: github-actions <github-actions@github.com>

* backend changes for magic wand button (Skyvern-AI#4051)

* Magic Wand Button to improve prompts in all blocks (Skyvern-AI#4060)

* Allow running Skyvern on newer DB version when explicitly requested (Skyvern-AI#3955)

* Browser streaming refactor (Skyvern-AI#4064)

* Respect disable goal check in parallel flow (Skyvern-AI#4021)

* allow Show Code controls to render on OSS builds without auth (Skyvern-AI#4065)

* Add workflow definition version (Skyvern-AI#4066)

* workflow definition version transition for skip if and future DAG support (Skyvern-AI#4012)

* SDK: Prompt-based locator (Skyvern-AI#4027)

* allow extract result to be non dict (Skyvern-AI#4069)

* Browser Stream Refactor Fast Follow (Skyvern-AI#4070)

* avoid unnecessary code regeneration when the workflow has non task based blocks (Skyvern-AI#4071)

* Pedro/thinking budget tests (Skyvern-AI#4072)

* cache task run uses block level model override when ai fallback happens (Skyvern-AI#4073)

* lower default page loading time from 90 seconds to 60 seconds (Skyvern-AI#4076)

* cache replay bug - if click locator is not found, fallback to us llm to find the locator (Skyvern-AI#4079)

* do not keep regenerating scripts if already cached (Skyvern-AI#4080)

* v1.0.1 (Skyvern-AI#4081)

* Fix TOTP Code Sort (Skyvern-AI#4082)

* Revert "scope termination-aware verification to file download fallback" (Skyvern-AI#4083)

* rollout termination aware exp for everything (Skyvern-AI#4084)

* Update API specifications with fern api update (Skyvern-AI#4085)

Co-authored-by: github-actions <github-actions@github.com>

* fix(llm): prevent cached_content from being passed to non-Gemini models (Skyvern-AI#4086)

* clear key when run sequnetial run is off (Skyvern-AI#4088)

* prevent cached_content leak to non-extract prompts (Skyvern-AI#4089)

* skip stderr parsing when list bitwarden items (Skyvern-AI#4090)

* fix the script deletion problem when the workflow runs with agent and already has a cached script (Skyvern-AI#4092)

* Browser Exfiltration (Skyvern-AI#4093)

* Optimize get_workflow_scripts_by_cache_key_value SQL (Skyvern-AI#4095)

* Browser streaming: add more verification checks for browser session (Skyvern-AI#4094)

* Add a RadialMenu component (Skyvern-AI#4096)

---------

Co-authored-by: Stanislav Novosad <stas@skyvern.com>
Co-authored-by: Shuchang Zheng <wintonzheng0325@gmail.com>
Co-authored-by: LawyZheng <lawyzheng1106@gmail.com>
Co-authored-by: Jonathan Dobson <jon.m.dobson@gmail.com>
Co-authored-by: Marc Kelechava <marc.kelechava@gmail.com>
Co-authored-by: Suchintan <suchintan@users.noreply.github.com>
Co-authored-by: pedrohsdb <pedro@skyvern.com>
Co-authored-by: Deep Singhvi <deep@buildwithfern.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Suchintan Singh <suchintan@skyvern.com>
Co-authored-by: Marc Kelechava <marc@skyvern.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Celal Zamanoglu <95054566+celalzamanoglu@users.noreply.github.com>
Co-authored-by: kerry <66009926+gimseonjin@users.noreply.github.com>
Co-authored-by: Mohamed Khalil <69445107+mohamedmamdouh22@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants