Skip to content

Commit

Permalink
feat(assistants): Add new input models for boolean, number, select te…
Browse files Browse the repository at this point in the history
…xt, 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 6fa583b. |
|--------|--------|

### 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
-->
  • Loading branch information
StanGirard authored Apr 16, 2024
1 parent 861931f commit c92ccb5
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 0 deletions.
24 changes: 24 additions & 0 deletions backend/modules/assistant/dto/inputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
37 changes: 37 additions & 0 deletions backend/modules/assistant/dto/outputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down

0 comments on commit c92ccb5

Please sign in to comment.