Alpha documentation — APIs may change between 0.x releases.
Built-in native capabilities
Import these generated proxies from @vidra-dev/sdk.
filesystem
| Method | Payload | Returns |
|---|
readText | { path } | { content } |
writeText | { path, content } | { success } |
exists | { path } | { exists } |
delete | { path } | { success } |
listDirectory | { path } | { entries: [{ name, isDirectory }] } |
import { filesystem } from "@vidra-dev/sdk";
const { content } = await filesystem.readText({
path: "/tmp/notes.txt",
});
dialogs
| Method | Payload | Returns |
|---|
alert | { title, message, ok? } | { dismissed } |
confirm | { title, message, accept?, cancel? } | { confirmed } |
prompt | { title, message?, accept?, cancel? } | { value } |
clipboard
| Method | Payload | Returns |
|---|
getText | none | { text } |
setText | { text } | { success } |
hasText | none | { hasText } |
notifications
| Method | Payload | Returns |
|---|
show | { title, body? } | { scheduled } |
requestPermission | none | { granted } |
Request permission before showing a notification:
import { notifications } from "@vidra-dev/sdk";
const permission = await notifications.requestPermission();
if (permission.granted) {
await notifications.show({ title: "Done", body: "Export complete" });
}
appWindow
| Method | Payload | Returns |
|---|
getSupport | none | Per-action platform support |
getCurrent | none | { title, width, height, state } |
configure | { title?, width?, height? } | Current window info |
setTitle | { title } | Current window info |
setSize | { width, height } | Current window info |
center | none | Current window info |
maximize | none | Current window info |
minimize | none | Current window info |
restore | none | Current window info |
setFullscreen | { enabled } | Current window info |
Events:
appWindow.onResized(handler)
appWindow.onStateChanged(handler)
getCurrent, title changes, and size changes work on Windows and macOS.
Window-state actions vary by platform; call getSupport() and hide unsupported
controls.
app
| Method | Payload | Returns |
|---|
getInfo | none | { appName, packageName, version, build, platform, idiom } |
getTheme | none | { theme } |
Continue with MAUI Essentials or
learn how to define your own native contract.