import type { Parameter } from '@uselamina/sdk'; /** * Parse `--input =` flags into an object. * * Repeated keys are collected into an array, so `--input imageUrls=https://a * --input imageUrls=https://b` produces `{ imageUrls: ['https://a', * 'https://b'] }`. A single occurrence stays a scalar so existing app * dispatch paths (where most params are scalar) are unaffected. Downstream * code that targets array-typed slots is responsible for wrapping scalars * if needed. */ export declare function parseInlineInputs(entries?: string[]): Record; export declare function loadInputsFromFile(filePath: string): Promise>; /** * Validate caller-supplied inputs against the app's parameter schema. * * Mirrors the server-side `resolveAgentInputs` resolver (which is what the * REST/MCP surfaces both call) so the CLI gives the same answers the server * would, just earlier and without a round trip: * * - Lookup is `key`-first (snake_case), then `name`, then `id`. * - **Default-presence is the must-supply signal, not `parameter.required`.** * Workflow authors set `required` inconsistently; what matters is whether * the workflow can run without a value. If the author saved any default * (incl. `""` / `[]`), the workflow handles "blank" natively. * - Errors collect into a structured list and surface as one CLI error so * the user sees every problem at once instead of fixing them one at a time. */ export declare function validateInputsAgainstSchema(inputs: Record, parameters: Parameter[]): void;