Skip to content

Conversation

wintonzheng
Copy link
Contributor

@wintonzheng wintonzheng commented Oct 14, 2025

Update API specifications by running fern api update.


🔧 This PR updates the API specifications by running fern api update, adding support for XPath tracking in tool calls and introducing a comprehensive TOTP (Time-based One-Time Password) type system for 2FA authentication methods.

🔍 Detailed Analysis

Key Changes

  • XPath Support: Added optional xpath field to tool call responses for better element tracking and debugging
  • TOTP Type System: Introduced TotpType enum with four authentication methods: authenticator, email, text, and none
  • Credential Enhancement: Updated credential schemas to include totp_type field with proper defaults and examples

Technical Implementation

flowchart TD
    A[API Specification Update] --> B[Tool Call Enhancement]
    A --> C[Authentication System]
    
    B --> D[Add XPath Field]
    D --> E[Optional String/Null Type]
    
    C --> F[Define TotpType Enum]
    F --> G[authenticator]
    F --> H[email] 
    F --> I[text]
    F --> J[none]
    
    C --> K[Update Credential Schemas]
    K --> L[Add totp_type Field]
    L --> M[Set Default: none]
    L --> N[Add Examples]
Loading

Impact

  • Debugging Capability: XPath field enables better tracking of web elements during automation tasks
  • Security Enhancement: Structured TOTP support allows for multiple 2FA methods with clear type definitions
  • API Consistency: Standardized approach to handling different authentication methods across the platform
  • Backward Compatibility: All new fields are optional with sensible defaults, ensuring no breaking changes

Created with Palmier


Important

Updates skyvern_openapi.json with new xpath and totp_type properties and defines TotpType schema.

  • OpenAPI Specification Update:
    • Adds xpath property with string or null type to skyvern_openapi.json.
    • Adds totp_type property referencing TotpType schema, with default "none" and example "authenticator".
    • Defines new TotpType schema with enum values: "authenticator", "email", "text", "none".

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

Summary by CodeRabbit

  • New Features
    • Added support for specifying and returning the 2FA/TOTP method for password credentials, with options: authenticator, email, text, or none. This appears in credential inputs and responses.
    • Introduced an optional xpath field on actions to enable more precise element selection.

Copy link
Contributor

coderabbitai bot commented Oct 14, 2025

Walkthrough

Adds a new TotpType enum schema and integrates it into credential-related schemas. Introduces a totp_type field to NonEmptyPasswordCredential and PasswordCredentialResponse. Adds an optional xpath field to the Action schema. All changes occur within fern/openapi/skyvern_openapi.json.

Changes

Cohort / File(s) Change summary
TOTP schema introduction
fern/openapi/skyvern_openapi.json
Added components.schemas.TotpType (string enum: "authenticator", "email", "text", "none") with title and description.
Credential schemas updated with totp_type
fern/openapi/skyvern_openapi.json
Added totp_type (ref to TotpType) to NonEmptyPasswordCredential and PasswordCredentialResponse; defaults implied as "none" with examples (e.g., "authenticator").
Action schema enhancement
fern/openapi/skyvern_openapi.json
Added optional xpath property (string or null) to Action schema.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • suchintan

Poem

A hop and a twirl, new enums in sight,
TOTP flavors lined up just right.
Credentials now whisper their 2FA type,
And actions find paths in xpath’s stripe.
I nibble the docs—crunch, crunch, delight!
(\\/) ✅
(•ㅅ•) Schema feels light.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Title Check ⚠️ Warning The title is overly generic and focuses on the tooling command rather than summarizing the substantive API changes such as adding the TotpType enum and xpath fields to the OpenAPI specification. Rename the title to succinctly describe the key changes, for example “Add TotpType enum and xpath property to OpenAPI spec” instead of referencing the tooling command.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-openapi-spec-2025-10-14T00-29-31-356Z

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 89666db and 90f421c.

📒 Files selected for processing (1)
  • fern/openapi/skyvern_openapi.json (4 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Run tests and pre-commit hooks

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 90f421c in 2 minutes and 36 seconds. Click for details.
  • Reviewed 70 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 4 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. fern/openapi/skyvern_openapi.json:2532
  • Draft comment:
    For the new 'xpath' field, if using OpenAPI 3, consider using 'nullable': true instead of an anyOf construct to simplify the schema.
  • Reason this comment was not posted:
    Confidence changes required: 50% <= threshold 50% None
2. fern/openapi/skyvern_openapi.json:8320
  • Draft comment:
    The 'totp_type' field has a default value 'none' but an example value of 'authenticator'. Verify if this discrepancy is intentional.
  • 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. fern/openapi/skyvern_openapi.json:10955
  • Draft comment:
    Consider renaming 'TotpType' to 'TOTPType' for consistent acronym casing across the API.
  • Reason this comment was not posted:
    Confidence changes required: 30% <= threshold 50% None
4. fern/openapi/skyvern_openapi.json:2543
  • Draft comment:
    Typographical suggestion: The title "Xpath" may be intended to reference "XPath" (the common XML Path Language). Consider updating this for consistency and correctness.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 20% vs. threshold = 50% Looking at the diff, this is a new field being added to the schema. The comment is about proper casing/naming of a technical term. While it's technically correct that "XPath" is the proper casing, this kind of minor typographical suggestion doesn't meet the bar for a required code change per the review rules. The rules state we should only keep comments that clearly require code changes, and to not make purely informative comments. The comment is technically accurate about the proper casing of XPath. The field name could potentially cause confusion if developers are searching for documentation. While accurate, this is a minor typographical issue that doesn't impact functionality. The meaning is still clear even with the current casing. The rules specifically say not to make purely informative comments. Delete the comment as it's a minor typographical suggestion that doesn't meet the bar for required code changes per the review rules.

Workflow ID: wflow_HHqBOV2wjYAnjvtg

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

@wintonzheng wintonzheng merged commit a7d18ad into main Oct 14, 2025
8 checks passed
@wintonzheng wintonzheng deleted the update-openapi-spec-2025-10-14T00-29-31-356Z branch October 14, 2025 02:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant