Agent
Reference for the Agent schema: the fields that identify an agent and tell other agents when to delegate to it.
export const = .({
: .(),
: .({ : 6 }).(/^[A-Za-z0-9]+$/),
: .(),
})
export type = .<typeof >
Sources
Anomaly OpenCode
https://opencode.ai/v2/docs/agents/#options
type = {
?: string
?: string
?: boolean
?: boolean
?: "all" | "primary" | "subagent"
?:
| string
| { readonly : string; readonly : string; readonly ?: string | undefined }
?: readonly {
readonly : string
readonly : string
readonly : "allow" | "ask" | "deny"
}[]
?: {
readonly ?: { readonly [: string]: string } | undefined
readonly ?: { readonly [: string]: Json } | undefined
}
?: number
?: string
}Claude Agent SDK
https://code.claude.com/docs/en/agent-sdk/typescript#agentdefinition
type = {
?: number
?: boolean
?: string
: string
?: string[]
?: number | "high" | "low" | "max" | "medium" | "xhigh"
?: string
?: number
?: AgentMcpServerSpec[]
?: "local" | "project" | "user"
?: string
?: string
?: string
?: boolean
?: PermissionMode
: string
?: string[]
?: string[]
}Claude Code
https://code.claude.com/docs/en/sub-agents#supported-frontmatter-fields
type = {
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
}Cloudflare Agents
https://developers.cloudflare.com/agents/runtime/agents-api/#agent-class
declare class {
: unknown
: number
?: Observability
: (: AgentToolRunInfo, : AgentToolLifecycleResult) => <void>
: (: AgentToolRunInfo) => <void>
: () => void
: (
: ,
: { : string; : string },
) => <void | | >
: (
: Connection,
: number,
: string,
: boolean,
) => void | <void>
: (: Connection, : ConnectionContext) => void | <void>
: {
(: Connection, : unknown): void | <void>
(: unknown): void | <void>
}
: (: FiberRecoveryContext) => <void | FiberRecoveryResult>
: (
: LifecycleJobContext,
) => void | <void | LifecycleJobOutcome> | LifecycleJobOutcome
: (: Connection, : WSMessage) => void | <void>
: (: AgentToolRunInfo, : AgentToolProgressSnapshot) => <void>
: (: ) => <> |
: (?: object | undefined) => void | <void>
: (: unknown, : "server" | Connection) => void
: (: unknown, : "server" | Connection) => void
: (: <DefaultProgress>) => <void>
: (: string, : string, ?: unknown) => <void>
: (: string, : string, : string) => <void>
: (: string, : string, : unknown) => <void>
: (: string, : string, : unknown) => <void>
static : AgentStaticOptions
?: TaskHandlers
}Mastra
https://mastra.ai/reference/agents/agent#constructor-parameters
type = {
?: <<string, <string, unknown>>, unknown>
?: AgentBackgroundConfig
?: MastraBrowser
?: AgentChannels | ChannelConfig
?: <
<undefined, undefined>,
unknown
>
?: <NetworkOptions, unknown>
?: <<undefined>, unknown>
?: <<undefined, undefined>, unknown>
?: string
?: AgentDurableOption
?: AgentEditorConfig
?: boolean
?: <ErrorProcessorOrWorkflow[], unknown>
?: GoalConfig
?: <unknown, unknown, unknown, <string, unknown>>
: string
?: <InputProcessorOrWorkflow[], unknown>
: <SystemMessage, unknown>
?: <
<string, <any, ToolsInput, undefined, any, AgentEditorConfig | undefined>>,
<string, AnyWorkflow>,
<string, <any>>,
<string, MastraTTS>,
IMastraLogger,
<string, <any>>,
<string, <any, any, any, any>>,
<string, <any, any, any, any, any, any, unknown>>,
<string, <any, unknown>>,
<string, MastraMemory>,
<string, ChannelProvider>,
<string, <any>>,
<string, Knowledge>
>
?: number
?: number
?: <MastraMemory, unknown>
?: <<string, unknown>, unknown>
: <ModelWithRetries[] | MastraModelConfig, unknown>
: string
?: AgentNotificationConfig
?: AgentCreateOptions
?: <OutputProcessorOrWorkflow[], unknown>
?: PubSub
?: <string, unknown>
?: <unknown>
?: <string[], unknown>
?: <MastraScorers, unknown>
?: <string>[]
?: <unknown>
?: SkillFormat
?: <ToolsInput, unknown>
?: ToolPayloadTransformPolicy
?: <
<unknown, unknown, unknown, ToolsInput, VoiceEventMap, unknown>,
unknown
>
?: <
<string, <any, any, any, any, any, any, any, any>>,
unknown
>
?: <AnyWorkspace | undefined, unknown>
}OpenAI Agents SDK
https://openai.github.io/openai-agents-js/guides/agents/#basic-configuration
type = {
?: string
?: boolean
?: (<any, any> | <any, "text">)[]
?: InputGuardrail[]
?:
| string
| ((: <unknown>, : <unknown, "text">) => string | <string>)
?: {
?: boolean | undefined
?: MCPToolErrorFunction | null | undefined
?: boolean | undefined
}
?: MCPServer[]
?: string | Model
?: ModelSettings
: string
?: <"text", unknown>[]
?: "text"
?:
| Prompt
| ((: <unknown>, : <unknown, "text">) => <Prompt> | Prompt)
?: boolean
?: <unknown>[]
?: ToolUseBehavior
}OpenAI Codex
https://learn.chatgpt.com/docs/agent-configuration/subagents#custom-agent-file-schema
type = {
: string
: string
: string
}Vercel AI SDK
https://ai-sdk.dev/docs/reference/ai-sdk-core/tool-loop-agent#parameters
type = {
?: <{}>
?: boolean
?: <never>
?: DownloadFunction
?: <{}, Context, never>
?: <{}, <Context>, never>
?: <{}>
?: <{}>
?: <Context, {}>
?: string | <>
?: <{}>
?: number
?: <string, string | undefined>
?: string
?: GenerateTextInclude & StreamTextInclude
?: Instructions
?: number
?: number
: LanguageModel
?: <{}, <Context>>
?: <{}, <Context>>
?: <{}>
?: OnLanguageModelCallStartCallback
?: <{}, Context, never>
?: <{}, <Context>>
?: <{}, <Context>>
?: <{}, <Context>, never>
?: <{}>
?: <{}>
?: undefined
?: (
: <
<never, {}, <Context>>,
| "abortSignal"
| "experimental_onStart"
| "experimental_onStepStart"
| "onEnd"
| "onFinish"
| "onStart"
| "onStepEnd"
| "onStepFinish"
| "onStepStart"
| "onToolExecutionEnd"
| "onToolExecutionStart"
| "timeout"
> &
<
<never, {}, Context, never>,
| "_internal"
| "activeTools"
| "allowSystemInMessages"
| "experimental_download"
| "experimental_refineToolInput"
| "experimental_repairToolCall"
| "experimental_telemetry"
| "experimental_toolApprovalSecret"
| "experimental_toolCallers"
| "frequencyPenalty"
| "headers"
| "include"
| "instructions"
| "maxOutputTokens"
| "maxRetries"
| "model"
| "prepareStep"
| "presencePenalty"
| "providerOptions"
| "reasoning"
| "repairToolCall"
| "runtimeContext"
| "seed"
| "stopSequences"
| "stopWhen"
| "telemetry"
| "temperature"
| "toolApproval"
| "toolCallConcurrency"
| "toolChoice"
| "toolOrder"
| "tools"
| "topK"
| "topP"
> & { : <<{}> & <{}>> },
) => <
<
<never, {}, Context, never>,
| "_internal"
| "activeTools"
| "allowSystemInMessages"
| "experimental_download"
| "experimental_refineToolInput"
| "experimental_repairToolCall"
| "experimental_telemetry"
| "experimental_toolApprovalSecret"
| "experimental_toolCallers"
| "frequencyPenalty"
| "headers"
| "include"
| "instructions"
| "maxOutputTokens"
| "maxRetries"
| "model"
| "prepareStep"
| "presencePenalty"
| "providerOptions"
| "reasoning"
| "repairToolCall"
| "runtimeContext"
| "seed"
| "stopSequences"
| "stopWhen"
| "telemetry"
| "temperature"
| "toolApproval"
| "toolCallConcurrency"
| "toolChoice"
| "toolOrder"
| "tools"
| "topK"
| "topP"
> &
<Prompt, "system"> & {
: <<{}> & <{}>>
}
>
?: <{}, Context>
?: number
?: SharedV4ProviderOptions
?: "high" | "low" | "max" | "medium" | "minimal" | "none" | "provider-default" | "xhigh"
?: <{}>
?: Context
?: number
?: string[]
?: <<{}, Context>>
?: <Context, {}>
?: number
?: <{}>
?: <{}, Context>
?: number
?: <{}>
?: <{}>
?: {}
?: undefined
?: number
?: number
}Vercel eve
https://eve.dev/docs/agent-config
type = {
?: AgentBuildDefinition
?: PublicAgentCompactionDefinition
?: boolean
?: string
?: AgentExperimentalDefinition
?: AgentLimitsDefinition
: PublicAgentDynamicModelDefinition | PublicAgentStaticModelDefinition
?: number
?: AgentModelOptionsDefinition
?: AgentReasoningDefinition
?: AgentToolExposure
}