pycsamt.agents.tooling#

pycsamt.agents.tooling#

ToolAgent — analysis and data/IO utilities from the web app’s tools menu, exposed as Agent-Master tasks that return a compact table (rendered as a monospaced block in chat) plus optional figures:

  • strike — geoelectric strike per station + rose/analysis figure,

  • dimensionality — 1-D / 2-D / 3-D classification per station × period,

  • validator — per-station EDI quality checklist,

  • coords — transform station lat/lon to UTM easting/northing,

  • elevation — enrich stations with elevation from an open web API,

  • converter — re-export the survey to CSV / JSON / EDI on disk,

  • batch_export — render a bundle of standard plots and save them,

  • freq_editor — confidence-based frequency QC (drop / mask / recover),

  • layered_model — build & preview a synthetic 1-D resistivity model.

freq_editor mutates the survey: it runs out-of-place and hands the edited Sites back through AgentResult.data["corrected_sites"] so the chat’s post-processing modal can apply it to the session or export it — the same pathway used by the static-shift / denoise correction workflows. layered_model is synthetic and needs no loaded data.

The coords tool is read-only. The elevation tool reaches an external network service, and converter / batch_export write files to a user-supplied folder — these are gated by the parameter modal (the user picks the API / output folder and clicks Run before anything outward-facing happens) and report exactly what they did.

Like PlotAgent it never calls an LLM; it turns a validated parameter set into a result the Agent Master can display.

Classes

ToolAgent(**_)

Strike / dimensionality / validator analysis tasks.

class pycsamt.agents.tooling.ToolAgent(**_)[source]#

Bases: object

Strike / dimensionality / validator analysis tasks.

Parameters:

_ (Any)

execute(input_data)[source]#
Parameters:

input_data (dict[str, Any])

Return type:

AgentResult