UNPKG

n8n

Version:

n8n Workflow Automation Tool

1,023 lines (1,022 loc) 33.5 kB
import { z, type ZodError } from 'zod'; declare const MemoryConfigSchema: z.ZodObject<{ enabled: z.ZodBoolean; storage: z.ZodEnum<["n8n", "sqlite", "postgres"]>; connection: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; lastMessages: z.ZodOptional<z.ZodNumber>; semanticRecall: z.ZodOptional<z.ZodObject<{ topK: z.ZodNumber; scope: z.ZodOptional<z.ZodEnum<["thread", "resource"]>>; messageRange: z.ZodOptional<z.ZodObject<{ before: z.ZodNumber; after: z.ZodNumber; }, "strip", z.ZodTypeAny, { before: number; after: number; }, { before: number; after: number; }>>; embedder: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; }, { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { enabled: boolean; storage: "n8n" | "sqlite" | "postgres"; connection?: Record<string, unknown> | undefined; lastMessages?: number | undefined; semanticRecall?: { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; } | undefined; }, { enabled: boolean; storage: "n8n" | "sqlite" | "postgres"; connection?: Record<string, unknown> | undefined; lastMessages?: number | undefined; semanticRecall?: { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; } | undefined; }>; export declare const NodeConfigSchema: z.ZodObject<{ nodeType: z.ZodString; nodeTypeVersion: z.ZodNumber; nodeParameters: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ id: z.ZodString; name: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; name: string; }, { id: string; name: string; }>>>; }, "strip", z.ZodTypeAny, { nodeType: string; nodeTypeVersion: number; nodeParameters: Record<string, unknown>; credentials?: Record<string, { id: string; name: string; }> | undefined; }, { nodeType: string; nodeTypeVersion: number; credentials?: Record<string, { id: string; name: string; }> | undefined; nodeParameters?: Record<string, unknown> | undefined; }>; declare const AgentJsonSkillConfigSchema: z.ZodObject<{ type: z.ZodLiteral<"skill">; id: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; type: "skill"; }, { id: string; type: "skill"; }>; declare const AgentJsonToolConfigSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"custom">; id: z.ZodString; requireApproval: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { id: string; type: "custom"; requireApproval?: boolean | undefined; }, { id: string; type: "custom"; requireApproval?: boolean | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"workflow">; workflow: z.ZodString; name: z.ZodOptional<z.ZodString>; description: z.ZodOptional<z.ZodString>; requireApproval: z.ZodOptional<z.ZodBoolean>; allOutputs: z.ZodOptional<z.ZodBoolean>; }, "strict", z.ZodTypeAny, { type: "workflow"; workflow: string; description?: string | undefined; name?: string | undefined; requireApproval?: boolean | undefined; allOutputs?: boolean | undefined; }, { type: "workflow"; workflow: string; description?: string | undefined; name?: string | undefined; requireApproval?: boolean | undefined; allOutputs?: boolean | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"node">; name: z.ZodString; description: z.ZodOptional<z.ZodString>; node: z.ZodObject<{ nodeType: z.ZodString; nodeTypeVersion: z.ZodNumber; nodeParameters: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ id: z.ZodString; name: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; name: string; }, { id: string; name: string; }>>>; }, "strip", z.ZodTypeAny, { nodeType: string; nodeTypeVersion: number; nodeParameters: Record<string, unknown>; credentials?: Record<string, { id: string; name: string; }> | undefined; }, { nodeType: string; nodeTypeVersion: number; credentials?: Record<string, { id: string; name: string; }> | undefined; nodeParameters?: Record<string, unknown> | undefined; }>; requireApproval: z.ZodOptional<z.ZodBoolean>; }, "strict", z.ZodTypeAny, { name: string; type: "node"; node: { nodeType: string; nodeTypeVersion: number; nodeParameters: Record<string, unknown>; credentials?: Record<string, { id: string; name: string; }> | undefined; }; description?: string | undefined; requireApproval?: boolean | undefined; }, { name: string; type: "node"; node: { nodeType: string; nodeTypeVersion: number; credentials?: Record<string, { id: string; name: string; }> | undefined; nodeParameters?: Record<string, unknown> | undefined; }; description?: string | undefined; requireApproval?: boolean | undefined; }>]>; export declare const AgentJsonConfigSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodOptional<z.ZodString>; model: z.ZodString; credential: z.ZodOptional<z.ZodString>; instructions: z.ZodString; memory: z.ZodOptional<z.ZodObject<{ enabled: z.ZodBoolean; storage: z.ZodEnum<["n8n", "sqlite", "postgres"]>; connection: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; lastMessages: z.ZodOptional<z.ZodNumber>; semanticRecall: z.ZodOptional<z.ZodObject<{ topK: z.ZodNumber; scope: z.ZodOptional<z.ZodEnum<["thread", "resource"]>>; messageRange: z.ZodOptional<z.ZodObject<{ before: z.ZodNumber; after: z.ZodNumber; }, "strip", z.ZodTypeAny, { before: number; after: number; }, { before: number; after: number; }>>; embedder: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; }, { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { enabled: boolean; storage: "n8n" | "sqlite" | "postgres"; connection?: Record<string, unknown> | undefined; lastMessages?: number | undefined; semanticRecall?: { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; } | undefined; }, { enabled: boolean; storage: "n8n" | "sqlite" | "postgres"; connection?: Record<string, unknown> | undefined; lastMessages?: number | undefined; semanticRecall?: { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; } | undefined; }>>; tools: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"custom">; id: z.ZodString; requireApproval: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { id: string; type: "custom"; requireApproval?: boolean | undefined; }, { id: string; type: "custom"; requireApproval?: boolean | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"workflow">; workflow: z.ZodString; name: z.ZodOptional<z.ZodString>; description: z.ZodOptional<z.ZodString>; requireApproval: z.ZodOptional<z.ZodBoolean>; allOutputs: z.ZodOptional<z.ZodBoolean>; }, "strict", z.ZodTypeAny, { type: "workflow"; workflow: string; description?: string | undefined; name?: string | undefined; requireApproval?: boolean | undefined; allOutputs?: boolean | undefined; }, { type: "workflow"; workflow: string; description?: string | undefined; name?: string | undefined; requireApproval?: boolean | undefined; allOutputs?: boolean | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"node">; name: z.ZodString; description: z.ZodOptional<z.ZodString>; node: z.ZodObject<{ nodeType: z.ZodString; nodeTypeVersion: z.ZodNumber; nodeParameters: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ id: z.ZodString; name: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; name: string; }, { id: string; name: string; }>>>; }, "strip", z.ZodTypeAny, { nodeType: string; nodeTypeVersion: number; nodeParameters: Record<string, unknown>; credentials?: Record<string, { id: string; name: string; }> | undefined; }, { nodeType: string; nodeTypeVersion: number; credentials?: Record<string, { id: string; name: string; }> | undefined; nodeParameters?: Record<string, unknown> | undefined; }>; requireApproval: z.ZodOptional<z.ZodBoolean>; }, "strict", z.ZodTypeAny, { name: string; type: "node"; node: { nodeType: string; nodeTypeVersion: number; nodeParameters: Record<string, unknown>; credentials?: Record<string, { id: string; name: string; }> | undefined; }; description?: string | undefined; requireApproval?: boolean | undefined; }, { name: string; type: "node"; node: { nodeType: string; nodeTypeVersion: number; credentials?: Record<string, { id: string; name: string; }> | undefined; nodeParameters?: Record<string, unknown> | undefined; }; description?: string | undefined; requireApproval?: boolean | undefined; }>]>, "many">>; skills: z.ZodOptional<z.ZodArray<z.ZodObject<{ type: z.ZodLiteral<"skill">; id: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; type: "skill"; }, { id: string; type: "skill"; }>, "many">>; providerTools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>; integrations: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<"schedule">; active: z.ZodBoolean; cronExpression: z.ZodEffects<z.ZodString, string, string>; wakeUpPrompt: z.ZodString; }, "strict", z.ZodTypeAny, { active: boolean; type: "schedule"; cronExpression: string; wakeUpPrompt: string; }, { active: boolean; type: "schedule"; cronExpression: string; wakeUpPrompt: string; }>, z.ZodObject<{ type: z.ZodEffects<z.ZodString, string, string>; credentialId: z.ZodString; credentialName: z.ZodString; }, "strict", z.ZodTypeAny, { type: string; credentialName: string; credentialId: string; }, { type: string; credentialName: string; credentialId: string; }>]>, "many">>; config: z.ZodOptional<z.ZodObject<{ thinking: z.ZodOptional<z.ZodObject<{ provider: z.ZodEnum<["anthropic", "openai"]>; budgetTokens: z.ZodOptional<z.ZodNumber>; reasoningEffort: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; }, { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; }>>; toolCallConcurrency: z.ZodOptional<z.ZodNumber>; nodeTools: z.ZodOptional<z.ZodObject<{ enabled: z.ZodBoolean; }, "strip", z.ZodTypeAny, { enabled: boolean; }, { enabled: boolean; }>>; }, "strip", z.ZodTypeAny, { thinking?: { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; } | undefined; toolCallConcurrency?: number | undefined; nodeTools?: { enabled: boolean; } | undefined; }, { thinking?: { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; } | undefined; toolCallConcurrency?: number | undefined; nodeTools?: { enabled: boolean; } | undefined; }>>; }, "strip", z.ZodTypeAny, { name: string; instructions: string; model: string; description?: string | undefined; credential?: string | undefined; memory?: { enabled: boolean; storage: "n8n" | "sqlite" | "postgres"; connection?: Record<string, unknown> | undefined; lastMessages?: number | undefined; semanticRecall?: { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; } | undefined; } | undefined; config?: { thinking?: { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; } | undefined; toolCallConcurrency?: number | undefined; nodeTools?: { enabled: boolean; } | undefined; } | undefined; tools?: ({ id: string; type: "custom"; requireApproval?: boolean | undefined; } | { type: "workflow"; workflow: string; description?: string | undefined; name?: string | undefined; requireApproval?: boolean | undefined; allOutputs?: boolean | undefined; } | { name: string; type: "node"; node: { nodeType: string; nodeTypeVersion: number; nodeParameters: Record<string, unknown>; credentials?: Record<string, { id: string; name: string; }> | undefined; }; description?: string | undefined; requireApproval?: boolean | undefined; })[] | undefined; skills?: { id: string; type: "skill"; }[] | undefined; providerTools?: Record<string, Record<string, unknown>> | undefined; integrations?: ({ active: boolean; type: "schedule"; cronExpression: string; wakeUpPrompt: string; } | { type: string; credentialName: string; credentialId: string; })[] | undefined; }, { name: string; instructions: string; model: string; description?: string | undefined; credential?: string | undefined; memory?: { enabled: boolean; storage: "n8n" | "sqlite" | "postgres"; connection?: Record<string, unknown> | undefined; lastMessages?: number | undefined; semanticRecall?: { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; } | undefined; } | undefined; config?: { thinking?: { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; } | undefined; toolCallConcurrency?: number | undefined; nodeTools?: { enabled: boolean; } | undefined; } | undefined; tools?: ({ id: string; type: "custom"; requireApproval?: boolean | undefined; } | { type: "workflow"; workflow: string; description?: string | undefined; name?: string | undefined; requireApproval?: boolean | undefined; allOutputs?: boolean | undefined; } | { name: string; type: "node"; node: { nodeType: string; nodeTypeVersion: number; credentials?: Record<string, { id: string; name: string; }> | undefined; nodeParameters?: Record<string, unknown> | undefined; }; description?: string | undefined; requireApproval?: boolean | undefined; })[] | undefined; skills?: { id: string; type: "skill"; }[] | undefined; providerTools?: Record<string, Record<string, unknown>> | undefined; integrations?: ({ active: boolean; type: "schedule"; cronExpression: string; wakeUpPrompt: string; } | { type: string; credentialName: string; credentialId: string; })[] | undefined; }>; export declare const AgentJsonConfigPartialSchema: z.ZodObject<{ name: z.ZodOptional<z.ZodString>; description: z.ZodOptional<z.ZodOptional<z.ZodString>>; model: z.ZodOptional<z.ZodString>; credential: z.ZodOptional<z.ZodOptional<z.ZodString>>; instructions: z.ZodOptional<z.ZodString>; memory: z.ZodOptional<z.ZodOptional<z.ZodObject<{ enabled: z.ZodBoolean; storage: z.ZodEnum<["n8n", "sqlite", "postgres"]>; connection: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; lastMessages: z.ZodOptional<z.ZodNumber>; semanticRecall: z.ZodOptional<z.ZodObject<{ topK: z.ZodNumber; scope: z.ZodOptional<z.ZodEnum<["thread", "resource"]>>; messageRange: z.ZodOptional<z.ZodObject<{ before: z.ZodNumber; after: z.ZodNumber; }, "strip", z.ZodTypeAny, { before: number; after: number; }, { before: number; after: number; }>>; embedder: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; }, { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { enabled: boolean; storage: "n8n" | "sqlite" | "postgres"; connection?: Record<string, unknown> | undefined; lastMessages?: number | undefined; semanticRecall?: { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; } | undefined; }, { enabled: boolean; storage: "n8n" | "sqlite" | "postgres"; connection?: Record<string, unknown> | undefined; lastMessages?: number | undefined; semanticRecall?: { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; } | undefined; }>>>; tools: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"custom">; id: z.ZodString; requireApproval: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { id: string; type: "custom"; requireApproval?: boolean | undefined; }, { id: string; type: "custom"; requireApproval?: boolean | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"workflow">; workflow: z.ZodString; name: z.ZodOptional<z.ZodString>; description: z.ZodOptional<z.ZodString>; requireApproval: z.ZodOptional<z.ZodBoolean>; allOutputs: z.ZodOptional<z.ZodBoolean>; }, "strict", z.ZodTypeAny, { type: "workflow"; workflow: string; description?: string | undefined; name?: string | undefined; requireApproval?: boolean | undefined; allOutputs?: boolean | undefined; }, { type: "workflow"; workflow: string; description?: string | undefined; name?: string | undefined; requireApproval?: boolean | undefined; allOutputs?: boolean | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"node">; name: z.ZodString; description: z.ZodOptional<z.ZodString>; node: z.ZodObject<{ nodeType: z.ZodString; nodeTypeVersion: z.ZodNumber; nodeParameters: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ id: z.ZodString; name: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; name: string; }, { id: string; name: string; }>>>; }, "strip", z.ZodTypeAny, { nodeType: string; nodeTypeVersion: number; nodeParameters: Record<string, unknown>; credentials?: Record<string, { id: string; name: string; }> | undefined; }, { nodeType: string; nodeTypeVersion: number; credentials?: Record<string, { id: string; name: string; }> | undefined; nodeParameters?: Record<string, unknown> | undefined; }>; requireApproval: z.ZodOptional<z.ZodBoolean>; }, "strict", z.ZodTypeAny, { name: string; type: "node"; node: { nodeType: string; nodeTypeVersion: number; nodeParameters: Record<string, unknown>; credentials?: Record<string, { id: string; name: string; }> | undefined; }; description?: string | undefined; requireApproval?: boolean | undefined; }, { name: string; type: "node"; node: { nodeType: string; nodeTypeVersion: number; credentials?: Record<string, { id: string; name: string; }> | undefined; nodeParameters?: Record<string, unknown> | undefined; }; description?: string | undefined; requireApproval?: boolean | undefined; }>]>, "many">>>; skills: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{ type: z.ZodLiteral<"skill">; id: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; type: "skill"; }, { id: string; type: "skill"; }>, "many">>>; providerTools: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>>; integrations: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{ type: z.ZodLiteral<"schedule">; active: z.ZodBoolean; cronExpression: z.ZodEffects<z.ZodString, string, string>; wakeUpPrompt: z.ZodString; }, "strict", z.ZodTypeAny, { active: boolean; type: "schedule"; cronExpression: string; wakeUpPrompt: string; }, { active: boolean; type: "schedule"; cronExpression: string; wakeUpPrompt: string; }>, z.ZodObject<{ type: z.ZodEffects<z.ZodString, string, string>; credentialId: z.ZodString; credentialName: z.ZodString; }, "strict", z.ZodTypeAny, { type: string; credentialName: string; credentialId: string; }, { type: string; credentialName: string; credentialId: string; }>]>, "many">>>; config: z.ZodOptional<z.ZodOptional<z.ZodObject<{ thinking: z.ZodOptional<z.ZodObject<{ provider: z.ZodEnum<["anthropic", "openai"]>; budgetTokens: z.ZodOptional<z.ZodNumber>; reasoningEffort: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; }, { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; }>>; toolCallConcurrency: z.ZodOptional<z.ZodNumber>; nodeTools: z.ZodOptional<z.ZodObject<{ enabled: z.ZodBoolean; }, "strip", z.ZodTypeAny, { enabled: boolean; }, { enabled: boolean; }>>; }, "strip", z.ZodTypeAny, { thinking?: { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; } | undefined; toolCallConcurrency?: number | undefined; nodeTools?: { enabled: boolean; } | undefined; }, { thinking?: { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; } | undefined; toolCallConcurrency?: number | undefined; nodeTools?: { enabled: boolean; } | undefined; }>>>; }, "strip", z.ZodTypeAny, { description?: string | undefined; name?: string | undefined; credential?: string | undefined; memory?: { enabled: boolean; storage: "n8n" | "sqlite" | "postgres"; connection?: Record<string, unknown> | undefined; lastMessages?: number | undefined; semanticRecall?: { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; } | undefined; } | undefined; config?: { thinking?: { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; } | undefined; toolCallConcurrency?: number | undefined; nodeTools?: { enabled: boolean; } | undefined; } | undefined; instructions?: string | undefined; model?: string | undefined; tools?: ({ id: string; type: "custom"; requireApproval?: boolean | undefined; } | { type: "workflow"; workflow: string; description?: string | undefined; name?: string | undefined; requireApproval?: boolean | undefined; allOutputs?: boolean | undefined; } | { name: string; type: "node"; node: { nodeType: string; nodeTypeVersion: number; nodeParameters: Record<string, unknown>; credentials?: Record<string, { id: string; name: string; }> | undefined; }; description?: string | undefined; requireApproval?: boolean | undefined; })[] | undefined; skills?: { id: string; type: "skill"; }[] | undefined; providerTools?: Record<string, Record<string, unknown>> | undefined; integrations?: ({ active: boolean; type: "schedule"; cronExpression: string; wakeUpPrompt: string; } | { type: string; credentialName: string; credentialId: string; })[] | undefined; }, { description?: string | undefined; name?: string | undefined; credential?: string | undefined; memory?: { enabled: boolean; storage: "n8n" | "sqlite" | "postgres"; connection?: Record<string, unknown> | undefined; lastMessages?: number | undefined; semanticRecall?: { topK: number; scope?: "resource" | "thread" | undefined; messageRange?: { before: number; after: number; } | undefined; embedder?: string | undefined; } | undefined; } | undefined; config?: { thinking?: { provider: "anthropic" | "openai"; budgetTokens?: number | undefined; reasoningEffort?: string | undefined; } | undefined; toolCallConcurrency?: number | undefined; nodeTools?: { enabled: boolean; } | undefined; } | undefined; instructions?: string | undefined; model?: string | undefined; tools?: ({ id: string; type: "custom"; requireApproval?: boolean | undefined; } | { type: "workflow"; workflow: string; description?: string | undefined; name?: string | undefined; requireApproval?: boolean | undefined; allOutputs?: boolean | undefined; } | { name: string; type: "node"; node: { nodeType: string; nodeTypeVersion: number; credentials?: Record<string, { id: string; name: string; }> | undefined; nodeParameters?: Record<string, unknown> | undefined; }; description?: string | undefined; requireApproval?: boolean | undefined; })[] | undefined; skills?: { id: string; type: "skill"; }[] | undefined; providerTools?: Record<string, Record<string, unknown>> | undefined; integrations?: ({ active: boolean; type: "schedule"; cronExpression: string; wakeUpPrompt: string; } | { type: string; credentialName: string; credentialId: string; })[] | undefined; }>; export type AgentJsonConfig = z.infer<typeof AgentJsonConfigSchema>; export type AgentJsonToolConfig = z.infer<typeof AgentJsonToolConfigSchema>; export type AgentJsonSkillConfig = z.infer<typeof AgentJsonSkillConfigSchema>; export type AgentJsonConfigRef = AgentJsonToolConfig | AgentJsonSkillConfig; export type AgentJsonMemoryConfig = z.infer<typeof MemoryConfigSchema>; export interface ConfigValidationError { path: string; message: string; expected?: string; received?: string; } export declare function tryParseConfigJson(raw: string): { ok: true; data: unknown; } | { ok: false; errors: ConfigValidationError[]; }; export declare function formatZodErrors(error: ZodError): ConfigValidationError[]; export declare function isNodeToolsEnabled(config: AgentJsonConfig['config']): boolean; export {};