Appearance
Liatir Node bridge
The Liatir object passed to .main(...) is the Node plugin bridge. It connects the plugin process to the running Liatir desktop app through local IPC.
ts
export default liatirPlugin.main(async ({ input, Liatir }: PluginContext<typeof liatirPlugin>) => {
const node = await Liatir.deps.check("node");
return {
available: node.available,
};
});Available areas
| Area | Use it for |
|---|---|
Liatir.jobs | Spawn, wait for, stream, and inspect local processes. |
Liatir.deps | Check whether command-line binaries are available. |
Liatir.desktop.fs | Scoped Liatir storage. |
Liatir.desktop.files | Native file dialogs when appropriate. |
Liatir.desktop.events | App event bridge. |
Liatir.desktop.app | App information. |
Liatir.desktop.network | Network status and simple diagnostics. |
Liatir.desktop.clipboard | Clipboard access. |
Liatir.desktop.notifications | Native notifications. |
Liatir.desktop.diagnostics | Diagnostic helpers. |
Liatir.desktop.globalVariables | Shared string variables. |
Liatir.align | Typed alignment helpers. |
Liatir.qc | Typed quality-control helpers. |
Liatir.variants | Typed variant-analysis helpers. |
Liatir.plugins | Low-level WASM plugin runtime. |
Liatir.sidecar | Registered sidecar binaries. |
Liatir.pipeline | Chain WASM and sidecar steps into a sequential pipeline. |
Liatir.paths() | App filesystem paths. |
Liatir.invoke | Low-level IPC escape hatch. |
GUI-only browser/webview areas such as window controls, menu integration, shortcuts, badge, autostart, and context menu are intentionally not part of the Node plugin bridge.
Running a command
ts
const stdoutLines: string[] = [];
const stderrLines: string[] = [];
const job = await Liatir.jobs.run("seqkit", ["stats", input.fastq], {
onStdout: (line) => stdoutLines.push(line),
onStderr: (line) => stderrLines.push(line),
});
return {
status: job.status.type,
stdout: stdoutLines.join("\n"),
stderr: stderrLines.join("\n"),
};Use Liatir.deps.check(...) first if the plugin depends on a local binary that may not be installed.