Server for managing the Zzz application state and handling client messages.
inheritance
executor
type ActionExecutor
zzz_dir
The full path to the Zzz directory.
scoped_dirs
Filesystem paths that Zzz can access for user files.
type ReadonlyArray<DiskfileDirectoryPath>
config
type ZzzOptions
peer
type ActionPeer
api
API for backend-initiated actions.
type BackendActionsApi
pty_manager
Manages spawned PTY processes for terminal integration.
type PtyManager
scoped_fs
ScopedFs filesystem interface that restricts operations to allowed directories.
type ScopedFs
log
type Logger | null
filers
type Map<string, FilerInstance>
action_registry
providers
Available AI providers.
type Array<BackendProvider>
constructor
type new (options: BackendOptions): Backend
options
lookup_action_handler
type (method: "ping" | "session_load" | "filer_change" | "diskfile_update" | "diskfile_delete" | "directory_create" | "completion_create" | "completion_progress" | "ollama_progress" | ... 15 more ... | "terminal_close", phase: "send_request" | ... 7 more ... | "receive"): ((event: any) => any) | undefined
method
"ping" | "session_load" | "filer_change" | "diskfile_update" | "diskfile_delete" | "directory_create" | "completion_create" | "completion_progress" | "ollama_progress" | ... 15 more ... | "terminal_close"phase
"send_request" | "execute" | "receive_request" | "send_response" | "receive_response" | "send_error" | "receive_error" | "send" | "receive"((event: any) => any) | undefinedlookup_action_spec
type (method: "ping" | "session_load" | "filer_change" | "diskfile_update" | "diskfile_delete" | "directory_create" | "completion_create" | "completion_progress" | "ollama_progress" | ... 15 more ... | "terminal_close"): { ...; } | ... 2 more ... | undefined
method
"ping" | "session_load" | "filer_change" | "diskfile_update" | "diskfile_delete" | "directory_create" | "completion_create" | "completion_progress" | "ollama_progress" | ... 15 more ... | "terminal_close"{ method: string; initiator: "both" | "frontend" | "backend"; side_effects: true | null; input: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>; output: ZodType<unknown, unknown, $ZodTypeInternals<...>>; description: string; kind: "request_response"; auth: "public" | ... 2 more ... | { ...; }; async: ...lookup_provider
type <T extends keyof BackendProviders>(provider_name: T): BackendProviders[T]
provider_name
TBackendProviders[T]receive
Process a singular JSON-RPC message and return a response. Like MCP, Zzz breaks from JSON-RPC by not supporting batching.
type (message: unknown): Promise<{ [x: string]: unknown; jsonrpc: "2.0"; id: string | number; result: { [x: string]: unknown; _meta?: { [x: string]: unknown; } | undefined; }; } | { [x: string]: unknown; jsonrpc: "2.0"; id: string | number | null; error: { ...; }; } | { ...; } | null>
message
unknownPromise<{ [x: string]: unknown; jsonrpc: "2.0"; id: string | number; result: { [x: string]: unknown; _meta?: { [x: string]: unknown; } | undefined; }; } | { [x: string]: unknown; jsonrpc: "2.0"; id: string | number | null; error: { [x: string]: unknown; code: -32700 | ... 4 more ... | (number & $brand<...>); message...destroy
Server teardown and cleanup.
type (): Promise<void>
Promise<void>add_provider
type (provider: BackendProvider<unknown>): void
provider
BackendProvider<unknown>void