Files
plainleaf/website/API/system.md
T
Zef Hemel 64e537732b Debug: Reset Client is now called System: Wipe Client
Merged two datastores into one (for both state and files), this will trigger a resync on upgrade
2025-03-28 12:17:17 +01:00

2.0 KiB

System API

The System API provides system-level functions for interacting with the SilverBullet environment.

Function Operations

system.invokeFunction(name, ...)

Invokes a plug function by name.

Example:

-- Invoke a function from a plug
system.invokeFunction("myplug.processData", "input", 123)

system.invokeCommand(name, args)

Invokes a client command by name.

Example:

system.invokeCommand("editor.save", {})

system.invokeSpaceFunction(name, ...)

Invokes a space function by name.

Example:

local result = system.invokeSpaceFunction("customFunction", "arg1", "arg2")
print("Function result:", result)

System Information

system.listCommands()

Lists all available commands.

Example:

local commands = system.listCommands()
for name, def in pairs(commands) do
    print(name .. ": " .. def.description)
end

system.listSyscalls()

Lists all available syscalls.

Example:

local syscalls = system.listSyscalls()
for _, syscall in ipairs(syscalls) do
    print(syscall.name)
end

system.getEnv()

Returns the runtime environment ("server", "client", or undefined for hybrid).

Example:

local env = system.getEnv()
print("Running in environment: " .. (env or "hybrid"))

system.getMode()

Returns the current mode of the system ("ro" or "rw").

Example:

local mode = system.getMode()
print("System mode: " .. mode)

system.getVersion()

Returns the SilverBullet version.

Example:

local version = system.getVersion()
print("SilverBullet version: " .. version)

Configuration

system.reloadConfig()

Triggers an explicit reload of the configuration.

Example:

system.reloadConfig()
print("Configuration reloaded")

system.reloadPlugs()

Triggers a reload of all plugs.

Example:

system.reloadPlugs()
print("All plugs reloaded")


## system.wipeClient()
Completely wipes the client state, including cached files, service worker and databases.

Example:
```lua
system.wipeClient()
print("Client state has been reset")