PersistentAI API Documentation / @persistentai/fireflow-types / IExecutionServices
Interface: IExecutionServices
Defined in: packages/fireflow-types/src/execution/services/index.ts:43
Combined execution services available to nodes via context.services
Services provide access to platform capabilities during node execution:
- dbos: DBOS primitives (steps, workflows, messaging, streams)
- vfs: Virtual File System read access
Example
async execute(context: ExecutionContext): Promise<NodeExecutionResult> {
// Services are optional for backward compatibility
if (!context.services) {
throw new Error('This node requires DBOS execution context');
}
const { dbos, vfs } = context.services;
// Use DBOS for durable operations
const data = await dbos.runStep(() => fetchData(), { name: 'fetch' });
// Use VFS for file access
const config = await dbos.runStep(
() => vfs.readFile('ws-123', 'main', 'config.json'),
{ name: 'read-config' }
);
return {};
}Properties
dbos
readonlydbos:IDBOSContextService
Defined in: packages/fireflow-types/src/execution/services/index.ts:54
DBOS context service for durable execution primitives.
Provides:
- runStep(): Durable step execution with automatic checkpointing
- executeSubflow(): Flow composition (call another flow)
- send()/recv(): Inter-workflow messaging
- writeStream(): Real-time event streaming
- sleep(): Durable sleep
vfs
readonlyvfs:IVFSContextService
Defined in: packages/fireflow-types/src/execution/services/index.ts:66
VFS context service for file system access.
Provides read-only access to the Virtual File System (lakeFS):
- readFile(): Read text files
- getPresignedUrl(): Get URLs for binary files
- exists(): Check file existence
- listDirectory(): List directory contents
- stat(): Get file metadata
vfsWrite?
readonlyoptionalvfsWrite:IVFSWriteContextService
Defined in: packages/fireflow-types/src/execution/services/index.ts:72
VFS write context service for file modification and git operations. Optional - only available when execution context supports writes.