n8n
Version:
n8n Workflow Automation Tool
1,023 lines (1,022 loc) • 33.5 kB
TypeScript
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 {};