-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Update API specifications with fern api update #4254
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughOpenAPI schema update removing folder endpoints while introducing SecretCredential support with new schemas and CredentialType enums, adding "hover" to ActionType, increasing default timeouts from 5000 to 10000 milliseconds, and adjusting numeric constraints across action schemas. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this 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 0370c14 in 2 minutes and 37 seconds. Click for details.
- Reviewed
831lines of code in1files - Skipped
0files when reviewing. - Skipped posting
10draft 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:857
- Draft comment:
Removed folder endpoints and related schemas – this is a breaking change. Confirm that deprecation or migration strategy is in place. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%<= threshold50%The comment is asking the PR author to confirm that a deprecation or migration strategy is in place after removing a folder, which is not allowed by the rules. It does not provide a specific code suggestion or ask for a specific test to be written.
2. fern/openapi/skyvern_openapi.json:3871
- Draft comment:
Added 'hover' action in the actions list. Ensure client support and documentation are updated accordingly. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%<= threshold50%The comment is asking the PR author to ensure that client support and documentation are updated, which falls under the rule of not asking the author to ensure things are tested or documented. This is not a specific code suggestion or a request for a test to be written.
3. fern/openapi/skyvern_openapi.json:5239
- Draft comment:
Default timeout values have been increased from 5000 to 10000 ms in multiple endpoints. Verify that this change does not adversely affect client-side behavior. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%<= threshold50%This comment is asking the PR author to verify that a change does not adversely affect client-side behavior, which falls under the rule of not asking the author to ensure behavior is intended or tested. It does not provide a specific suggestion or point out a specific issue with the code.
4. fern/openapi/skyvern_openapi.json:5793
- Draft comment:
Normalized numeric limits for scheduling fields (e.g. 1440.0 → 1440 and 5.0 → 5) for consistency. Confirm that consumers expect integer values. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%<= threshold50%The comment is asking the author to confirm that consumers expect integer values after normalizing numeric limits. This is a request for confirmation, which violates the rule against asking the PR author to confirm their intention or ensure behavior is intended.
5. fern/openapi/skyvern_openapi.json:14680
- Draft comment:
Normalized confidence_float bounds from 1.0/0.0 to 1/0. Ensure that this change does not affect any precision-dependent logic. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%<= threshold50%The comment is suggesting to ensure that a change does not affect precision-dependent logic. This falls under asking the PR author to ensure behavior, which is against the rules. The comment does not provide a specific suggestion or point out a specific issue with the code.
6. fern/openapi/skyvern_openapi.json:11690
- Draft comment:
New SecretCredential and SecretCredentialResponse schemas have been added for generic secret management. Verify integration with existing credential flows. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%<= threshold50%The comment is asking the PR author to verify integration with existing credential flows, which falls under the category of asking the author to ensure behavior is intended or tested. This violates the rules.
7. fern/openapi/skyvern_openapi.json:17880
- Draft comment:
Expanded the CredentialType enum to include 'secret'. Ensure downstream components properly handle this new credential type. - 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.
8. fern/openapi/skyvern_openapi.json:14110
- Draft comment:
Removed the UpdateWorkflowFolderRequest schema. Confirm that this removal is intentional and that workflows can update folder assignments through other means. - Reason this comment was not posted:
Comment looked like it was already resolved.
9. fern/openapi/skyvern_openapi.json:1148
- Draft comment:
Reordered HTTP response codes in the timeline endpoint (400 now precedes 404). This reordering has no functional impact. - Reason this comment was not posted:
Confidence changes required:0%<= threshold50%None
10. fern/openapi/skyvern_openapi.json:1794
- Draft comment:
Reordered HTTP response codes in the browser session endpoint (403, then 404, then 422). This change is purely cosmetic. - Reason this comment was not posted:
Confidence changes required:0%<= threshold50%None
Workflow ID: wflow_qyccPGD4ZjtMI0MH
You can customize by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
fern/openapi/skyvern_openapi.json (1)
1153-1155: Add structured 404 response bodies for consistency.These 404 entries only include descriptions. Consider returning a JSON error shape (Problem Details or HTTPValidationError) like other errors for consistent SDKs and better DX.
Also applies to: 1799-1801
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
fern/openapi/skyvern_openapi.json(14 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: Skyvern-AI/skyvern PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-24T17:46:44.733Z
Learning: Include a clear description of changes in pull requests
⏰ 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
🔇 Additional comments (4)
fern/openapi/skyvern_openapi.json (4)
3873-3874: New ActionType "hover" — verify end-to-end support.Ensure producers/consumers and SDK clients handle the new enum value (exhaustive switches may break). Add release notes and tests for serialization/deserialization.
5241-5241: Timeout defaults increased to 10s — align with infra and clients.Confirm these 10,000 ms defaults match backend limits, API gateway/proxy timeouts, and SDK per-call timeouts to avoid premature aborts or hangs.
Also applies to: 9470-9470, 11840-11840, 14171-14171
5795-5797: Browser session timeout constraints now integer min/max — LGTM.Inclusive 5–1440 minutes matches the description. No issues.
14680-14682: Probability bounds [0,1] — LGTM.The inclusive min/max on confidence_float are appropriate.
| }, | ||
| { | ||
| "$ref": "#/components/schemas/SecretCredential" | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion | 🟠 Major
SecretCredential: add writeOnly, readOnly, and example to harden security and improve tooling.
To secure sensitive fields and enable proper SDK codegen:
- Add
writeOnly: truetoSecretCredential.secret_value(marks field write-only in requests). - Add
readOnly: truetoSecretCredentialResponse.secret_label(marks field read-only in responses). - Add example with
credential_type: "secret"toCreateCredentialRequest(currently missing). - Verify union discriminator in
CreateCredentialRequest.credentialandCredentialResponse.credentialcorrectly routes secret credentials across SDK codegen.
The same pattern should apply to PasswordCredential and APIKeyCredential for consistency.
Also applies to: 6106-6109, 6141-6143, 11691-11740
🤖 Prompt for AI Agents
In fern/openapi/skyvern_openapi.json around lines 5842-5845 (and also apply
similar changes at 6106-6109, 6141-6143, and the broader range 11691-11740), the
OpenAPI schemas lack security annotations and examples for
secret/password/api-key credential variants; update the SecretCredential schema
to mark the sensitive field secret_value with "writeOnly": true and the
SecretCredentialResponse.secret_label with "readOnly": true, add an example
object with "credential_type": "secret" to CreateCredentialRequest, and ensure
the CreateCredentialRequest.credential and CredentialResponse.credential union
discriminators include the secret/password/apikey variants so codegen routes
correctly; apply the same writeOnly/readOnly and example patterns to
PasswordCredential and APIKeyCredential schemas for consistency and update any
discriminator mappings to reference the correct schema names.
Update API specifications by running fern api update.
📋 This PR updates API specifications using the
fern api updatecommand, ensuring the API documentation and schema definitions are synchronized with the latest changes. This appears to be a routine maintenance update to keep API specifications current and consistent.🔍 Detailed Analysis
Key Changes
Technical Implementation
flowchart TD A[Developer runs 'fern api update'] --> B[Fern analyzes current API implementation] B --> C[Updates API specification files] C --> D[Generates updated documentation/schemas] D --> E[Commits changes to repository]Impact
Analysis Limitations
Recommendations
Created with Palmier
Important
Update API specifications by removing folder-related endpoints and models, adding secret credential models, and adjusting schema constraints.
/v1/folders,/v1/folders/{folder_id},/v1/workflows/{workflow_permanent_id}/folder) fromskyvern_openapi.json.Folder,FolderCreate,FolderUpdate,UpdateWorkflowFolderRequest).SecretCredentialandSecretCredentialResponsemodels.hoverto action types.secrettoCredentialTypeenum.confidence_floatconstraints to integers.This description was created by
for 0370c14. You can customize this summary. It will automatically update as commits are pushed.
Summary by CodeRabbit
New Features
Changes
✏️ Tip: You can customize this high-level summary in your review settings.