{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the record."
},
"name": {
"type": "string",
"description": "Human-readable name for the record."
},
"description": {
"type": [
"string",
"null"
],
"description": "Human-readable description for the record."
},
"model": {
"type": [
"string",
"null"
],
"description": "Model identifier recovered from authored source. Null means no literal identifier was recovered; an omitted model is valid. The run selects and checks its model at admission, so null is not a missing-configuration error or a verified runtime default."
},
"system_prompt": {
"type": [
"string",
"null"
],
"description": "The system prompt associated with this record."
},
"thinking": {
"anyOf": [
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "The enabled associated with this record."
},
"budget_tokens": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0,
"description": "The budget tokens associated with this record."
},
{
"type": "null",
"description": "The budget tokens returned by the tool."
}
],
"description": "The budget tokens associated with this record."
}
},
"required": [
"enabled"
],
"additionalProperties": false,
"description": "Structured thinking details associated with this record."
},
{
"type": "null",
"description": "The thinking returned by the tool."
}
],
"description": "The thinking associated with this record."
},
"temperature": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 2,
"description": "The temperature associated with this record."
},
{
"type": "null",
"description": "The temperature returned by the tool."
}
],
"description": "The temperature associated with this record."
},
"max_steps": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"description": "The max steps associated with this record."
},
{
"type": "null",
"description": "The max steps returned by the tool."
}
],
"description": "The max steps associated with this record."
},
"allowed_models": {
"type": "array",
"items": {
"type": "string",
"description": "One allowed model item associated with this record."
},
"description": "Agent-level allowlist for request model overrides. Empty means no restriction by this allowlist; project and run model policies still apply. This does not identify the resolved runtime model."
},
"skill_ids": {
"type": "array",
"items": {
"type": "string",
"description": "One skill id item associated with this record."
},
"description": "Legacy source-view skill IDs. A read with skill_resolution can include source-catalog matches; a write response can echo only authored IDs. An empty array does not prove that no skills are available, and these IDs do not verify runtime loading. Use skill_selection and skill_resolution for provenance."
},
"skill_selection": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"omitted",
"explicit"
],
"description": "The kind associated with this record."
},
"skill_ids": {
"type": "array",
"items": {
"type": "string",
"description": "One skill id item associated with this record."
},
"description": "Explicit skill IDs when kind is explicit. When kind is omitted, a read lists the owner-visible source-catalog matches (legacy projection) and a write response can echo an empty list. Use skill_resolution for provenance; these IDs do not verify runtime loading."
}
},
"required": [
"kind",
"skill_ids"
],
"additionalProperties": false,
"description": "Skill selection. kind is the authored policy: omitted selects all owner-visible skills. Use skill_resolution for resolved source-catalog matches and their evidence scope."
},
"skill_resolution": {
"anyOf": [
{
"type": "object",
"properties": {
"policy": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "all-visible",
"description": "The kind associated with this record."
},
"source": {
"type": "string",
"enum": [
"omitted",
"true"
],
"description": "The source associated with this record."
}
},
"required": [
"kind",
"source"
],
"additionalProperties": false,
"description": "Structured option 1 details associated with this record."
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "none",
"description": "The kind associated with this record."
}
},
"required": [
"kind"
],
"additionalProperties": false,
"description": "Structured option 2 details associated with this record."
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "allowlist",
"description": "The kind associated with this record."
},
"entries": {
"type": "array",
"items": {
"type": "string",
"description": "One entry item associated with this record."
},
"description": "List of entries associated with this record."
}
},
"required": [
"kind",
"entries"
],
"additionalProperties": false,
"description": "Structured option 3 details associated with this record."
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "rules",
"description": "The kind associated with this record."
},
"entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pattern": {
"type": "string",
"description": "The pattern associated with this record."
},
"allow": {
"type": "boolean",
"description": "The allow associated with this record."
}
},
"required": [
"pattern",
"allow"
],
"additionalProperties": false,
"description": "One entry item associated with this record."
},
"description": "List of entries associated with this record."
}
},
"required": [
"kind",
"entries"
],
"additionalProperties": false,
"description": "Structured option 4 details associated with this record."
}
],
"description": "The policy associated with this record."
},
"skill_ids": {
"type": "array",
"items": {
"type": "string",
"description": "One skill id item associated with this record."
},
"description": "List of skill ids associated with this record."
},
"source_paths": {
"type": "object",
"additionalProperties": {
"type": "string",
"description": "Additional structured values associated with this result."
},
"description": "Structured source paths details associated with this record."
},
"unresolved_entry_indexes": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"description": "One unresolved entry indexe item associated with this record."
},
"description": "List of unresolved entry indexes associated with this record."
},
"catalog_status": {
"type": "string",
"enum": [
"complete",
"partial"
],
"description": "The catalog status associated with this record."
},
"evidence_scope": {
"type": "string",
"const": "source_catalog",
"description": "The evidence scope associated with this record."
}
},
"required": [
"policy",
"skill_ids",
"source_paths",
"unresolved_entry_indexes",
"catalog_status",
"evidence_scope"
],
"additionalProperties": false,
"description": "Skill selector policy and owner-visible source catalog matches. Partial catalogs cannot establish that unreturned skills are absent. This does not verify run execution access."
},
{
"type": "null",
"description": "The skill resolution returned by the tool."
}
],
"description": "Skill selector policy and owner-visible source catalog matches. Partial catalogs cannot establish that unreturned skills are absent. This does not verify run execution access."
},
"skills": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"description": "The option 1 associated with this record."
},
{
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The option 2 associated with this record."
},
{
"type": "array",
"items": {
"$ref": "#/properties/skills/anyOf/0/anyOf/1",
"description": "One skill item returned by the tool."
},
"maxItems": 500,
"description": "List of option 3 associated with this record."
},
{
"type": "object",
"additionalProperties": {
"type": "boolean",
"description": "Additional structured values associated with this result."
},
"propertyNames": {
"minLength": 1,
"maxLength": 128
},
"description": "The option 4 associated with this record."
}
],
"description": "The skills associated with this record."
},
{
"type": "null",
"description": "The skills returned by the tool."
}
],
"description": "The skills associated with this record."
},
"all_tools_enabled": {
"type": "boolean",
"description": "Whether the authored selector allows all tools. False can still select individual tools. Read the raw tools selector and capability resolution for the selected set."
},
"tool_ids": {
"type": "array",
"items": {
"type": "string",
"description": "One tool id item associated with this record."
},
"description": "Source-recovered explicit tool IDs. Empty when all_tools_enabled is true, when tools is false (authored deny-all), or when no explicit IDs were recovered, so an empty array alone does not mean callable host tools are disabled. This source view does not verify execution grants."
},
"tools": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"description": "The option 1 associated with this record."
},
{
"type": "array",
"items": {
"$ref": "#/properties/skills/anyOf/0/anyOf/1",
"description": "One tool item returned by the tool."
},
"maxItems": 500,
"description": "List of option 2 associated with this record."
},
{
"$ref": "#/properties/skills/anyOf/0/anyOf/3",
"description": "The tools returned by the tool."
}
],
"description": "Callable host-tool selector. Use false to disable all host tools, including skill and delegation tools. An empty array or map selects no project tools but preserves legacy runtime essentials. Provider-native tools use provider_tool_ids."
},
{
"type": "null",
"description": "The tools returned by the tool."
}
],
"description": "Callable host-tool selector. Use false to disable all host tools, including skill and delegation tools. An empty array or map selects no project tools but preserves legacy runtime essentials. Provider-native tools use provider_tool_ids."
},
"tool_loading": {
"anyOf": [
{
"type": "string",
"enum": [
"eager",
"deferred"
],
"description": "The tool loading associated with this record."
},
{
"type": "null",
"description": "The tool loading returned by the tool."
}
],
"description": "The tool loading associated with this record."
},
"tool_result_context": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"description": "The option 1 associated with this record."
},
{
"type": "object",
"properties": {
"max_inline_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1048576,
"description": "The max inline bytes associated with this record."
},
"preview_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1048576,
"description": "The preview bytes associated with this record."
},
"max_section_bytes": {
"type": "integer",
"minimum": 4,
"maximum": 1048576,
"description": "The max section bytes associated with this record."
},
"max_stored_results": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1024,
"description": "The max stored results associated with this record."
}
},
"additionalProperties": false,
"description": "Structured option 2 details associated with this record."
}
],
"description": "The tool result context associated with this record."
},
{
"type": "null",
"description": "The tool result context returned by the tool."
}
],
"description": "The tool result context associated with this record."
},
"provider_tool_ids": {
"type": "array",
"items": {
"type": "string",
"description": "One provider tool id item associated with this record."
},
"description": "Provider-native model tool IDs attached to the record."
},
"knowledge": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean",
"description": "The option 1 associated with this record."
},
{
"type": "string",
"minLength": 1,
"maxLength": 4096,
"description": "The option 2 associated with this record."
},
{
"type": "array",
"items": {
"$ref": "#/properties/knowledge/anyOf/0/anyOf/1",
"description": "One knowledge item returned by the tool."
},
"maxItems": 1024,
"description": "List of option 3 associated with this record."
},
{
"type": "object",
"additionalProperties": {
"type": "boolean",
"description": "Additional structured values associated with this result."
},
"description": "The option 4 associated with this record."
}
],
"description": "The knowledge associated with this record."
},
{
"type": "null",
"description": "The knowledge returned by the tool."
}
],
"description": "The knowledge associated with this record."
},
"suggestions": {
"anyOf": [
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"description": "The option 1 associated with this record."
},
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"description": "Short human-readable title for the record."
},
"prompt": {
"type": "string",
"minLength": 1,
"description": "The prompt associated with this record."
}
},
"required": [
"title",
"prompt"
],
"additionalProperties": false,
"description": "Structured option 2 details associated with this record."
}
],
"description": "One suggestion item associated with this record."
},
"description": "List of suggestions associated with this record."
},
{
"type": "null",
"description": "The suggestions returned by the tool."
}
],
"description": "The suggestions associated with this record."
},
"avatar": {
"anyOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"seed": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The seed associated with this record."
},
{
"type": "null",
"description": "The seed returned by the tool."
}
],
"description": "The seed associated with this record."
},
"archetype": {
"anyOf": [
{
"type": "string",
"enum": [
"upright",
"slumped",
"alert",
"profile",
"leaning",
"crouched",
"tall",
"spread",
"happy",
"sad",
"angry",
"surprised",
"sleepy",
"curious"
],
"description": "The archetype associated with this record."
},
{
"type": "null",
"description": "The archetype returned by the tool."
}
],
"description": "The archetype associated with this record."
},
"texture": {
"anyOf": [
{
"type": "string",
"pattern": "^(?:[0-9]|none)$",
"description": "The texture associated with this record."
},
{
"type": "null",
"description": "The texture returned by the tool."
}
],
"description": "The texture associated with this record."
},
"color": {
"anyOf": [
{
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$",
"description": "The color associated with this record."
},
{
"type": "null",
"description": "The color returned by the tool."
}
],
"description": "The color associated with this record."
},
"shape": {
"anyOf": [
{
"type": "string",
"enum": [
"snircle",
"circle",
"square"
],
"description": "The shape associated with this record."
},
{
"type": "null",
"description": "The shape returned by the tool."
}
],
"description": "The shape associated with this record."
},
"matrix": {
"anyOf": [
{
"type": "string",
"pattern": "^[012]{16}$",
"description": "The matrix associated with this record."
},
{
"type": "null",
"description": "The matrix returned by the tool."
}
],
"description": "The matrix associated with this record."
}
},
"additionalProperties": false,
"description": "Structured avatar details associated with this record."
},
{
"type": "null",
"description": "The avatar returned by the tool."
}
],
"description": "The avatar associated with this record."
},
{
"type": "null",
"description": "The avatar returned by the tool."
}
],
"description": "The avatar associated with this record."
},
"avatar_url": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"format": "uri",
"description": "The avatar url associated with this record."
},
{
"type": "null",
"description": "The avatar url returned by the tool."
}
],
"description": "The avatar url associated with this record."
},
{
"type": "null",
"description": "The avatar url returned by the tool."
}
],
"description": "Absolute URL for this agent avatar. Null when no custom avatar has been set."
},
"security_enabled": {
"type": [
"boolean",
"null"
],
"description": "Whether the agent default security guardrails are enabled."
},
"source_path": {
"type": "string",
"description": "The source path associated with this record."
},
"source": {
"type": "string",
"description": "The source associated with this record."
},
"edit_mode": {
"type": "string",
"enum": [
"structured",
"source_only"
],
"description": "The edit mode associated with this record."
},
"source_only_reasons": {
"type": "array",
"items": {
"type": "string",
"description": "One source only reason item associated with this record."
},
"description": "List of source only reasons associated with this record."
}
},
"required": [
"id",
"name",
"description",
"model",
"system_prompt",
"temperature",
"max_steps",
"allowed_models",
"skill_ids",
"skill_selection",
"all_tools_enabled",
"tool_ids",
"provider_tool_ids",
"security_enabled",
"source_path",
"source",
"edit_mode",
"source_only_reasons"
],
"additionalProperties": false,
"description": "Structured agent source output schema for MCP tools.",
"$schema": "http://json-schema.org/draft-07/schema#"
}