Skip to content

Conversation

@WhiskeyJack96
Copy link

@WhiskeyJack96 WhiskeyJack96 commented Dec 6, 2025

Disclaimer

Fair warning: I'm not familiar with the tauri ecosystem, and only have casual experience with svelte.
I took a guess at what this might look like and have manually tested it on my mac machine (though I had to change the cargo lock to get the build to work (excluded from the pr though as I think thats a rust environment issue), happy to make any changes.

Description

This adds a new "File Output" transformation step that writes the transformed text to a file on disk, addressing the workflow automation use case described in #1071.

The step includes a directory picker, filename templating with multiple variables (date, time, recording title, transformation title), and configurable file extensions. Files are written using Tauri's filesystem API with automatic directory creation, and filenames are sanitized to remove invalid characters like <>:"/\|?*.

The implementation adds the step type to the transformation constants, extends the schema to V3 with three new fields (outputDirectory, filenameTemplate, fileExtension), and implements the file-writing logic in the transformer with proper error handling. The UI provides a folder browser button on desktop and shows a warning on web that the step will be skipped (since file system access requires Tauri).

Desktop-only limitation is enforced by checking for window.__TAURI_INTERNALS__. The step gracefully skips on web and logs a warning rather than failing the entire transformation.

Closes #1071

Adds a new "File Output" transformation step that saves transcribed/transformed text to files. Users can configure output directory, filename template with variables ({{date}}, {{time}}, {{recording_title}}, etc.), and file extension.

This enables workflows where file changes trigger automation (e.g., Obsidian vault agents).

Closes EpicenterHQ#1071
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support saving transcribed/transformed text to file

1 participant