eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
72 lines (71 loc) • 3.3 kB
TypeScript
import { type WorkflowManifest } from "#internal/workflow-bundle/workflow-builders.js";
export declare const WORKFLOW_VIRTUAL_ENTRY_ID = "\0eve-workflow-entry";
export interface WorkflowBundleBuilderConfig {
readonly buildTarget: "standalone";
readonly dirs: readonly string[];
readonly externalPackages: readonly string[];
readonly projectRoot: string;
readonly watch: boolean;
readonly workingDir: string;
}
export interface WorkflowBundleDiscoveredEntries {
readonly discoveredSerdeFiles: string[];
readonly discoveredSteps: string[];
readonly discoveredWorkflows: string[];
}
export interface WorkflowBundleCreateWorkflowsBundleOptions {
readonly bundleFinalOutput?: boolean;
readonly discoveredEntries?: WorkflowBundleDiscoveredEntries;
readonly format?: "cjs" | "esm";
readonly inputFiles: readonly string[];
readonly keepInterimBundleContext?: boolean;
readonly outfile: string;
readonly tsconfigPath?: string;
}
export interface WorkflowBundleCreateWorkflowsBundleResult {
readonly bundleFinal?: (interimBundleResult: string) => Promise<void>;
readonly interimBundleCtx?: undefined;
readonly manifest: WorkflowManifest;
}
interface WorkflowRolldownPlugin {
readonly name: string;
readonly resolveId?: (source: string, importer?: string) => unknown;
readonly load?: (id: string) => unknown;
readonly transform?: (code: string, id: string) => unknown;
}
export declare function collectWorkflowInputFiles(root: string): Promise<string[]>;
export declare function createWorkflowImport(filePath: string, workingDir: string): string;
export declare function createWorkflowVirtualEntryPlugin(source: string): WorkflowRolldownPlugin;
export declare function createWorkflowPseudoPackagePlugin(): WorkflowRolldownPlugin;
export declare function createWorkflowRuntimeAliasPlugin(): WorkflowRolldownPlugin;
export declare function createEvePackageImportsPlugin(workingDir: string, options?: {
workflowCondition?: boolean;
}): WorkflowRolldownPlugin;
export declare function createWorkflowTransformPlugin(input: {
manifest: WorkflowManifest;
mode?: "step" | "workflow";
projectRoot: string;
sideEffectFiles?: readonly string[];
workingDir: string;
}): WorkflowRolldownPlugin;
export declare function bundleWorkflowStepRegistrations(input: {
builtinsPath: string;
discoveredEntries: WorkflowBundleDiscoveredEntries;
outfile: string;
projectRoot: string;
tsconfigPath?: string;
workingDir: string;
}): Promise<void>;
export declare function createWorkflowNodeBuiltinGuardPlugin(): WorkflowRolldownPlugin;
export declare function bundleFinalWorkflowOutput(input: {
bundleFinalOutput: boolean;
code: string;
format: "cjs" | "esm";
outfile: string;
workingDir: string;
}): Promise<void>;
export declare function convertStepsManifest(steps: WorkflowManifest["steps"]): Record<string, unknown>;
export declare function convertWorkflowsManifest(workflows: WorkflowManifest["workflows"]): Record<string, unknown>;
export declare function convertClassesManifest(classes: WorkflowManifest["classes"]): Record<string, unknown>;
export declare function atomicWriteFile(targetPath: string, contents: string | Buffer | Uint8Array): Promise<void>;
export {};