Skip to content

Commit 4c4b7a5

Browse files
kapetredengilbert
authored andcommitted
feat(cli): add SingleSelect field support to forms (i-am-bee#1596)
Signed-off-by: Petr Kadlec <[email protected]> Signed-off-by: Eden Gilbert <[email protected]>
1 parent b1f5b5f commit 4c4b7a5

File tree

1 file changed

+12
-0
lines changed
  • apps/agentstack-cli/src/agentstack_cli/commands

1 file changed

+12
-0
lines changed

apps/agentstack-cli/src/agentstack_cli/commands/agent.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@
5555
FormResponse,
5656
MultiSelectField,
5757
MultiSelectFieldValue,
58+
SingleSelectField,
59+
SingleSelectFieldValue,
5860
TextField,
5961
TextFieldValue,
6062
)
@@ -257,6 +259,15 @@ async def _ask_form_questions(form_render: FormRender) -> FormResponse:
257259
validate=EmptyInputValidator() if field.required else None,
258260
).execute_async()
259261
form_values[field.id] = TextFieldValue(value=answer)
262+
elif isinstance(field, SingleSelectField):
263+
choices = [Choice(value=opt.id, name=opt.label) for opt in field.options]
264+
answer = await inquirer.fuzzy( # pyright: ignore[reportPrivateImportUsage]
265+
message=field.label + ":",
266+
choices=choices,
267+
default=field.default_value,
268+
validate=EmptyInputValidator() if field.required else None,
269+
).execute_async()
270+
form_values[field.id] = SingleSelectFieldValue(value=answer)
260271
elif isinstance(field, MultiSelectField):
261272
choices = [Choice(value=opt.id, name=opt.label) for opt in field.options]
262273
answer = await inquirer.checkbox( # pyright: ignore[reportPrivateImportUsage]
@@ -266,6 +277,7 @@ async def _ask_form_questions(form_render: FormRender) -> FormResponse:
266277
validate=EmptyInputValidator() if field.required else None,
267278
).execute_async()
268279
form_values[field.id] = MultiSelectFieldValue(value=answer)
280+
269281
elif isinstance(field, DateField):
270282
year = await inquirer.text( # pyright: ignore[reportPrivateImportUsage]
271283
message=f"{field.label} (year):",

0 commit comments

Comments
 (0)