2024-04-10 14:28:22 +03:00
|
|
|
from typing import List, Optional
|
|
|
|
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
|
|
|
|
|
|
class InputFile(BaseModel):
|
|
|
|
key: str
|
|
|
|
allowed_extensions: Optional[List[str]] = ["pdf"]
|
|
|
|
required: Optional[bool] = True
|
|
|
|
description: str
|
|
|
|
|
|
|
|
|
|
|
|
class InputUrl(BaseModel):
|
|
|
|
key: str
|
|
|
|
required: Optional[bool] = True
|
|
|
|
description: str
|
|
|
|
|
|
|
|
|
|
|
|
class InputText(BaseModel):
|
|
|
|
key: str
|
|
|
|
required: Optional[bool] = True
|
|
|
|
description: str
|
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> | :rocket: This PR
description was created by [Ellipsis](https://www.ellipsis.dev) for
commit 6fa583b6a86dfc9a45a9ced826a339be19b5c9df. |
|--------|--------|
### 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 :heart: by [ellipsis.dev](https://www.ellipsis.dev)
<!--
ELLIPSIS_HIDDEN
-->
2024-04-16 10:29:37 +03:00
|
|
|
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
|
2024-04-10 14:28:22 +03:00
|
|
|
|
|
|
|
|
|
|
|
class Inputs(BaseModel):
|
|
|
|
files: Optional[List[InputFile]] = None
|
|
|
|
urls: Optional[List[InputUrl]] = None
|
|
|
|
texts: Optional[List[InputText]] = None
|
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> | :rocket: This PR
description was created by [Ellipsis](https://www.ellipsis.dev) for
commit 6fa583b6a86dfc9a45a9ced826a339be19b5c9df. |
|--------|--------|
### 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 :heart: by [ellipsis.dev](https://www.ellipsis.dev)
<!--
ELLIPSIS_HIDDEN
-->
2024-04-16 10:29:37 +03:00
|
|
|
booleans: Optional[List[InputBoolean]] = None
|
|
|
|
numbers: Optional[List[InputNumber]] = None
|
|
|
|
select_texts: Optional[List[InputSelectText]] = None
|
|
|
|
select_numbers: Optional[List[InputSelectNumber]] = None
|
2024-04-10 14:28:22 +03:00
|
|
|
|
|
|
|
|
|
|
|
class OutputEmail(BaseModel):
|
|
|
|
required: Optional[bool] = True
|
|
|
|
description: str
|
|
|
|
type: str
|
|
|
|
|
|
|
|
|
|
|
|
class OutputBrain(BaseModel):
|
|
|
|
required: Optional[bool] = True
|
|
|
|
description: str
|
|
|
|
type: str
|
|
|
|
|
|
|
|
|
|
|
|
class Outputs(BaseModel):
|
|
|
|
email: Optional[OutputEmail] = None
|
|
|
|
brain: Optional[OutputBrain] = None
|
|
|
|
|
|
|
|
|
2024-04-16 19:14:38 +03:00
|
|
|
class Pricing(BaseModel):
|
|
|
|
cost: int = 20
|
|
|
|
description: str = "Credits per use"
|
|
|
|
|
|
|
|
|
2024-04-10 14:28:22 +03:00
|
|
|
class AssistantOutput(BaseModel):
|
|
|
|
name: str
|
2024-04-11 23:35:35 +03:00
|
|
|
description: str
|
2024-04-16 19:14:38 +03:00
|
|
|
pricing: Optional[Pricing] = Pricing()
|
2024-04-11 19:42:01 +03:00
|
|
|
tags: Optional[List[str]] = []
|
2024-04-10 14:28:22 +03:00
|
|
|
input_description: str
|
|
|
|
output_description: str
|
|
|
|
inputs: Inputs
|
|
|
|
outputs: Outputs
|
2024-04-11 19:31:16 +03:00
|
|
|
icon_url: Optional[str] = None
|