1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
* Windmill API
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.864.0
* Contact: contact@windmill.dev
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// QuestionToolValue : Built-in tool the AI calls as ask_question: the agent stops, releasing its worker, until someone answers from the flow's run page or chat or the question times out, then resumes with the answer as the tool result.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct QuestionToolValue {
#[serde(rename = "tool_type")]
pub tool_type: ToolType,
/// Seconds to wait for an answer before the question is reported to the AI as timed out. Defaults to 1800.
#[serde(rename = "timeout", skip_serializing_if = "Option::is_none")]
pub timeout: Option<i32>,
}
impl QuestionToolValue {
/// Built-in tool the AI calls as ask_question: the agent stops, releasing its worker, until someone answers from the flow's run page or chat or the question times out, then resumes with the answer as the tool result.
pub fn new(tool_type: ToolType) -> QuestionToolValue {
QuestionToolValue {
tool_type,
timeout: None,
}
}
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ToolType {
#[serde(rename = "question")]
Question,
}
impl Default for ToolType {
fn default() -> ToolType {
Self::Question
}
}