Skip to content

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

typescript
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

readonly dbos: 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

readonly vfs: 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?

readonly optional vfsWrite: 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.

Licensed under BUSL-1.1