pub struct ExecuteProposalParams {
pub proposal_id: Option<u64>,
}Expand description
Args for the browser execute_proposal tool
(src/app/chat/tools/governance.rs).
Fields§
§proposal_id: Option<u64>The id of a passed proposal whose voting deadline has elapsed (executing it pays out the treasury spend).
Implementations§
Source§impl ExecuteProposalParams
impl ExecuteProposalParams
Sourcepub fn schema() -> Value
pub fn schema() -> Value
Wire input_schema, generated from the SAME table as the struct
fields. Single type per property, no unions / oneOf /
additionalProperties — Gemini-safe by construction.
Sourcepub fn proposal_id(&self) -> Result<u64, Error>
pub fn proposal_id(&self) -> Result<u64, Error>
Required integer, lenient-extracted: Ok when present and
integer-typed (0 is a REAL value), else the tools’ historical
"<field> is required" error — never a silent default.
Sourcepub fn lenient(args: &Value) -> Self
pub fn lenient(args: &Value) -> Self
Lenient extraction: a missing or wrong-typed field falls back
to its default ("" / None / 0) instead of erroring — the
browser chat tools’ historical .get().and_then().unwrap_or()
semantics, preserved exactly (validation stays in the tool body).
req_u64 fields extract to None here; the error fires at
their generated accessor, matching the old inline ok_or_else.