Skip to main content

Module actions

Module actions 

Source
Expand description

Actions: named, ordered lists of organising steps with an optional shortcut, run on the selected items. AI steps get their results from the app, which asks the model; here they only become tags or notes.

In Eagle 4.0.0 actions are a plugin (ai-action) that keeps its list in actions.config.json at the library root. That file belongs to the plugin: falcon never reads, creates, changes or deletes it. Falcon’s own actions are its implementation of the feature and live in falcon’s app data, one file per library (see store_path); the app picks the folder (<app data>/actions/).

The file is a JSON array of objects, each with id, name, shortcut (an accelerator such as "Command + Shift + 1", empty for none) and steps, one object per step tagged by type. Falcon keeps each entry as the JSON it read, so fields it doesn’t know and key order survive a save byte for byte. It is written only after an edit, atomically (temp file and rename), compact, or indented with two spaces when the file it replaces was.

Structs§

ActionDef
An action as falcon edits it.
ActionsFile
A store file as read: each entry’s JSON, untouched.
RunReport
What running an action did.

Enums§

Step
One organising step. The type strings follow the rule names Eagle’s translations still carry from its earlier built-in Actions.
StepOutput
What a model produced for one item in one AI step. It can only become the item’s tags or notes.

Functions§

library_key
The key naming a library’s actions file: Eagle’s metadata.json carries no library id, so it is the 64-bit FNV-1a hash of the library’s canonical path (symlinks resolved, no trailing slash) as 16 lowercase hex digits. A path that can’t be resolved (the library is gone) is hashed as given. Moving or renaming a library therefore starts it with no actions.
store_path
The file holding the actions of the library at root, inside dir (falcon’s <app data>/actions/): <dir>/<library_key>.json.