Plugins extend Timeleap by allowing custom functions to be executed as isolated workloads. Each plugin runs as a separate containerized app that communicates with a worker over WebSocket.
Overview
Plugins are not started or managed by the worker. They run independently and expose a WebSocket interface that the worker connects to at runtime.
When a broker dispatches a job, the worker calls the appropriate plugin function with encoded input and returns the result to the broker.
Architecture
Responsibilities
Define WebSocket server interface with plugin manifest
Decode input and execute function logic
Return encoded output or error to the worker
Plugin Scope
Each plugin:
Can expose multiple functions
Can declare resource needs per function
Is isolated from Timeleap internals
Can be reused across workers or deployments
Development Flow
Write plugin logic in Bun (or any compatible runtime)