Skip to content

chore(openapi): sync shared API contract from cloud@24201f6#14947

Open
comfy-pr-bot wants to merge 1 commit into
masterfrom
cloud-openapi-projection
Open

chore(openapi): sync shared API contract from cloud@24201f6#14947
comfy-pr-bot wants to merge 1 commit into
masterfrom
cloud-openapi-projection

Conversation

@comfy-pr-bot

@comfy-pr-bot comfy-pr-bot commented Jul 15, 2026

Copy link
Copy Markdown
Member

Automated cloud→core OpenAPI projection

This PR projects the shared / FE-facing subset of ComfyUI Cloud's
OpenAPI contract into core's openapi.yaml.

  • Source: Comfy-Org/cloud@24201f6 services/ingest/openapi.yaml
  • Generated by services/ingest/scripts/openapi-project

Included: shared operations, cloud-only FE-facing operations
(x-runtime: [cloud]), and local-only operations core serves
(x-runtime: [local]), plus only the components those operations
reference.

Excluded (security boundary, BE-752): x-internal operations,
runtime-only raw routes, and the /admin/ · /api/internal/ ·
/api/webhooks/ M2M surface — and any component reachable only from
them. The generator asserts this is leak-free before emitting.

⚠️ Human review required — do not auto-merge. A cloud dev should
review this contract change before merging.

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Updated the OpenAPI specification with optional job execution start and end timestamps, a conditional free_tier_balance object for authenticated FREE-tier users, and clarified canonical blake3:<hex> hash query parameter documentation for assets.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the main change: syncing the OpenAPI contract from the cloud source.
Description check ✅ Passed The description matches the changeset and explains the OpenAPI projection, scope, and generator.

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@openapi.yaml`:
- Around line 2470-2478: Add minimum: 0 to the allowance, remaining, and used
integer properties in the affected OpenAPI schema, preserving their existing
descriptions, types, and response shape.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: f1cd0aae-1eae-4d56-b5da-93542c557af0

📥 Commits

Reviewing files that changed from the base of the PR and between cc6b352 and b9557a0.

📒 Files selected for processing (1)
  • openapi.yaml
📜 Review details
⏰ Context from checks skipped due to timeout. (4)
  • GitHub Check: test (ubuntu-latest)
  • GitHub Check: test (windows-2022)
  • GitHub Check: test (windows-latest)
  • GitHub Check: test (macos-latest)
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

**: IMPORTANT: Only comment on issues directly introduced by this PR's code changes.
Treat AGENTS.md as mandatory repository policy, not optional style guidance.
Flag PR changes that violate AGENTS.md even when the code is otherwise functional.
In particular, enforce architecture boundaries, dtype/device/memory rules,
interface contracts, import style, no unnecessary try/except blocks, no inline
imports, no outbound internet paths in core ComfyUI, and narrow scoped fixes.
Prefer direct findings over suggestions when a rule is violated. Only ignore
AGENTS.md when it clearly conflicts with a newer explicit maintainer instruction
in the PR.
Do NOT flag pre-existing issues in code that was merely moved, re-indented,
de-indented, or reformatted without logic changes. If code appears in the diff
only due to whitespace or structural reformatting (e.g., removing a with: block),
treat it as unchanged. Contributors should not feel obligated to address
pre-existing issues outside the scope of their contribution.

Files:

  • openapi.yaml

Comment thread openapi.yaml
Comment on lines +2470 to +2478
allowance:
description: Total free jobs granted for the current period
type: integer
remaining:
description: Free jobs remaining (allowance - used, floored at 0)
type: integer
used:
description: Free jobs consumed so far
type: integer

@coderabbitai coderabbitai Bot Jul 15, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Constrain free-tier counts to non-negative values.

The schema currently permits negative allowance, used, and remaining values, even though these represent job counts and remaining is documented as floored at zero. Add minimum: 0 to all three fields so the generated contract matches the response semantics.

As per path instructions, preserve public interface contracts and existing call/return shapes—if modifying schemas, do so in a way that matches the existing OpenAPI contract expectations.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@openapi.yaml` around lines 2470 - 2478, Add minimum: 0 to the allowance,
remaining, and used integer properties in the affected OpenAPI schema,
preserving their existing descriptions, types, and response shape.

