/** Tool catalog, run-result and per-tool tag response schemas. */ import { z } from 'zod'; export declare const toolNames: z.ZodArray; export declare const toolSchema: z.ZodObject<{ input: z.ZodRecord; output: z.ZodNullable>; description: z.ZodNullable; }, z.core.$strip>; export type ToolSchema = z.infer; export declare const allToolSchemas: z.ZodRecord; output: z.ZodNullable>; description: z.ZodNullable; }, z.core.$strip>>; export declare const runToolResult: z.ZodType>; /** The lifecycle status a parked interaction on a run's subject carries: a pending ask, an * ask whose continuation is resuming, or a resolved run's waiting outcome (clean/failed). */ export declare const parkedStatus: z.ZodEnum<{ running: "running"; failed: "failed"; asking: "asking"; finished: "finished"; }>; export type ParkedStatus = z.infer; /** * One parked caller-ask entry a synchronous run-tool call returns when the tool asked its * CALLER (`to="caller"`) and parked. The full contract entry carries more fields; the panel * reads the display subset here and tolerates the rest. `question` is the prompt, `payload` * the structured value the ask handed the caller, `asked_by` the run chain that raised it. */ export declare const parkedCallerAsk: z.ZodObject<{ id: z.ZodString; status: z.ZodEnum<{ running: "running"; failed: "failed"; asking: "asking"; finished: "finished"; }>; to: z.ZodOptional>>; question: z.ZodOptional>; payload: z.ZodOptional>>; asked_by: z.ZodOptional>>; }, z.core.$strip>; export type ParkedCallerAsk = z.infer; /** A synchronous run whose tool parked CALLER asks returns this envelope in place of a result: * the full caller-ask entries under `asks`. An empty `asks` means the run parked with no open * caller ask (only user asks remain). */ export declare const callerAsksEnvelope: z.ZodObject<{ asks: z.ZodArray; to: z.ZodOptional>>; question: z.ZodOptional>; payload: z.ZodOptional>>; asked_by: z.ZodOptional>>; }, z.core.$strip>>; }, z.core.$strip>; export type CallerAsksEnvelope = z.infer; /** The park receipt a synchronous run returns when its tool parked only USER asks: the * suspension sentinel's ids, with no caller ask for the panel to act on. */ export declare const suspendedRunReceipt: z.ZodObject<{ interaction_id: z.ZodString; interaction_ids: z.ZodArray; caller_interaction_ids: z.ZodDefault>; }, z.core.$strip>; export type SuspendedRunReceipt = z.infer; /** What one resume / take / cancel of a parked interaction did, as `resume_parked` / * `cancel_parked` return it through run-tool. `kind` picks the payload: `result` (a final * value in `result`), `asks` (new caller asks in `asks`), `parked` (only user asks remain), * or `none` (nothing ran). `action` names the single non-cancel action taken. */ export declare const visitOutcome: z.ZodObject<{ action: z.ZodEnum<{ none: "none"; resumed: "resumed"; taken: "taken"; started: "started"; }>; cancelled: z.ZodDefault>; kind: z.ZodEnum<{ result: "result"; none: "none"; asks: "asks"; parked: "parked"; }>; result: z.ZodOptional; asks: z.ZodDefault; to: z.ZodOptional>>; question: z.ZodOptional>; payload: z.ZodOptional>>; asked_by: z.ZodOptional>>; }, z.core.$strip>>>; }, z.core.$strip>; export type VisitOutcome = z.infer; /** * The MEDIA content shape a direct tool run may return — fastmcp's serialized * `Image`/`Audio` MediaBlock (`{ type, data: , mimeType }`). One recognised * shape of the otherwise-arbitrary `runToolResult`, kept as its own schema so the * viewer detects media by parse, not by ad-hoc shape check. * * SECURITY: the refinement pins `mimeType` to its kind — `image` MUST be `image/*`, * `audio` MUST be `audio/*` — so a drifting/arbitrary mime fails the parse and is * never turned into a `data:` URI (a `File` MediaBlock's distinct `EmbeddedResource` * shape also fails here, by design). */ export declare const toolMediaResult: z.ZodObject<{ type: z.ZodEnum<{ image: "image"; audio: "audio"; }>; data: z.ZodString; mimeType: z.ZodString; }, z.core.$strip>; export type ToolMediaResult = z.infer; /** * The ADDITIVE per-tool native surface (`GET /api/tools/tags`). Distinct from the * flat `toolNames` contract (`GET /api/tools`, unchanged): each entry carries the * tool's read-only FastMCP `tags` — so the shared `ToolPicker` can group/filter its * options — plus `hidden`, the tool's OWN plugin-declared visibility (read from the * FastMCP `meta` under `tai42/hidden`; a tool that never declared it is not hidden). * The tool_meta overlay's tri-state override is merged on top client-side; this read * exposes only the declaration. * * `badges` are the tool's plugin-DECLARED capability labels — purely INFORMATIONAL * (e.g. `network`, `filesystem`), never a gate the server enforces. The overlay's * own badges are merged on top client-side; this read exposes only the declaration. */ export declare const toolTagEntry: z.ZodObject<{ name: z.ZodString; tags: z.ZodArray; badges: z.ZodArray; hidden: z.ZodBoolean; }, z.core.$strip>; export declare const toolTags: z.ZodArray; badges: z.ZodArray; hidden: z.ZodBoolean; }, z.core.$strip>>; export type ToolTagEntry = z.infer; //# sourceMappingURL=tools.d.ts.map