Merge branch 'master' into matt/asset-tags-cloud-shape

This commit is contained in:
Matt Miller 2026-05-19 20:06:12 -07:00 committed by GitHub
commit a0d1238829
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 40 additions and 5 deletions

View File

@ -1,10 +1,41 @@
import re
import json
import string
from typing_extensions import override
from comfy_api.latest import ComfyExtension, io
class StringFormat(io.ComfyNode):
@classmethod
def define_schema(cls) -> io.Schema:
autogrow = io.Autogrow.TemplateNames(
input=io.AnyType.Input("value"),
names=list(string.ascii_lowercase),
min=0,
)
return io.Schema(
node_id="StringFormat",
display_name="Format Text",
category="text",
search_aliases=["string", "format"],
description="Same as Python's string format method. Supports all of Python's format options and features.",
inputs=[
io.Autogrow.Input("values", template=autogrow),
io.String.Input("f_string", default="{a}", multiline=True),
],
outputs=[
io.String.Output(),
],
)
@classmethod
def execute(
cls, values: io.Autogrow.Type, f_string: str
) -> io.NodeOutput:
return io.NodeOutput(f_string.format(**values))
class StringConcatenate(io.ComfyNode):
@classmethod
def define_schema(cls):
@ -413,6 +444,7 @@ class StringExtension(ComfyExtension):
@override
async def get_node_list(self) -> list[type[io.ComfyNode]]:
return [
StringFormat,
StringConcatenate,
StringSubstring,
StringLength,

View File

@ -4162,7 +4162,8 @@ paths:
description: Display name for the API key
description:
type: string
description: User-provided description for the key
description: User-provided description of the key's purpose
maxLength: 5000
responses:
"201":
description: API key created
@ -7680,6 +7681,7 @@ components:
required:
- id
- name
- description
properties:
id:
type: string
@ -7687,8 +7689,8 @@ components:
type: string
description:
type: string
nullable: true
description: User-provided description
maxLength: 5000
description: User-provided description of the key's purpose. Always present in responses; empty string when no description was supplied on create.
prefix:
type: string
description: First few characters of the key for identification
@ -7709,6 +7711,7 @@ components:
required:
- id
- name
- description
- key
properties:
id:
@ -7717,8 +7720,8 @@ components:
type: string
description:
type: string
nullable: true
description: User-provided description
maxLength: 5000
description: User-provided description of the key's purpose. Always present in responses; empty string when no description was supplied on create.
key:
type: string
description: Full API key value (only returned on creation)