Skip to content

Conversation

wintonzheng
Copy link
Contributor

@wintonzheng wintonzheng commented Oct 11, 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

Update API specifications in skyvern_openapi.json with new fields and TotpType schema.

  • API Specification Updates:
    • Add xpath field to skyvern_openapi.json with string or null type.
    • Add totp_type field to skyvern_openapi.json with reference to TotpType schema.
  • Schema Additions:
    • Add TotpType schema with enum values: authenticator, email, text, none.

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

Summary by CodeRabbit

  • New Features
    • Added support for specifying two-factor method type on credentials and responses, with options: authenticator, email, text, or none (defaults to none).
    • Exposed the two-factor method type in API responses to improve visibility and consistency.
    • Introduced an optional XPath selector on actions to enable more precise element targeting.

Copy link
Contributor

coderabbitai bot commented Oct 11, 2025

Walkthrough

Added a TotpType enum to the public OpenAPI schemas and introduced a totp_type field to password credential schemas with default "none". Also added an optional xpath field to Action. All changes are in fern/openapi/skyvern_openapi.json.

Changes

Cohort / File(s) Summary
New shared enum: TotpType
fern/openapi/skyvern_openapi.json
Added components/schemas/TotpType enum: authenticator, email, text, none (public, reusable).
Credential schema updates
fern/openapi/skyvern_openapi.json
Added public field totp_type (TotpType) to NonEmptyPasswordCredential and PasswordCredentialResponse; default "none", example "authenticator".
Action schema update
fern/openapi/skyvern_openapi.json
Added optional xpath field (string or null) with title "Xpath" to Action.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • suchintan

Poem

I twitch my whiskers at enums new,
TotpType hops in: a tidy crew.
Credentials now with 2FA flair,
"none" by default, but auth’s aware.
An xpath trail for actions bright—
I thump approval, code feels right. 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title Check ❓ Inconclusive The pull request title “Update API specifications with fern api update” is generic and tool-focused rather than describing the substantive changes such as the new TotpType enum, totp_type fields on credential schemas, and the xpath field on Action, so it does not clearly convey the primary update. It lacks specificity about what was actually added or modified in the API spec. Please revise the title to reflect the main API spec changes directly, for example, “Add TotpType enum and totp_type fields to credential schemas and add xpath field to Action” or similar phrasing that highlights the specific modifications.
✅ 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-11T00-27-47-185Z

📜 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 d45d175 and efb9773.

📒 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 efb9773 in 49 seconds. Click for details.
  • Reviewed 70 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. fern/openapi/skyvern_openapi.json:2531
  • Draft comment:
    For the new 'xpath' property, consider using the OpenAPI 'nullable: true' shorthand instead of an 'anyOf' with null. This improves clarity.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None
2. fern/openapi/skyvern_openapi.json:8330
  • Draft comment:
    The 'totp_type' property is added in multiple schemas with identical structures; ensure this duplication is intentional and consider consolidating the definition if appropriate.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None
3. fern/openapi/skyvern_openapi.json:10927
  • Draft comment:
    Verify that the 'TotpType' enum (with values 'authenticator', 'email', 'text', 'none') and the default 'none' value align with the intended 2FA logic and application requirements.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None

Workflow ID: wflow_TSYfuMXhgY3Wqn2N

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

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