mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-05-10 09:12:31 +08:00
Add cloud-runtime experiment node-schema endpoints to spec
Replace the GET operations at /api/experiment/nodes and
/api/experiment/nodes/{id} with getNodeInfoSchema and getNodeByID —
the optimized, ETag-tagged object_info schema endpoints the cloud
frontend depends on for the workflow editor.
Each operation is tagged x-runtime: [cloud] and uses the runtime-only
tag for cloud-side codegen exclusion. Response headers document the
ETag and Cache-Control validators; 304 Not Modified is declared for
RFC 7232 conditional GETs.
Remove the now-unused CloudNodeList schema to keep Spectral clean.
Co-authored-by: Matt Miller <MillerMedia@users.noreply.github.com>
This commit is contained in:
parent
66669b2ded
commit
b4d7389cc2
97
openapi.yaml
97
openapi.yaml
@ -74,6 +74,8 @@ tags:
|
|||||||
description: Cloud workflow management and versioning (cloud-only)
|
description: Cloud workflow management and versioning (cloud-only)
|
||||||
- name: task
|
- name: task
|
||||||
description: Background task management (cloud-only)
|
description: Background task management (cloud-only)
|
||||||
|
- name: runtime-only
|
||||||
|
description: Operations served exclusively by the cloud runtime with no local equivalent
|
||||||
|
|
||||||
paths:
|
paths:
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
@ -2573,35 +2575,31 @@ paths:
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
/api/experiment/nodes:
|
/api/experiment/nodes:
|
||||||
get:
|
get:
|
||||||
operationId: listCloudNodes
|
operationId: getNodeInfoSchema
|
||||||
tags: [node]
|
tags: [runtime-only]
|
||||||
summary: List installed custom nodes
|
summary: Get pre-rendered node info schema
|
||||||
description: "[cloud-only] Returns the list of custom node packages installed in the cloud runtime."
|
description: "[cloud-only] Returns the static ComfyUI object_info schema, identical for every caller, rendered once at startup with empty model/user-file context. Served by a raw HTTP handler that writes pre-rendered bytes with ETag + Cache-Control validators for RFC 7232 conditional GETs."
|
||||||
x-runtime: [cloud]
|
x-runtime: [cloud]
|
||||||
parameters:
|
|
||||||
- name: limit
|
|
||||||
in: query
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
description: Maximum number of results
|
|
||||||
- name: offset
|
|
||||||
in: query
|
|
||||||
schema:
|
|
||||||
type: integer
|
|
||||||
description: Pagination offset
|
|
||||||
responses:
|
responses:
|
||||||
"200":
|
"200":
|
||||||
description: Custom node list
|
description: Node info schema
|
||||||
|
headers:
|
||||||
|
ETag:
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
description: Entity tag for conditional request validation
|
||||||
|
Cache-Control:
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
description: Cache directives for the response
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/CloudNodeList"
|
type: object
|
||||||
"401":
|
additionalProperties:
|
||||||
description: Unauthorized
|
$ref: "#/components/schemas/NodeInfo"
|
||||||
content:
|
"304":
|
||||||
application/json:
|
description: Not Modified — returned when the client sends a matching If-None-Match header
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudError"
|
|
||||||
post:
|
post:
|
||||||
operationId: installCloudNode
|
operationId: installCloudNode
|
||||||
tags: [node]
|
tags: [node]
|
||||||
@ -2651,10 +2649,10 @@ paths:
|
|||||||
|
|
||||||
/api/experiment/nodes/{id}:
|
/api/experiment/nodes/{id}:
|
||||||
get:
|
get:
|
||||||
operationId: getCloudNode
|
operationId: getNodeByID
|
||||||
tags: [node]
|
tags: [runtime-only]
|
||||||
summary: Get details of an installed custom node
|
summary: Get a single node definition by ID
|
||||||
description: "[cloud-only] Returns details about a specific installed custom node package."
|
description: "[cloud-only] Returns one node's definition from the pre-indexed object_info schema. Served by a raw HTTP handler that writes pre-rendered bytes with ETag + Cache-Control validators for RFC 7232 conditional GETs."
|
||||||
x-runtime: [cloud]
|
x-runtime: [cloud]
|
||||||
parameters:
|
parameters:
|
||||||
- name: id
|
- name: id
|
||||||
@ -2662,26 +2660,27 @@ paths:
|
|||||||
required: true
|
required: true
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
description: Custom node package ID
|
description: Node class identifier
|
||||||
responses:
|
responses:
|
||||||
"200":
|
"200":
|
||||||
description: Node detail
|
description: Single node definition
|
||||||
|
headers:
|
||||||
|
ETag:
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
description: Entity tag for conditional request validation
|
||||||
|
Cache-Control:
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
description: Cache directives for the response
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/CloudNode"
|
$ref: "#/components/schemas/NodeInfo"
|
||||||
"401":
|
"304":
|
||||||
description: Unauthorized
|
description: Not Modified — returned when the client sends a matching If-None-Match header
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudError"
|
|
||||||
"404":
|
"404":
|
||||||
description: Not found
|
description: Node not found
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/CloudError"
|
|
||||||
delete:
|
delete:
|
||||||
operationId: uninstallCloudNode
|
operationId: uninstallCloudNode
|
||||||
tags: [node]
|
tags: [node]
|
||||||
@ -7100,22 +7099,6 @@ components:
|
|||||||
enabled:
|
enabled:
|
||||||
type: boolean
|
type: boolean
|
||||||
|
|
||||||
CloudNodeList:
|
|
||||||
type: object
|
|
||||||
x-runtime: [cloud]
|
|
||||||
description: "[cloud-only] Paginated list of installed custom node packages."
|
|
||||||
required:
|
|
||||||
- nodes
|
|
||||||
properties:
|
|
||||||
nodes:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
$ref: "#/components/schemas/CloudNode"
|
|
||||||
total:
|
|
||||||
type: integer
|
|
||||||
has_more:
|
|
||||||
type: boolean
|
|
||||||
|
|
||||||
HubLabel:
|
HubLabel:
|
||||||
type: object
|
type: object
|
||||||
x-runtime: [cloud]
|
x-runtime: [cloud]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user