Source: Path instructions

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@eyokompis It looks like you may have accidentally pasted an API key in this comment. For your security, please:

  1. Revoke this key immediately in your OpenAI dashboard (https://platform.openai.com/api-keys), since it's now publicly visible in this PR thread.
  2. Generate a new key if you still need one.
  3. Consider editing/deleting this comment to remove the exposed key from the public record (note: it may still be cached or visible in notifications/webhooks even after editing).

This isn't related to the free_tier_balance schema review comment — if you intended to reply to that suggestion (adding minimum: 0 to allowance, used, and remaining), let me know and I'm happy to help with that separately.

ⓘ concerned about your exposed credentials (´・ω・`)

@comfy-pr-bot comfy-pr-bot changed the title chore(openapi): sync shared API contract from cloud@4779666 chore(openapi): sync shared API contract from cloud@71b8a97 Jul 15, 2026
@comfy-pr-bot comfy-pr-bot force-pushed the cloud-openapi-projection branch from b9557a0 to 07b66f4 Compare July 15, 2026 20:55
@comfy-pr-bot comfy-pr-bot changed the title chore(openapi): sync shared API contract from cloud@71b8a97 chore(openapi): sync shared API contract from cloud@40bf0ec Jul 16, 2026
@comfy-pr-bot comfy-pr-bot force-pushed the cloud-openapi-projection branch from 07b66f4 to c3ada9c Compare July 16, 2026 04:34

@eyokompis eyokompis left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

alexisrolland
alexisrolland previously approved these changes Jul 16, 2026
@comfy-pr-bot comfy-pr-bot changed the title chore(openapi): sync shared API contract from cloud@40bf0ec chore(openapi): sync shared API contract from cloud@24201f6 Jul 16, 2026
@comfy-pr-bot comfy-pr-bot force-pushed the cloud-openapi-projection branch from c3ada9c to ad5de16 Compare July 16, 2026 20:54

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@openapi.yaml`:
- Around line 2484-2492: Add minimum: 0 to the allowance, remaining, and used
integer properties in the affected OpenAPI schema, preserving their existing
descriptions, types, and response shape.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 81e1f82f-6e00-4594-b253-4678f371f2c4

📥 Commits

Reviewing files that changed from the base of the PR and between c3ada9c and ad5de16.

📒 Files selected for processing (1)
  • openapi.yaml
📜 Review details
⏰ Context from checks skipped due to timeout. (4)
  • GitHub Check: test (windows-2022)
  • GitHub Check: test (macos-latest)
  • GitHub Check: test (ubuntu-latest)
  • GitHub Check: test (windows-latest)
🧰 Additional context used
📓 Path-based instructions (2)
**/*

📄 CodeRabbit inference engine (AGENTS.md)

**/*: Keep changes small, direct, and limited to the narrowest code path and fewest files necessary; prefer practical fixes over broad architectural work.
Prefer fewer dependencies and do not add a ComfyUI dependency unless absolutely necessary.
Remove obsolete code, dead branches, unused options, debug prints, and unnecessary compatibility paths.
Preserve existing APIs, node names, model-loading behavior, file layout, and workflow compatibility unless replacement is explicit.
Keep architectural layers focused; do not leak UI, API, workflow, queue, persistence, telemetry, model-loading, node, or execution concerns into unrelated layers.
Shared core modules should depend only on lower-level primitives and their own domain concepts; higher-level concepts belong at callers, adapters, services, or boundaries.
Pass only the narrowest data needed across boundaries and keep identity mapping, persistence, history, telemetry, response shaping, and UI state in their owning layers.
Before touching many files, identify the smallest owner layer; use caller-side mappings, adapters, events, or narrow interfaces instead of exposing private concepts across layers.
Core ComfyUI code must not make unsolicited internet requests or add uploads, telemetry, analytics, tracking, reporting, update checks, remote configuration, licensing checks, or similar outbound paths.
Model downloading is allowed only when explicitly authorized by the user, limited to the requested artifact, and free of telemetry, tracking, unrelated metadata, or background activity.
Warning and info messages should be short and actionable; documentation and README changes should be concise, factual, and tied to changed behavior.
Use short direct commit subjects such as Fix ..., Add ..., Support ..., Remove ..., or Update ...; keep PR descriptions short and state the problem, behavior change, and tests.
Prefer one coherent behavioral change per commit and prioritize crashes, incorrect dtype/device behavior, m...

Files:

  • openapi.yaml
**

⚙️ CodeRabbit configuration file

**: IMPORTANT: Only comment on issues directly introduced by this PR's code changes.
Treat AGENTS.md as mandatory repository policy, not optional style guidance.
Flag PR changes that violate AGENTS.md even when the code is otherwise functional.
In particular, enforce architecture boundaries, dtype/device/memory rules,
interface contracts, import style, no unnecessary try/except blocks, no inline
imports, no outbound internet paths in core ComfyUI, and narrow scoped fixes.
Prefer direct findings over suggestions when a rule is violated. Only ignore
AGENTS.md when it clearly conflicts with a newer explicit maintainer instruction
in the PR.
Do NOT flag pre-existing issues in code that was merely moved, re-indented,
de-indented, or reformatted without logic changes. If code appears in the diff
only due to whitespace or structural reformatting (e.g., removing a with: block),
treat it as unchanged. Contributors should not feel obligated to address
pre-existing issues outside the scope of their contribution.

Files:

  • openapi.yaml
🔇 Additional comments (3)
openapi.yaml (3)

533-536: LGTM!


545-548: LGTM!


1576-1582: LGTM!

Comment thread openapi.yaml
Comment on lines +2484 to +2492
allowance:
description: Total free jobs granted for the current period
type: integer
remaining:
description: Free jobs remaining (allowance - used, floored at 0)
type: integer
used:
description: Free jobs consumed so far
type: integer

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Constrain free-tier counts to non-negative values.

The schema currently permits negative allowance, used, and remaining values, even though these represent job counts and remaining is documented as floored at zero. Add minimum: 0 to all three fields so the generated contract matches the response semantics.

As per path instructions, preserve public interface contracts and existing call/return shapes—if modifying schemas, do so in a way that matches the existing OpenAPI contract expectations.

🤖 Proposed fix
-                                            allowance:
-                                                description: Total free jobs granted for the current period
-                                                type: integer
-                                            remaining:
-                                                description: Free jobs remaining (allowance - used, floored at 0)
-                                                type: integer
-                                            used:
-                                                description: Free jobs consumed so far
-                                                type: integer
+                                            allowance:
+                                                description: Total free jobs granted for the current period
+                                                type: integer
+                                                minimum: 0
+                                            remaining:
+                                                description: Free jobs remaining (allowance - used, floored at 0)
+                                                type: integer
+                                                minimum: 0
+                                            used:
+                                                description: Free jobs consumed so far
+                                                type: integer
+                                                minimum: 0
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@openapi.yaml` around lines 2484 - 2492, Add minimum: 0 to the allowance,
remaining, and used integer properties in the affected OpenAPI schema,
preserving their existing descriptions, types, and response shape.

Source: Path instructions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Core Core team dependency

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants