Skip to content

api tauri commands

Douwe de Vries edited this page Jul 1, 2026 · 1 revision

Tauri commands

This page lists the Tauri commands registered in src-tauri/src/tauri_command_list.rs and wrapped by frontend/src/tauri.ts. Shared request and response contracts come from crates/csv-anonymizer-core/src/types.rs, src-tauri/src/commands/csv.rs, src-tauri/src/commands/job_commands.rs, src-tauri/src/local_ai/types.rs, and frontend/src/types.ts.

Active contributors: Douwe de Vries

Settings

Command Frontend wrapper Request Response Notes
load_settings loadSettings() none AppSettings Loads persisted settings through src-tauri/src/settings/store.rs, defaulting when no settings file exists
save_settings saveSettings(settings) { settings: AppSettings } AppSettings Sanitizes and persists settings, then returns the saved shape

AppSettings includes schemaVersion, themeMode, overwriteOutput, sampleRowCount, previewSampleCount, defaultOutputSuffix, rememberLastPaths, lastInputDirectory, lastOutputDirectory, localAiEnabled, and localAiModel.

Files

Command Frontend wrapper Request Response Notes
pick_input_csv pickInputCsv(initialDirectory) { initialDirectory: string | null } string | null Opens a file dialog for csv, tsv, or txt, then grants input access
pick_output_csv pickOutputCsv(suggestedOutputPath) { suggestedOutputPath: string | null } string | null Opens a save dialog, then grants output access
open_output_location openOutputLocation(outputPath) { outputPath: string } void Opens the output parent directory after output access is authorized

File commands are backed by src-tauri/src/commands/files.rs and src-tauri/src/path_access.rs.

CSV file workflow

Command Frontend wrapper Request Response Notes
analyze_csv analyzeCsv(filePath, sampleRowCount, outputSuffix) { filePath: string, sampleRowCount: number, outputSuffix: string } AnalyzeResponse Authorizes input, samples headers, auto-selects high and medium risk columns, and suggests an output path
count_csv_rows countCsvRows(filePath) { filePath: string } number Counts non-blank data rows after authorizing the input path
preflight_anonymization preflightAnonymization(...) { request: PreflightRequest } PreflightData Checks readiness, output access, selected columns, force/overwrite state, and Local AI readiness
preview_anonymization previewAnonymization(...) { request: PreviewRequest } PreviewData Builds sample replacements and warnings, optionally using Local AI

AnalyzeResponse is defined in src-tauri/src/commands/csv.rs with headers: HeadersData, selectedColumns: number[], and suggestedOutputPath: string.

PreviewRequest contains filePath, columns, controls, sampleCount, and optional localAi. PreflightRequest contains mode, filePath, optional outputPath, columns, controls, force, sampleRowCount, previewSmartReplacements, and optional localAi.

Direct paste workflow

Command Frontend wrapper Request Response Notes
analyze_pasted_data analyzePasteData(content, format, sampleRowCount) { request: PasteAnalyzeParams } PasteAnalyzeData Detects format and column metadata for CSV, JSON, XML, YAML, plain text, and logs
preview_pasted_data previewPasteData(...) { request: PastePreviewRequest } PreviewData Previews selected pasted-data replacements and Smart replacement entries
anonymize_pasted_data transformPasteData(...) { request: PasteTransformRequest } PasteTransformData Returns transformed pasted output, row count, column count, duration, and privacy report

PasteAnalyzeParams contains content, format, and sampleRowCount. PastePreviewParams contains content, format, columns, controls, and sampleCount. PasteTransformParams contains content, format, columns, controls, and previewSmartReplacements. Tauri wraps preview and transform params with optional localAi.

Quick values

Command Frontend wrapper Request Response Notes
generate_quick_values generateQuickValues(dataType, strategy, count, localAi) { request: QuickGenerateRequest } QuickTransformData Generates protected sample values without source input

QuickGenerateRequest wraps QuickGenerateParams (dataType, strategy, count) plus optional localAi.

Anonymization jobs

Command Frontend wrapper Request Response Notes
start_anonymize_job startAnonymizeJob(...) { request: StartAnonymizeJobRequest } AnonymizeJobStatus Starts streaming file anonymization on a blocking worker
get_anonymize_job_status getAnonymizeJobStatus(jobId) { jobId: string } AnonymizeJobStatus Returns a snapshot and prunes terminal jobs after retrieval
cancel_anonymize_job cancelAnonymizeJob(jobId) { jobId: string } AnonymizeJobStatus Requests cancellation unless the job is already terminal

StartAnonymizeJobRequest contains filePath, outputPath, columns, controls, force, sampleRowCount, optional totalRowCount, previewSmartReplacements, and optional localAi.

AnonymizeJobStatus contains jobId, state, rowsProcessed, totalRows, cancelRequested, optional result: AnonymizeData, and optional error.

Local AI

Command Frontend wrapper Request Response Notes
get_local_ai_status getLocalAiStatus(request) { request: LocalAiRequest } LocalAiStatus Checks Ollama runtime, installed models, selected model, and readiness
start_local_ai_model_download startLocalAiModelDownload(request) { request: LocalAiRequest } LocalAiDownloadStatus Starts an Ollama model pull job after runtime preflight
get_local_ai_model_download_status getLocalAiModelDownloadStatus(jobId) { jobId: string } LocalAiDownloadStatus Returns model download progress
cancel_local_ai_model_download cancelLocalAiModelDownload(jobId) { jobId: string } LocalAiDownloadStatus Requests cancellation unless the download is already terminal
open_local_ai_setup_url openLocalAiSetupUrl() none void Opens the Ollama setup page

LocalAiRequest contains enabled and model. LocalAiStatus contains enabled, provider, model, availableModels, endpoint, runtimeAvailable, modelInstalled, ready, runtimeVersion, and message. LocalAiDownloadStatus contains job state, progress byte counts, cancellation state, and error text.

Shared response types

Type Fields summary
HeadersData filePath, rowCount, rowCountIsComplete, defaultOutputPath, and columns
ColumnMetadata Column name/path/index, detected type, confidence, detection trace, privacy evidence, risk, samples, empty format, selection state, and strategy
PreviewData Per-column sample previews, warnings, and Smart replacement entries
PreflightData Mode, release readiness, evidence items, and per-column reports
PasteTransformData Pasted output, row count, anonymized column count, duration, and privacy report
QuickTransformData Text output, row count, generated values, and privacy report
AnonymizeData Output path, row count, anonymized column count, duration, and privacy report
PrivacyReport Identifier counts, strategy counts, pseudonym/token/Smart replacement metrics, readiness, evidence, column reports, utility metrics, and notes

Related pages: API, Data models, and Security.

Clone this wiki locally