Skip to main content

Module applescript

Module applescript 

Source
Expand description

AppleScript path for tag-admin operations (create/rename/merge/ delete/move_under). Things’ JSON URL has no global tag-admin verbs, so these go through osascript -e <script> and trust the synchronous exit code as verification.

Symmetric to core/writer/ for the JSON URL path: a driver trait (AppleScriptDriver) with a production impl (OsascriptDriver) and a recording test impl (RecordingAppleScript), pure render_* helpers in script.rs, and a facade (TagAdmin) in admin.rs that owns the safety gate and result composition.

Re-exports§

pub use admin::TagAdmin;
pub use admin::TagOutcome;
pub use driver::AppleScriptDriver;
pub use driver::OsascriptDriver;
pub use driver::RecordingAppleScript;

Modules§

admin
TagAdmin — facade over the AppleScript driver. Owns the safety gate and composes a TagOutcome per call. Each method renders the script via the pure helpers in script.rs, then either short-circuits (DryRun), errors out (Forbidden), or hands the script to the injected AppleScriptDriver.
driver
AppleScript driver seam.
script
Pure AppleScript render functions for tag-admin ops. No I/O — each function takes the inputs the tool surface accepts and returns the AppleScript source as a String. The driver (OsascriptDriver) and the facade (TagAdmin) are the layers that actually run the script.