eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
46 lines (45 loc) • 2.71 kB
TypeScript
import type { JsonObject } from "#shared/json.js";
import type { DurableDynamicToolCallbacks } from "#tools/durable-callbacks.js";
interface DynamicToolMetadataBase {
readonly name: string;
readonly description: string;
readonly execution?: "background";
readonly inputSchema: JsonObject;
readonly outputSchema?: JsonObject;
readonly resolverSlug: string;
readonly entryKey: string;
}
/** Callback identity is supplied by the surrounding session, scope, and resolver metadata. */
export interface CurrentDynamicToolMetadata extends DynamicToolMetadataBase {
readonly callbacks: DurableDynamicToolCallbacks;
}
/** Old schema written before callback descriptors existed. */
export interface OldStepFunctionDynamicToolMetadata extends DynamicToolMetadataBase {
readonly callbacks?: never;
readonly executeStepFnName?: string;
readonly approvalStepFnName?: string;
readonly approvalResponseStepFnName?: string;
readonly closureVars?: Record<string, unknown>;
}
interface OldSourceOffsetDynamicCallbackReference {
readonly closure: JsonObject;
readonly stepId: string;
}
/** Old schema whose callback identity was a generated source offset. */
export interface OldSourceOffsetDynamicToolMetadata extends DynamicToolMetadataBase {
readonly callbacks: {
readonly execute: OldSourceOffsetDynamicCallbackReference;
readonly approvalRequest?: OldSourceOffsetDynamicCallbackReference;
readonly approvalResponse?: OldSourceOffsetDynamicCallbackReference;
readonly toModelOutput?: OldSourceOffsetDynamicCallbackReference;
};
}
export type OldDynamicToolMetadata = OldStepFunctionDynamicToolMetadata | OldSourceOffsetDynamicToolMetadata;
export type PersistedDynamicToolMetadata = CurrentDynamicToolMetadata | OldDynamicToolMetadata;
export declare function isOldSourceOffsetDynamicToolMetadata(metadata: PersistedDynamicToolMetadata): metadata is OldSourceOffsetDynamicToolMetadata;
export declare function isCurrentDynamicToolMetadata(metadata: PersistedDynamicToolMetadata): metadata is CurrentDynamicToolMetadata;
export declare function isOldStepFunctionDynamicToolMetadata(metadata: PersistedDynamicToolMetadata): metadata is OldStepFunctionDynamicToolMetadata;
/** Converts persisted metadata without changing already-persisted callback closures. */
export declare function toCurrentDynamicToolMetadata(persisted: PersistedDynamicToolMetadata, resolved?: CurrentDynamicToolMetadata): CurrentDynamicToolMetadata;
export declare function toCurrentDynamicToolMetadataList(persisted: readonly PersistedDynamicToolMetadata[], resolved?: readonly CurrentDynamicToolMetadata[]): readonly CurrentDynamicToolMetadata[];
export {};