/** * @license * Copyright 2025 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import { CreateWorkflow } from "@workglow/task-graph"; import type { CachePolicy, IExecuteContext, IRunConfig, TaskConfig } from "@workglow/task-graph"; import { DataPortSchema } from "@workglow/util/schema"; import { ModelConfig } from "../model/ModelSchema"; import { AiTask } from "./base/AiTask"; export type ModelInfoTaskInput = { detail?: "cached_status" | "files" | "files_with_metadata" | "dimensions" | undefined; model: string | ModelConfig; }; export type ModelInfoTaskOutput = { native_dimensions?: number | undefined; mrl?: boolean | undefined; is_downloading?: boolean | undefined; quantizations?: string[] | undefined; model: string | ModelConfig; is_local: boolean; is_remote: boolean; supports_browser: boolean; supports_node: boolean; is_cached: boolean; is_loaded: boolean; file_sizes: unknown; }; export type ModelInfoTaskConfig = TaskConfig; /** * Retrieve runtime metadata about a model: locality, browser support, cache status, and file sizes. */ export declare class ModelInfoTask extends AiTask { static type: string; /** Capabilities required of the model; gated in {@link AiTask.execute}. */ static readonly requires: ["model.info"]; static category: string; static cachePolicy: CachePolicy; static title: string; static description: string; static inputSchema(): DataPortSchema; static outputSchema(): DataPortSchema; execute(input: ModelInfoTaskInput, context: IExecuteContext): Promise; } /** * Retrieve runtime metadata about a model. * * @param input - Input containing the model to query * @returns Promise resolving to model info including locality and cache status */ export declare const modelInfo: (input: ModelInfoTaskInput, config?: ModelInfoTaskConfig, runConfig?: Partial) => Promise; declare module "@workglow/task-graph" { interface Workflow { modelInfo: CreateWorkflow; } } //# sourceMappingURL=ModelInfoTask.d.ts.map