Skip to content

PersistentAI API Documentation / @persistent-ai/fireflow-types / IExecutionServices

Interface: IExecutionServices

Defined in: packages/fireflow-types/src/execution/services/index.ts:45

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:56

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

flowLock?

readonly optional flowLock: IFlowLockService

Defined in: packages/fireflow-types/src/execution/services/index.ts:89

Flow lock service for distributed critical-section control. Optional - only available when the execution context supports locks.

Always-timeout locks: every lock has a TTL so crashed flows cannot permanently block other executions.


vault?

readonly optional vault: IVaultContextService

Defined in: packages/fireflow-types/src/execution/services/index.ts:80

Vault context service for secret management. Optional - only available when vault service is configured.


vfs

readonly vfs: IVFSContextService

Defined in: packages/fireflow-types/src/execution/services/index.ts:68

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:74

VFS write context service for file modification and git operations. Optional - only available when execution context supports writes.

Licensed under BUSL-1.1