ZeroSDK

Agent

Reference for the Agent schema: the fields that identify an agent and tell other agents when to delegate to it.

packages/schema/src/agent.ts
export const  = .({
  : .(),
  : .({ : 6 }).(/^[A-Za-z0-9]+$/),
  : .(),
})

export type  = .<typeof >

Sources

Anomaly OpenCode

https://opencode.ai/v2/docs/agents/#options

@opencode/schema@2.0.32
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

@anthropic-ai/claude-agent-sdk@0.3.303
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

@anthropic-ai/claude-code@2.1.304 · docs
type  = {
  ?
  ?
  ?
  
  ?
  ?
  ?
  ?
  ?
  ?
  ?
  ?
  ?
  ?
  
  ?
  ?
  ?
  ?
}

Cloudflare Agents

https://developers.cloudflare.com/agents/runtime/agents-api/#agent-class

agents@0.28.1
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

@mastra/core@1.78.0
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

@openai/agents-core@0.20.0
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

@openai/codex@0.163.0 · docs
type  = {
  : string
  : string
  : string
}

Vercel AI SDK

https://ai-sdk.dev/docs/reference/ai-sdk-core/tool-loop-agent#parameters

ai@7.0.145
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

eve@0.81.0
type  = {
  ?: AgentBuildDefinition
  ?: PublicAgentCompactionDefinition
  ?: boolean
  ?: string
  ?: AgentExperimentalDefinition
  ?: AgentLimitsDefinition
  : PublicAgentDynamicModelDefinition | PublicAgentStaticModelDefinition
  ?: number
  ?: AgentModelOptionsDefinition
  ?: AgentReasoningDefinition
  ?: AgentToolExposure
}