summaryrefslogtreecommitdiff
path: root/makima/src/daemon/api
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-20 23:20:32 +0000
committerGitHub <noreply@github.com>2026-01-20 23:20:32 +0000
commit7155e6cd7ddf25a5a4d4f6d6abecd49f0cf519dc (patch)
tree2475a951c4bcba685b010909bf4abd5351cb3623 /makima/src/daemon/api
parent055e2c4a72e3b2331a18fdc9f8132ef990af7e38 (diff)
downloadsoryu-7155e6cd7ddf25a5a4d4f6d6abecd49f0cf519dc.tar.gz
soryu-7155e6cd7ddf25a5a4d4f6d6abecd49f0cf519dc.zip
Add non-blocking persistent contract completion questions (#14)
* [WIP] Heartbeat checkpoint - 2026-01-20 22:40:37 UTC * Task completion checkpoint
Diffstat (limited to 'makima/src/daemon/api')
-rw-r--r--makima/src/daemon/api/supervisor.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/makima/src/daemon/api/supervisor.rs b/makima/src/daemon/api/supervisor.rs
index bd3aefd..74c27e0 100644
--- a/makima/src/daemon/api/supervisor.rs
+++ b/makima/src/daemon/api/supervisor.rs
@@ -76,6 +76,12 @@ pub struct AskQuestionRequest {
/// When true, allow selecting multiple choices (response will be comma-separated)
#[serde(default)]
pub multi_select: bool,
+ /// When true, return immediately without waiting for response
+ #[serde(default)]
+ pub non_blocking: bool,
+ /// Question type: general, phase_confirmation, or contract_complete
+ #[serde(default)]
+ pub question_type: String,
}
// Generic response type for JSON output
@@ -209,6 +215,8 @@ impl ApiClient {
timeout_seconds: i32,
phaseguard: bool,
multi_select: bool,
+ non_blocking: bool,
+ question_type: String,
) -> Result<JsonValue, ApiError> {
let req = AskQuestionRequest {
question: question.to_string(),
@@ -217,6 +225,8 @@ impl ApiClient {
timeout_seconds,
phaseguard,
multi_select,
+ non_blocking,
+ question_type,
};
self.post("/api/v1/mesh/supervisor/questions", &req).await
}