import { Type, type TSchema } from "typebox"; import { type DeliveryContext } from "../../utils/delivery-context.shared.js"; import { type AnyAgentTool } from "./common.js"; import { callGatewayTool } from "./gateway.js"; export declare const CronToolSchema: Type.TObject<{ action: Type.TUnsafe<"add" | "list" | "remove" | "run" | "runs" | "status" | "update" | "wake">; gatewayUrl: Type.TOptional; gatewayToken: Type.TOptional; timeoutMs: Type.TOptional; includeDisabled: Type.TOptional; job: Type.TOptional; schedule: Type.TOptional>; at: Type.TOptional; everyMs: Type.TOptional; anchorMs: Type.TOptional; expr: Type.TOptional; tz: Type.TOptional; staggerMs: Type.TOptional; }>>; sessionTarget: Type.TOptional; wakeMode: Type.TOptional>; payload: Type.TOptional>; text: Type.TOptional; message: Type.TOptional; model: Type.TOptional; thinking: Type.TOptional; timeoutSeconds: Type.TOptional; lightContext: Type.TOptional; allowUnsafeExternalContent: Type.TOptional; fallbacks: Type.TOptional>; toolsAllow: TSchema; }>>; delivery: Type.TOptional>; channel: Type.TOptional; to: Type.TOptional; threadId: Type.TOptional>; bestEffort: Type.TOptional; accountId: Type.TOptional; failureDestination: Type.TOptional; to: Type.TOptional; accountId: Type.TOptional; mode: Type.TOptional>; }>>; }>>; agentId: Type.TOptional; description: Type.TOptional; enabled: Type.TOptional; deleteAfterRun: Type.TOptional; sessionKey: Type.TOptional; failureAlert: Type.TOptional>>; }>>; jobId: Type.TOptional; id: Type.TOptional; patch: Type.TOptional; schedule: Type.TOptional>; at: Type.TOptional; everyMs: Type.TOptional; anchorMs: Type.TOptional; expr: Type.TOptional; tz: Type.TOptional; staggerMs: Type.TOptional; }>>; sessionTarget: Type.TOptional; wakeMode: Type.TOptional>; payload: Type.TOptional>; text: Type.TOptional; message: Type.TOptional; model: Type.TOptional; thinking: Type.TOptional; timeoutSeconds: Type.TOptional; lightContext: Type.TOptional; allowUnsafeExternalContent: Type.TOptional; fallbacks: Type.TOptional>; toolsAllow: TSchema; }>>; delivery: Type.TOptional>; channel: Type.TOptional; to: Type.TOptional; threadId: Type.TOptional>; bestEffort: Type.TOptional; accountId: Type.TOptional; failureDestination: Type.TOptional; to: Type.TOptional; accountId: Type.TOptional; mode: Type.TOptional>; }>>; }>>; description: Type.TOptional; enabled: Type.TOptional; deleteAfterRun: Type.TOptional; agentId: Type.TOptional; sessionKey: Type.TOptional; failureAlert: Type.TOptional>>; }>>; text: Type.TOptional; mode: Type.TOptional>; runMode: Type.TOptional>; contextMessages: Type.TOptional; }>; type CronToolOptions = { agentSessionKey?: string; currentDeliveryContext?: DeliveryContext; /** Restrict this cron tool instance to removing only this active cron job. */ selfRemoveOnlyJobId?: string; }; type GatewayToolCaller = typeof callGatewayTool; type CronToolDeps = { callGatewayTool?: GatewayToolCaller; }; export declare function createCronTool(opts?: CronToolOptions, deps?: CronToolDeps): AnyAgentTool; export {};