@gati-framework/runtime
Version:
Gati runtime execution engine for running handler-based applications
49 lines • 2.15 kB
TypeScript
/**
* @module runtime/storage/in-memory-storage
* @description In-memory storage implementation (default)
*
* Fast, zero-dependency storage for development and testing.
* No persistence - data is lost on restart.
*/
import type { HandlerManifest, HookManifest, GType, Transformer, VersionGraph, TimescapeMetadata } from '../types/manifest-store.js';
import type { StorageContract } from '../types/storage-contract.js';
/**
* In-memory storage implementation
*/
export declare class InMemoryStorage implements StorageContract {
private manifests;
private hookManifests;
private gtypes;
private transformers;
private versionGraphs;
private timescapeMetadata;
storeManifest(manifest: HandlerManifest): Promise<void>;
getManifest(id: string, version?: string): Promise<HandlerManifest | undefined>;
getAllManifestVersions(id: string): Promise<HandlerManifest[]>;
storeHookManifest(manifest: HookManifest): Promise<void>;
getHookManifest(handlerId: string): Promise<HookManifest | null>;
listHookManifests(): Promise<HookManifest[]>;
storeGType(gtype: GType): Promise<void>;
getGType(ref: string): Promise<GType | undefined>;
storeTransformer(transformer: Transformer): Promise<void>;
getTransformer(id: string): Promise<Transformer | undefined>;
getTransformersForVersions(handlerId: string, fromVersion: string, toVersion: string): Promise<Transformer[]>;
storeVersionGraph(graph: VersionGraph): Promise<void>;
getVersionGraph(handlerId: string): Promise<VersionGraph | undefined>;
storeTimescapeMetadata(metadata: TimescapeMetadata): Promise<void>;
getTimescapeMetadata(handlerId: string, version: string): Promise<TimescapeMetadata | undefined>;
clear(): Promise<void>;
getStats(): {
manifestCount: number;
gtypeCount: number;
transformerCount: number;
versionGraphCount: number;
timescapeMetadataCount: number;
hookManifestCount: number;
};
}
/**
* Create in-memory storage instance
*/
export declare function createInMemoryStorage(): StorageContract;
//# sourceMappingURL=in-memory-storage.d.ts.map