feat: Create Prompt Input Node

This commit is contained in:
blessedcoolant 2023-07-29 15:52:37 +12:00
parent 2d9bc79ca4
commit 8a0e1b6cfc

View File

@ -4,7 +4,8 @@ from typing import Literal
from pydantic import Field
from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext
from .baseinvocation import (BaseInvocation, BaseInvocationOutput,
InvocationConfig, InvocationContext)
from .math import FloatOutput, IntOutput
# Pass-through parameter nodes - used by subgraphs
@ -64,3 +65,24 @@ class ParamStringInvocation(BaseInvocation):
def invoke(self, context: InvocationContext) -> StringOutput:
return StringOutput(text=self.text)
class PromptOutput(BaseInvocationOutput):
"""A string output"""
type: Literal["prompt_output"] = "prompt_output"
prompt: str = Field(default=None, description="The output prompt")
class ParamPromptInvocation(BaseInvocation):
"""A prompt input parameter"""
type: Literal["param_prompt"] = "param_prompt"
prompt: str = Field(default="", description="The prompt value")
class Config(InvocationConfig):
schema_extra = {
"ui": {"tags": ["param", "prompt"], "title": "Prompt"},
}
def invoke(self, context: InvocationContext) -> PromptOutput:
return StringOutput(prompt=self.prompt)