Run a SEToolBox calculation
setoolbox_runSubmit a single link budget, radar range, or EO/IR calculation request to SEToolBox and retrieve the app's verbatim result, including undetermined or error outcomes.
Instructions
Submit one calculation request to SEToolBox and wait for its result. The app does the math; this tool only writes the request file and reads the result file back verbatim.
Args:
tool: link_budget | radar_range | eoir
inputs: object keyed by schema field name. Every physical quantity is { "value": number, "unit": "<one of the field's allowed units>" }. Enum, option, and text fields are strings; integer and boolean fields are plain. Bare numbers for quantities are rejected by the app. Unknown field names are rejected. Omit what the user did not give you; the app never fills a required field from a default.
save (optional): { "projectName", "analysisName" }. Present means the app creates one new marked analysis in that project (created if absent). Absent means compute only.
displayUnits (optional): { "": "" } to choose the unit used for "value" in the result; "siValue" is always SI.
runId (optional): supplied by you, or generated as -<4 hex>. Must be new; the app never overwrites a result.
timeoutSeconds (optional): how long to wait for the result. Default from SETOOLBOX_AGENT_TIMEOUT_S (60).
Returns the result file as JSON, unchanged. Top-level keys in order: status, answer, assurance, result, warnings, run, then agentInstruction or the error fields.
status "ok": answer.value/unit in display units, answer.siValue/siUnit in SI; result[] echoes every derived quantity and every supplied input (state entered or pinned). Compare runs on siValue.
status "undetermined": answer.value is null, answer.missingInputs names what to supply, and agentInstruction says to report the quantity as not determined. This is a normal outcome, not an error.
status "error": error code plus field, received, allowed (when a finite set exists), and nextAction. Fix the request and resubmit with a new runId.
assurance is never empty. link_budget and radar_range: level "computed", citations false. eoir: level "traced", with citation and determinacy on each quantity.
A tool error (isError) means the exchange itself failed: folder missing, bad or duplicate runId, or timeout. On timeout the request stays queued; the app processes it when it is running and in front, and setoolbox_get_result returns it later. Never resubmit under the same runId.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| save | No | Create one saved analysis. | |
| tool | Yes | One of link_budget, radar_range, eoir. | |
| runId | No | The request's runId. | |
| inputs | Yes | Field name to value, per schema/<tool>.json. | |
| displayUnits | No | Field name to display unit. | |
| timeoutSeconds | No | Seconds to wait for the result. |