You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit a9bd2ca
Browse filesBrowse the repository at this point in the historyBrowse files
- Replace the model-supplied timeout_seconds parameter with
ai.user_question_timeout_secs, defaulting to 180 seconds.
- Support unlimited waits with null or zero and omit the default
from persisted config while keeping it readable through the API.
- Add question timeout settings under tool execution.
- Synchronize host deadlines through live events and snapshots,
and use a calibrated monotonic countdown for display.
- Add a clickable countdown with a dismiss icon and settings hint;
hide it only after the host acknowledges interaction.
- Keep timeout decisions on the host and return English timeout text.
- Prevent unchanged NumberInput values and Enter/blur sequences
from triggering redundant saves; preserve Escape cancellation.
- Add regression coverage for timing, persistence, and interactions.
- Provide 2-4 clear options with descriptions of trade-offs
144
144
145
145
Usage notes:
146
-
- This tool waits up to 30 seconds by default for the first user interaction. Once the user clicks an option or input, the timeout is disabled and the tool waits for submission or cancellation. If the user does not interact, it skips the questions and returns so you can continue execution.
147
-
- Prefer the default timeout. Set timeout_seconds only when necessary to wait a shorter or longer time. A timeout is not user approval or a selected answer.
148
146
- Put all questions you need into a single AskUserQuestion call instead of calling it repeatedly in one response
149
147
- Users will always be able to select "Other" to provide custom text input
150
148
- Use multiSelect: true to allow multiple answers to be selected for a question"#.to_string())
@@ -158,13 +156,6 @@ Usage notes:
158
156
json!({
159
157
"type":"object",
160
158
"properties":{
161
-
"timeout_seconds":{
162
-
"type":"integer",
163
-
"minimum":1,
164
-
"maximum":u32::MAX,
165
-
"default":DEFAULT_USER_QUESTION_TIMEOUT_SECONDS,
166
-
"description":"Seconds to wait for the first user interaction, default 30. Once the user starts answering, wait until submission or cancellation without a timeout. Prefer omitting this parameter; use a shorter or longer wait only when necessary. On timeout, skip the questions and continue execution."
167
-
},
168
159
"questions":{
169
160
"type":"array",
170
161
"items":{
@@ -248,6 +239,24 @@ Usage notes:
248
239
&self,
249
240
input:&Value,
250
241
context:&ToolUseContext,
242
+
) -> OpenBitFunResult<Vec<ToolResult>>{
243
+
let service = crate::service::config::global::GlobalConfigManager::get_service().await?;
244
+
let ai_config:crate::service::config::types::AIConfig =
0 commit comments