server/backend.ts

Declarations
#

4 declarations

view source

Backend
#

server/backend.ts view source

Server for managing the Zzz application state and handling client messages.

inheritance

executor

type ActionExecutor

readonly

zzz_dir

The full path to the Zzz directory.

type DiskfileDirectoryPath

readonly

scoped_dirs

Filesystem paths that Zzz can access for user files.

type ReadonlyArray<DiskfileDirectoryPath>

readonly

config

type ZzzConfig

readonly

peer

type ActionPeer

readonly

api

API for backend-initiated actions.

type BackendActionsApi

readonly

scoped_fs

Scoped filesystem interface that restricts operations to allowed directories.

type ScopedFs

readonly

log

type Logger | null

readonly

filers

type Map<string, FilerInstance>

readonly

action_registry

readonly

providers

Available AI providers.

type Array<BackendProvider>

readonly

constructor

type new (options: BackendOptions): Backend

options

lookup_action_handler

type (method: "completion_create" | "completion_progress" | "directory_create" | "diskfile_delete" | "diskfile_update" | "filer_change" | "ollama_copy" | "ollama_create" | "ollama_delete" | ... 10 more ... | "toggle_main_menu", phase: "send_request" | ... 7 more ... | "execute"): ((event: any) => any) | undefined

method
type "completion_create" | "completion_progress" | "directory_create" | "diskfile_delete" | "diskfile_update" | "filer_change" | "ollama_copy" | "ollama_create" | "ollama_delete" | ... 10 more ... | "toggle_main_menu"
phase
type "send_request" | "receive_request" | "send_response" | "receive_response" | "send_error" | "receive_error" | "send" | "receive" | "execute"
returns ((event: any) => any) | undefined

lookup_action_spec

type (method: "completion_create" | "completion_progress" | "directory_create" | "diskfile_delete" | "diskfile_update" | "filer_change" | "ollama_copy" | "ollama_create" | "ollama_delete" | ... 10 more ... | "toggle_main_menu"): { ...; } | ... 2 more ... | undefined

method
type "completion_create" | "completion_progress" | "directory_create" | "diskfile_delete" | "diskfile_update" | "filer_change" | "ollama_copy" | "ollama_create" | "ollama_delete" | ... 10 more ... | "toggle_main_menu"
returns { method: "completion_create" | "completion_progress" | "directory_create" | "diskfile_delete" | "diskfile_update" | "filer_change" | "ollama_copy" | "ollama_create" | "ollama_delete" | ... 10 more ... | "toggle_main_menu"; ... 6 more ...; async: true; } | { ...; } | { ...; } | undefined

lookup_provider

type <T extends keyof BackendProviders>(provider_name: T): BackendProviders[T]

provider_name
type T
returns BackendProviders[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
type unknown
returns 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: { [x: string]: unknown; code: -32700 | ... 4 more ... | (number & $brand<...>); message...

destroy

Server teardown and cleanup.

type (): Promise<void>

returns Promise<void>

add_provider

type (provider: BackendProvider<unknown>): void

provider
type BackendProvider<unknown>
returns void

BackendOptions
#

server/backend.ts view source

BackendOptions

zzz_dir

Zzz directory path, defaults to .zzz.

type string

scoped_dirs

Filesystem paths that Zzz can access for user files. Defaults to ZZZ_SCOPED_DIRS from env.

type Array<string>

config

Configuration for the backend and AI providers.

action_specs

Action specifications that determine what the backend can do.

type Array<ActionSpecUnion>

action_handlers

Handler function for processing client messages.

handle_filer_change

Handler function for file system changes.

log

Optional logger instance. Disabled when null, and undefined falls back to a new Logger instance.

type Logger | null | undefined

FilerChangeHandler
#

FilerInstance
#

server/backend.ts view source

FilerInstance

Structure to hold a Filer and its cleanup function.

filer

type Filer

cleanup_promise

type Promise<() => void>

Depends on
#

Imported by
#