Docs Reference
Alpha documentation — APIs may change between 0.x releases.

Built-in native capabilities

Import these generated proxies from @vidra-dev/sdk.

filesystem

MethodPayloadReturns
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

MethodPayloadReturns
alert{ title, message, ok? }{ dismissed }
confirm{ title, message, accept?, cancel? }{ confirmed }
prompt{ title, message?, accept?, cancel? }{ value }

clipboard

MethodPayloadReturns
getTextnone{ text }
setText{ text }{ success }
hasTextnone{ hasText }

notifications

MethodPayloadReturns
show{ title, body? }{ scheduled }
requestPermissionnone{ 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

MethodPayloadReturns
getSupportnonePer-action platform support
getCurrentnone{ title, width, height, state }
configure{ title?, width?, height? }Current window info
setTitle{ title }Current window info
setSize{ width, height }Current window info
centernoneCurrent window info
maximizenoneCurrent window info
minimizenoneCurrent window info
restorenoneCurrent 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

MethodPayloadReturns
getInfonone{ appName, packageName, version, build, platform, idiom }
getThemenone{ theme }

Continue with MAUI Essentials or learn how to define your own native contract.