feat(assistants): Add new input models for boolean, number, select text, and select number (#2432)

This pull request adds new input models for boolean, number, select
text, and select number. These models will allow for more flexible and
dynamic input options in the software. The changes include the addition
of the `InputBoolean`, `InputNumber`, `InputSelectText`, and
`InputSelectNumber` classes to the `Inputs` model. These classes provide
properties for key, required, description, and additional options
specific to each input type. This enhancement will improve the overall
functionality and user experience of the software.

<!--
ELLIPSIS_HIDDEN
-->


----

| <a href="https://ellipsis.dev" target="_blank"><img
src="https://avatars.githubusercontent.com/u/80834858?s=400&u=31e596315b0d8f7465b3ee670f25cea677299c96&v=4"
alt="Ellipsis" width="30px" height="30px"/></a> | 🚀 This PR
description was created by [Ellipsis](https://www.ellipsis.dev) for
commit 6fa583b6a8. |
|--------|--------|

### Summary:
This PR enhances the `Inputs` model by adding new input models for
boolean, number, select text, and select number, improving the
software's functionality and user experience.

**Key points**:
- Added `InputBoolean`, `InputNumber`, `InputSelectText`, and
`InputSelectNumber` classes to `Inputs` model in `inputs.py` and
`outputs.py`.
- Each new class provides properties for key, required, description, and
additional options specific to each input type.


----
Generated with ❤️ by [ellipsis.dev](https://www.ellipsis.dev)



<!--
ELLIPSIS_HIDDEN
-->
This commit is contained in:
Stan Girard 2024-04-16 00:29:37 -07:00 committed by GitHub
parent 861931f231
commit c92ccb5543
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 61 additions and 0 deletions

View File

@ -29,10 +29,34 @@ class TextInput(BaseModel):
value: str
class InputBoolean(BaseModel):
key: str
value: bool
class InputNumber(BaseModel):
key: str
value: int
class InputSelectText(BaseModel):
key: str
value: str
class InputSelectNumber(BaseModel):
key: str
value: int
class Inputs(BaseModel):
files: Optional[List[FileInput]] = None
urls: Optional[List[UrlInput]] = None
texts: Optional[List[TextInput]] = None
booleans: Optional[List[InputBoolean]] = None
numbers: Optional[List[InputNumber]] = None
select_texts: Optional[List[InputSelectText]] = None
select_numbers: Optional[List[InputSelectNumber]] = None
class Outputs(BaseModel):

View File

@ -20,12 +20,49 @@ class InputText(BaseModel):
key: str
required: Optional[bool] = True
description: str
validation_regex: Optional[str] = None
class InputBoolean(BaseModel):
key: str
required: Optional[bool] = True
description: str
class InputNumber(BaseModel):
key: str
required: Optional[bool] = True
description: str
min: Optional[int] = None
max: Optional[int] = None
increment: Optional[int] = None
default: Optional[int] = None
class InputSelectText(BaseModel):
key: str
required: Optional[bool] = True
description: str
options: List[str]
default: Optional[str] = None
class InputSelectNumber(BaseModel):
key: str
required: Optional[bool] = True
description: str
options: List[int]
default: Optional[int] = None
class Inputs(BaseModel):
files: Optional[List[InputFile]] = None
urls: Optional[List[InputUrl]] = None
texts: Optional[List[InputText]] = None
booleans: Optional[List[InputBoolean]] = None
numbers: Optional[List[InputNumber]] = None
select_texts: Optional[List[InputSelectText]] = None
select_numbers: Optional[List[InputSelectNumber]] = None
class OutputEmail(BaseModel):