Skip to main content
Glama

Create Revision

createRevision

Create a new revision for an existing agent.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesBuild name
configNoBuild configuration. An agent step takes the latest agent schema (legacy v1 agent configs are not accepted); a code step takes a code-step config. Omit it to get the step family's default first build.
agent_idYesThe agent's unique identifier
handover_toNoThe single agent or code step to run after this one completes ("Handover to"). Mutually exclusive with handover_target_ids.
source_build_idNoBuild ID to copy integrations and queue links from
handover_optionsNoCode steps only. The targets the program may request, and whether it must. Null clears them; omit to inherit the source build's. Mutually exclusive with handover_to.
handover_target_idsNoAgent IDs that this agent can hand work off to
selected_automation_revision_idNoThe automation revision this edit is being made at. Pass a draft and the edit is folded into that draft itself; pass the active revision and the edit lands on a draft branched from it. A historic revision is rejected — it cannot be activated from without an explicit rebase. A revision belonging to a different automation is ignored, and the edit targets the automation the addressed agent belongs to. Omit to target the automation's active revision.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / config / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Agent configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      -          },
      -          "input": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "items": {
      -                  "properties": {
      -                    "content": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "items": {
      -                            "anyOf": [
      -                              {
      -                                "properties": {
      -                                  "text": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_text",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "text"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "detail": {
      -                                    "anyOf": [
      -                                      {
      -                                        "enum": [
      -                                          "low",
      -                                          "high",
      -                                          "auto"
      -                                        ],
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "file_id": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "type": {
      -                                    "const": "input_image",
      -                                    "type": "string"
      -                                  },
      -                                  "url": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "file_id": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_file",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "file_id"
      -                                ],
      -                                "type": "object"
      -                              }
      -                            ]
      -                          },
      -                          "type": "array"
      -                        }
      -                      ]
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "system",
      -                        "user",
      -                        "assistant"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "type": {
      -                      "anyOf": [
      -                        {
      -                          "const": "message",
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "content"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              }
      -            ],
      -            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      -          },
      -          "models": {
      -            "description": "Model configuration for each capability the agent uses",
      -            "properties": {
      -              "agent": {
      -                "description": "Primary agent model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      -                    "enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-sonnet-5-5",
      -                      "claude-sonnet-5-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "claude-opus-5-5",
      -                      "claude-opus-5-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]",
      -                      "glm-5.2",
      -                      "qwen3.6-27b",
      -                      "qwen3.8-max"
      -                    ],
      -                    "type": "string",
      -                    "x-extensible-enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-sonnet-5-5",
      -                      "claude-sonnet-5-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "claude-opus-5-5",
      -                      "claude-opus-5-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]",
      -                      "glm-5.2",
      -                      "qwen3.6-27b",
      -                      "qwen3.8-max"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "model"
      -                ],
      -                "type": "object"
      -              },
      -              "browsing": {
      -                "description": "Browsing/computer-use model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier for the browsing provider",
      -                    "enum": [
      -                      "gemini-2.5-pro",
      -                      "gemini-2.5-flash",
      -                      "gemini-3-pro-preview",
      -                      "claude-haiku-4-5",
      -                      "claude-sonnet-4-5",
      -                      "claude-opus-4-1"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "provider": {
      -                    "description": "Provider backing the browsing/computer-use model",
      -                    "enum": [
      -                      "google",
      -                      "anthropic"
      -                    ],
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "provider",
      -                  "model"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "agent",
      -              "browsing"
      -            ],
      -            "type": "object"
      -          },
      -          "options": {
      -            "additionalProperties": {},
      -            "description": "Optional runtime options controlling how the agent executes",
      -            "properties": {
      -              "benchmarkExpectedOutcomes": {
      -                "description": "Expected outcomes used when running benchmark scenarios",
      -                "items": {
      -                  "properties": {
      -                    "criteria": {
      -                      "description": "Pass/fail criteria used to evaluate the outcome",
      -                      "type": "string"
      -                    },
      -                    "description": {
      -                      "description": "Human-readable description of the expected outcome",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "description",
      -                    "criteria"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "browserProvider": {
      -                "description": "Browser infrastructure provider",
      -                "enum": [
      -                  "browserbase",
      -                  "browser-use"
      -                ],
      -                "type": "string"
      -              },
      -              "evaluationSchemaId": {
      -                "description": "ID of the evaluation schema to apply to runs of this agent",
      -                "type": "string"
      -              },
      -              "supervisedMode": {
      -                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      -                "type": "boolean"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "plugins": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      -          },
      -          "skills": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "IDs of skills (team or system) that should be available to the agent"
      -          },
      -          "subAgents": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "format": "uuid",
      -                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      -          }
      -        },
      -        "required": [
      -          "models",
      -          "input"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v2",
      -        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Code step configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team file paths this step can read at run time"
      -          },
      -          "handoverRequired": {
      -            "default": false,
      -            "description": "When the step declares handover options, whether a run that exits cleanly without requesting one fails. Ignored when the step declares no options.",
      -            "type": "boolean"
      -          },
      -          "language": {
      -            "description": "Language the step's program is written in",
      -            "enum": [
      -              "python"
      -            ],
      -            "type": "string"
      -          },
      -          "source": {
      -            "description": "Where the step's program comes from",
      -            "oneOf": [
      -              {
      -                "properties": {
      -                  "code": {
      -                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      -                    "minLength": 1,
      -                    "type": "string"
      -                  },
      -                  "kind": {
      -                    "const": "inline",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "code"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "properties": {
      -                  "bundle": {
      -                    "description": "The program's files, as a content-addressed manifest",
      -                    "properties": {
      -                      "bucket": {
      -                        "description": "GCS bucket the bundle's blobs are stored in",
      -                        "minLength": 1,
      -                        "type": "string"
      -                      },
      -                      "files": {
      -                        "description": "The program's files, one manifest entry each",
      -                        "items": {
      -                          "properties": {
      -                            "path": {
      -                              "description": "Path the file is materialised at, relative to the work dir",
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "sha256": {
      -                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      -                              "maxLength": 64,
      -                              "minLength": 64,
      -                              "pattern": "^[0-9a-f]{64}$",
      -                              "type": "string"
      -                            },
      -                            "sizeBytes": {
      -                              "description": "UTF-8 byte length of the file's contents",
      -                              "maximum": 131072,
      -                              "minimum": 0,
      -                              "type": "integer"
      -                            }
      -                          },
      -                          "required": [
      -                            "path",
      -                            "sha256",
      -                            "sizeBytes"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "maxItems": 200,
      -                        "type": "array"
      -                      }
      -                    },
      -                    "required": [
      -                      "bucket",
      -                      "files"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "kind": {
      -                    "const": "files",
      -                    "type": "string"
      -                  },
      -                  "startCommand": {
      -                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      -                    "maxLength": 2000,
      -                    "minLength": 1,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "startCommand"
      -                ],
      -                "type": "object"
      -              }
      -            ]
      -          },
      -          "timeoutMs": {
      -            "default": 600000,
      -            "description": "Wall-clock budget for one execution of the step",
      -            "exclusiveMinimum": 0,
      -            "maximum": 3600000,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "language",
      -          "source"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v1",
      -        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Agent configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      +          },
      +          "input": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "items": {
      +                  "properties": {
      +                    "content": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "items": {
      +                            "anyOf": [
      +                              {
      +                                "properties": {
      +                                  "text": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_text",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "text"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "detail": {
      +                                    "anyOf": [
      +                                      {
      +                                        "enum": [
      +                                          "low",
      +                                          "high",
      +                                          "auto"
      +                                        ],
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "file_id": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "type": {
      +                                    "const": "input_image",
      +                                    "type": "string"
      +                                  },
      +                                  "url": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "file_id": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_file",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "file_id"
      +                                ],
      +                                "type": "object"
      +                              }
      +                            ]
      +                          },
      +                          "type": "array"
      +                        }
      +                      ]
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "system",
      +                        "user",
      +                        "assistant"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": {
      +                      "anyOf": [
      +                        {
      +                          "const": "message",
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "content"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            ],
      +            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      +          },
      +          "models": {
      +            "description": "Model configuration for each capability the agent uses",
      +            "properties": {
      +              "agent": {
      +                "description": "Primary agent model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      +                    "enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-haiku-5-5",
      +                      "claude-haiku-5-5[1m]",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-sonnet-5-5",
      +                      "claude-sonnet-5-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "claude-opus-5-5",
      +                      "claude-opus-5-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]",
      +                      "glm-5.2",
      +                      "qwen3.6-27b",
      +                      "qwen3.8-max"
      +                    ],
      +                    "type": "string",
      +                    "x-extensible-enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-haiku-5-5",
      +                      "claude-haiku-5-5[1m]",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-sonnet-5-5",
      +                      "claude-sonnet-5-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "claude-opus-5-5",
      +                      "claude-opus-5-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]",
      +                      "glm-5.2",
      +                      "qwen3.6-27b",
      +                      "qwen3.8-max"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "model"
      +                ],
      +                "type": "object"
      +              },
      +              "browsing": {
      +                "description": "Browsing/computer-use model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier for the browsing provider",
      +                    "enum": [
      +                      "gemini-2.5-pro",
      +                      "gemini-2.5-flash",
      +                      "gemini-3-pro-preview",
      +                      "claude-haiku-4-5",
      +                      "claude-sonnet-4-5",
      +                      "claude-opus-4-1"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "provider": {
      +                    "description": "Provider backing the browsing/computer-use model",
      +                    "enum": [
      +                      "google",
      +                      "anthropic"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "provider",
      +                  "model"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "agent",
      +              "browsing"
      +            ],
      +            "type": "object"
      +          },
      +          "options": {
      +            "additionalProperties": {},
      +            "description": "Optional runtime options controlling how the agent executes",
      +            "properties": {
      +              "benchmarkExpectedOutcomes": {
      +                "description": "Expected outcomes used when running benchmark scenarios",
      +                "items": {
      +                  "properties": {
      +                    "criteria": {
      +                      "description": "Pass/fail criteria used to evaluate the outcome",
      +                      "type": "string"
      +                    },
      +                    "description": {
      +                      "description": "Human-readable description of the expected outcome",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "description",
      +                    "criteria"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "browserProvider": {
      +                "description": "Browser infrastructure provider",
      +                "enum": [
      +                  "browserbase",
      +                  "browser-use"
      +                ],
      +                "type": "string"
      +              },
      +              "evaluationSchemaId": {
      +                "description": "ID of the evaluation schema to apply to runs of this agent",
      +                "type": "string"
      +              },
      +              "supervisedMode": {
      +                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      +                "type": "boolean"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "plugins": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      +          },
      +          "skills": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "IDs of skills (team or system) that should be available to the agent"
      +          },
      +          "subAgents": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "format": "uuid",
      +                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      +          }
      +        },
      +        "required": [
      +          "models",
      +          "input"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v2",
      +        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Code step configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team file paths this step can read at run time"
      +          },
      +          "handoverRequired": {
      +            "default": false,
      +            "description": "When the step declares handover options, whether a run that exits cleanly without requesting one fails. Ignored when the step declares no options.",
      +            "type": "boolean"
      +          },
      +          "language": {
      +            "description": "Language the step's program is written in",
      +            "enum": [
      +              "python"
      +            ],
      +            "type": "string"
      +          },
      +          "maxConcurrency": {
      +            "description": "Most runs of this step that may be in flight at once on one queue, on top of the queue's own concurrency. Absent means only the queue's limit applies. Every claim enforces it; only cases handed to the step (handover, postpone, reprocess) are also kept out of the queue's free slots while the step is full. Cases a trigger or a revision route sends straight to a capped step can still take queue slots and wait there, delaying other steps on the same queue.",
      +            "exclusiveMinimum": 0,
      +            "maximum": 1000,
      +            "type": "integer"
      +          },
      +          "source": {
      +            "description": "Where the step's program comes from",
      +            "oneOf": [
      +              {
      +                "properties": {
      +                  "code": {
      +                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "const": "inline",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "code"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "properties": {
      +                  "bundle": {
      +                    "description": "The program's files, as a content-addressed manifest",
      +                    "properties": {
      +                      "bucket": {
      +                        "description": "GCS bucket the bundle's blobs are stored in",
      +                        "minLength": 1,
      +                        "type": "string"
      +                      },
      +                      "files": {
      +                        "description": "The program's files, one manifest entry each",
      +                        "items": {
      +                          "properties": {
      +                            "path": {
      +                              "description": "Path the file is materialised at, relative to the work dir",
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "sha256": {
      +                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      +                              "maxLength": 64,
      +                              "minLength": 64,
      +                              "pattern": "^[0-9a-f]{64}$",
      +                              "type": "string"
      +                            },
      +                            "sizeBytes": {
      +                              "description": "UTF-8 byte length of the file's contents",
      +                              "maximum": 131072,
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            }
      +                          },
      +                          "required": [
      +                            "path",
      +                            "sha256",
      +                            "sizeBytes"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "maxItems": 200,
      +                        "type": "array"
      +                      }
      +                    },
      +                    "required": [
      +                      "bucket",
      +                      "files"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "kind": {
      +                    "const": "files",
      +                    "type": "string"
      +                  },
      +                  "startCommand": {
      +                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      +                    "maxLength": 2000,
      +                    "minLength": 1,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "startCommand"
      +                ],
      +                "type": "object"
      +              }
      +            ]
      +          },
      +          "timeoutMs": {
      +            "default": 600000,
      +            "description": "Wall-clock budget for one execution of the step",
      +            "exclusiveMinimum": 0,
      +            "maximum": 3600000,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "language",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v1",
      +        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / config / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Agent configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      -          },
      -          "input": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "items": {
      -                  "properties": {
      -                    "content": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "items": {
      -                            "anyOf": [
      -                              {
      -                                "properties": {
      -                                  "text": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_text",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "text"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "detail": {
      -                                    "anyOf": [
      -                                      {
      -                                        "enum": [
      -                                          "low",
      -                                          "high",
      -                                          "auto"
      -                                        ],
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "file_id": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "type": {
      -                                    "const": "input_image",
      -                                    "type": "string"
      -                                  },
      -                                  "url": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "file_id": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_file",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "file_id"
      -                                ],
      -                                "type": "object"
      -                              }
      -                            ]
      -                          },
      -                          "type": "array"
      -                        }
      -                      ]
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "system",
      -                        "user",
      -                        "assistant"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "type": {
      -                      "anyOf": [
      -                        {
      -                          "const": "message",
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "content"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              }
      -            ],
      -            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      -          },
      -          "models": {
      -            "description": "Model configuration for each capability the agent uses",
      -            "properties": {
      -              "agent": {
      -                "description": "Primary agent model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      -                    "enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-sonnet-5-5",
      -                      "claude-sonnet-5-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "claude-opus-5-5",
      -                      "claude-opus-5-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.8-max",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]",
      -                      "glm-5.2",
      -                      "qwen3.6-27b"
      -                    ],
      -                    "type": "string",
      -                    "x-extensible-enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-sonnet-5-5",
      -                      "claude-sonnet-5-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "claude-opus-5-5",
      -                      "claude-opus-5-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.8-max",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]",
      -                      "glm-5.2",
      -                      "qwen3.6-27b"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "model"
      -                ],
      -                "type": "object"
      -              },
      -              "browsing": {
      -                "description": "Browsing/computer-use model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier for the browsing provider",
      -                    "enum": [
      -                      "gemini-2.5-pro",
      -                      "gemini-2.5-flash",
      -                      "gemini-3-pro-preview",
      -                      "claude-haiku-4-5",
      -                      "claude-sonnet-4-5",
      -                      "claude-opus-4-1"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "provider": {
      -                    "description": "Provider backing the browsing/computer-use model",
      -                    "enum": [
      -                      "google",
      -                      "anthropic"
      -                    ],
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "provider",
      -                  "model"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "agent",
      -              "browsing"
      -            ],
      -            "type": "object"
      -          },
      -          "options": {
      -            "additionalProperties": {},
      -            "description": "Optional runtime options controlling how the agent executes",
      -            "properties": {
      -              "benchmarkExpectedOutcomes": {
      -                "description": "Expected outcomes used when running benchmark scenarios",
      -                "items": {
      -                  "properties": {
      -                    "criteria": {
      -                      "description": "Pass/fail criteria used to evaluate the outcome",
      -                      "type": "string"
      -                    },
      -                    "description": {
      -                      "description": "Human-readable description of the expected outcome",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "description",
      -                    "criteria"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "browserProvider": {
      -                "description": "Browser infrastructure provider",
      -                "enum": [
      -                  "browserbase",
      -                  "browser-use"
      -                ],
      -                "type": "string"
      -              },
      -              "evaluationSchemaId": {
      -                "description": "ID of the evaluation schema to apply to runs of this agent",
      -                "type": "string"
      -              },
      -              "supervisedMode": {
      -                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      -                "type": "boolean"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "plugins": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      -          },
      -          "skills": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "IDs of skills (team or system) that should be available to the agent"
      -          },
      -          "subAgents": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "format": "uuid",
      -                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      -          }
      -        },
      -        "required": [
      -          "models",
      -          "input"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v2",
      -        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Code step configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team file paths this step can read at run time"
      -          },
      -          "handoverRequired": {
      -            "default": false,
      -            "description": "When the step declares handover options, whether a run that exits cleanly without requesting one fails. Ignored when the step declares no options.",
      -            "type": "boolean"
      -          },
      -          "language": {
      -            "description": "Language the step's program is written in",
      -            "enum": [
      -              "python"
      -            ],
      -            "type": "string"
      -          },
      -          "source": {
      -            "description": "Where the step's program comes from",
      -            "oneOf": [
      -              {
      -                "properties": {
      -                  "code": {
      -                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      -                    "minLength": 1,
      -                    "type": "string"
      -                  },
      -                  "kind": {
      -                    "const": "inline",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "code"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "properties": {
      -                  "bundle": {
      -                    "description": "The program's files, as a content-addressed manifest",
      -                    "properties": {
      -                      "bucket": {
      -                        "description": "GCS bucket the bundle's blobs are stored in",
      -                        "minLength": 1,
      -                        "type": "string"
      -                      },
      -                      "files": {
      -                        "description": "The program's files, one manifest entry each",
      -                        "items": {
      -                          "properties": {
      -                            "path": {
      -                              "description": "Path the file is materialised at, relative to the work dir",
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "sha256": {
      -                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      -                              "maxLength": 64,
      -                              "minLength": 64,
      -                              "pattern": "^[0-9a-f]{64}$",
      -                              "type": "string"
      -                            },
      -                            "sizeBytes": {
      -                              "description": "UTF-8 byte length of the file's contents",
      -                              "maximum": 131072,
      -                              "minimum": 0,
      -                              "type": "integer"
      -                            }
      -                          },
      -                          "required": [
      -                            "path",
      -                            "sha256",
      -                            "sizeBytes"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "maxItems": 200,
      -                        "type": "array"
      -                      }
      -                    },
      -                    "required": [
      -                      "bucket",
      -                      "files"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "kind": {
      -                    "const": "files",
      -                    "type": "string"
      -                  },
      -                  "startCommand": {
      -                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      -                    "maxLength": 2000,
      -                    "minLength": 1,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "startCommand"
      -                ],
      -                "type": "object"
      -              }
      -            ]
      -          },
      -          "timeoutMs": {
      -            "default": 600000,
      -            "description": "Wall-clock budget for one execution of the step",
      -            "exclusiveMinimum": 0,
      -            "maximum": 3600000,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "language",
      -          "source"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v1",
      -        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Agent configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      +          },
      +          "input": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "items": {
      +                  "properties": {
      +                    "content": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "items": {
      +                            "anyOf": [
      +                              {
      +                                "properties": {
      +                                  "text": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_text",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "text"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "detail": {
      +                                    "anyOf": [
      +                                      {
      +                                        "enum": [
      +                                          "low",
      +                                          "high",
      +                                          "auto"
      +                                        ],
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "file_id": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "type": {
      +                                    "const": "input_image",
      +                                    "type": "string"
      +                                  },
      +                                  "url": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "file_id": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_file",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "file_id"
      +                                ],
      +                                "type": "object"
      +                              }
      +                            ]
      +                          },
      +                          "type": "array"
      +                        }
      +                      ]
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "system",
      +                        "user",
      +                        "assistant"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": {
      +                      "anyOf": [
      +                        {
      +                          "const": "message",
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "content"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            ],
      +            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      +          },
      +          "models": {
      +            "description": "Model configuration for each capability the agent uses",
      +            "properties": {
      +              "agent": {
      +                "description": "Primary agent model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      +                    "enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-sonnet-5-5",
      +                      "claude-sonnet-5-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "claude-opus-5-5",
      +                      "claude-opus-5-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]",
      +                      "glm-5.2",
      +                      "qwen3.6-27b",
      +                      "qwen3.8-max"
      +                    ],
      +                    "type": "string",
      +                    "x-extensible-enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-sonnet-5-5",
      +                      "claude-sonnet-5-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "claude-opus-5-5",
      +                      "claude-opus-5-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]",
      +                      "glm-5.2",
      +                      "qwen3.6-27b",
      +                      "qwen3.8-max"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "model"
      +                ],
      +                "type": "object"
      +              },
      +              "browsing": {
      +                "description": "Browsing/computer-use model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier for the browsing provider",
      +                    "enum": [
      +                      "gemini-2.5-pro",
      +                      "gemini-2.5-flash",
      +                      "gemini-3-pro-preview",
      +                      "claude-haiku-4-5",
      +                      "claude-sonnet-4-5",
      +                      "claude-opus-4-1"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "provider": {
      +                    "description": "Provider backing the browsing/computer-use model",
      +                    "enum": [
      +                      "google",
      +                      "anthropic"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "provider",
      +                  "model"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "agent",
      +              "browsing"
      +            ],
      +            "type": "object"
      +          },
      +          "options": {
      +            "additionalProperties": {},
      +            "description": "Optional runtime options controlling how the agent executes",
      +            "properties": {
      +              "benchmarkExpectedOutcomes": {
      +                "description": "Expected outcomes used when running benchmark scenarios",
      +                "items": {
      +                  "properties": {
      +                    "criteria": {
      +                      "description": "Pass/fail criteria used to evaluate the outcome",
      +                      "type": "string"
      +                    },
      +                    "description": {
      +                      "description": "Human-readable description of the expected outcome",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "description",
      +                    "criteria"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "browserProvider": {
      +                "description": "Browser infrastructure provider",
      +                "enum": [
      +                  "browserbase",
      +                  "browser-use"
      +                ],
      +                "type": "string"
      +              },
      +              "evaluationSchemaId": {
      +                "description": "ID of the evaluation schema to apply to runs of this agent",
      +                "type": "string"
      +              },
      +              "supervisedMode": {
      +                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      +                "type": "boolean"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "plugins": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      +          },
      +          "skills": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "IDs of skills (team or system) that should be available to the agent"
      +          },
      +          "subAgents": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "format": "uuid",
      +                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      +          }
      +        },
      +        "required": [
      +          "models",
      +          "input"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v2",
      +        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Code step configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team file paths this step can read at run time"
      +          },
      +          "handoverRequired": {
      +            "default": false,
      +            "description": "When the step declares handover options, whether a run that exits cleanly without requesting one fails. Ignored when the step declares no options.",
      +            "type": "boolean"
      +          },
      +          "language": {
      +            "description": "Language the step's program is written in",
      +            "enum": [
      +              "python"
      +            ],
      +            "type": "string"
      +          },
      +          "source": {
      +            "description": "Where the step's program comes from",
      +            "oneOf": [
      +              {
      +                "properties": {
      +                  "code": {
      +                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "const": "inline",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "code"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "properties": {
      +                  "bundle": {
      +                    "description": "The program's files, as a content-addressed manifest",
      +                    "properties": {
      +                      "bucket": {
      +                        "description": "GCS bucket the bundle's blobs are stored in",
      +                        "minLength": 1,
      +                        "type": "string"
      +                      },
      +                      "files": {
      +                        "description": "The program's files, one manifest entry each",
      +                        "items": {
      +                          "properties": {
      +                            "path": {
      +                              "description": "Path the file is materialised at, relative to the work dir",
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "sha256": {
      +                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      +                              "maxLength": 64,
      +                              "minLength": 64,
      +                              "pattern": "^[0-9a-f]{64}$",
      +                              "type": "string"
      +                            },
      +                            "sizeBytes": {
      +                              "description": "UTF-8 byte length of the file's contents",
      +                              "maximum": 131072,
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            }
      +                          },
      +                          "required": [
      +                            "path",
      +                            "sha256",
      +                            "sizeBytes"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "maxItems": 200,
      +                        "type": "array"
      +                      }
      +                    },
      +                    "required": [
      +                      "bucket",
      +                      "files"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "kind": {
      +                    "const": "files",
      +                    "type": "string"
      +                  },
      +                  "startCommand": {
      +                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      +                    "maxLength": 2000,
      +                    "minLength": 1,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "startCommand"
      +                ],
      +                "type": "object"
      +              }
      +            ]
      +          },
      +          "timeoutMs": {
      +            "default": 600000,
      +            "description": "Wall-clock budget for one execution of the step",
      +            "exclusiveMinimum": 0,
      +            "maximum": 3600000,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "language",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v1",
      +        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / config / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Agent configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      -          },
      -          "input": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "items": {
      -                  "properties": {
      -                    "content": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "items": {
      -                            "anyOf": [
      -                              {
      -                                "properties": {
      -                                  "text": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_text",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "text"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "detail": {
      -                                    "anyOf": [
      -                                      {
      -                                        "enum": [
      -                                          "low",
      -                                          "high",
      -                                          "auto"
      -                                        ],
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "file_id": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "type": {
      -                                    "const": "input_image",
      -                                    "type": "string"
      -                                  },
      -                                  "url": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "file_id": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_file",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "file_id"
      -                                ],
      -                                "type": "object"
      -                              }
      -                            ]
      -                          },
      -                          "type": "array"
      -                        }
      -                      ]
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "system",
      -                        "user",
      -                        "assistant"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "type": {
      -                      "anyOf": [
      -                        {
      -                          "const": "message",
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "content"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              }
      -            ],
      -            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      -          },
      -          "models": {
      -            "description": "Model configuration for each capability the agent uses",
      -            "properties": {
      -              "agent": {
      -                "description": "Primary agent model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      -                    "enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-sonnet-5-5",
      -                      "claude-sonnet-5-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "claude-opus-5-5",
      -                      "claude-opus-5-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]",
      -                      "glm-5.2"
      -                    ],
      -                    "type": "string",
      -                    "x-extensible-enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-sonnet-5-5",
      -                      "claude-sonnet-5-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "claude-opus-5-5",
      -                      "claude-opus-5-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]",
      -                      "glm-5.2"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "model"
      -                ],
      -                "type": "object"
      -              },
      -              "browsing": {
      -                "description": "Browsing/computer-use model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier for the browsing provider",
      -                    "enum": [
      -                      "gemini-2.5-pro",
      -                      "gemini-2.5-flash",
      -                      "gemini-3-pro-preview",
      -                      "claude-haiku-4-5",
      -                      "claude-sonnet-4-5",
      -                      "claude-opus-4-1"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "provider": {
      -                    "description": "Provider backing the browsing/computer-use model",
      -                    "enum": [
      -                      "google",
      -                      "anthropic"
      -                    ],
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "provider",
      -                  "model"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "agent",
      -              "browsing"
      -            ],
      -            "type": "object"
      -          },
      -          "options": {
      -            "additionalProperties": {},
      -            "description": "Optional runtime options controlling how the agent executes",
      -            "properties": {
      -              "benchmarkExpectedOutcomes": {
      -                "description": "Expected outcomes used when running benchmark scenarios",
      -                "items": {
      -                  "properties": {
      -                    "criteria": {
      -                      "description": "Pass/fail criteria used to evaluate the outcome",
      -                      "type": "string"
      -                    },
      -                    "description": {
      -                      "description": "Human-readable description of the expected outcome",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "description",
      -                    "criteria"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "browserProvider": {
      -                "description": "Browser infrastructure provider",
      -                "enum": [
      -                  "browserbase",
      -                  "browser-use"
      -                ],
      -                "type": "string"
      -              },
      -              "evaluationSchemaId": {
      -                "description": "ID of the evaluation schema to apply to runs of this agent",
      -                "type": "string"
      -              },
      -              "supervisedMode": {
      -                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      -                "type": "boolean"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "plugins": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      -          },
      -          "skills": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "IDs of skills (team or system) that should be available to the agent"
      -          },
      -          "subAgents": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "format": "uuid",
      -                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      -          }
      -        },
      -        "required": [
      -          "models",
      -          "input"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v2",
      -        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Code step configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team file paths this step can read at run time"
      -          },
      -          "handoverRequired": {
      -            "default": false,
      -            "description": "When the step declares handover options, whether a run that exits cleanly without requesting one fails. Ignored when the step declares no options.",
      -            "type": "boolean"
      -          },
      -          "language": {
      -            "description": "Language the step's program is written in",
      -            "enum": [
      -              "python"
      -            ],
      -            "type": "string"
      -          },
      -          "source": {
      -            "description": "Where the step's program comes from",
      -            "oneOf": [
      -              {
      -                "properties": {
      -                  "code": {
      -                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      -                    "minLength": 1,
      -                    "type": "string"
      -                  },
      -                  "kind": {
      -                    "const": "inline",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "code"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "properties": {
      -                  "bundle": {
      -                    "description": "The program's files, as a content-addressed manifest",
      -                    "properties": {
      -                      "bucket": {
      -                        "description": "GCS bucket the bundle's blobs are stored in",
      -                        "minLength": 1,
      -                        "type": "string"
      -                      },
      -                      "files": {
      -                        "description": "The program's files, one manifest entry each",
      -                        "items": {
      -                          "properties": {
      -                            "path": {
      -                              "description": "Path the file is materialised at, relative to the work dir",
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "sha256": {
      -                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      -                              "maxLength": 64,
      -                              "minLength": 64,
      -                              "pattern": "^[0-9a-f]{64}$",
      -                              "type": "string"
      -                            },
      -                            "sizeBytes": {
      -                              "description": "UTF-8 byte length of the file's contents",
      -                              "maximum": 131072,
      -                              "minimum": 0,
      -                              "type": "integer"
      -                            }
      -                          },
      -                          "required": [
      -                            "path",
      -                            "sha256",
      -                            "sizeBytes"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "maxItems": 200,
      -                        "type": "array"
      -                      }
      -                    },
      -                    "required": [
      -                      "bucket",
      -                      "files"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "kind": {
      -                    "const": "files",
      -                    "type": "string"
      -                  },
      -                  "startCommand": {
      -                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      -                    "maxLength": 2000,
      -                    "minLength": 1,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "startCommand"
      -                ],
      -                "type": "object"
      -              }
      -            ]
      -          },
      -          "timeoutMs": {
      -            "default": 600000,
      -            "description": "Wall-clock budget for one execution of the step",
      -            "exclusiveMinimum": 0,
      -            "maximum": 3600000,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "language",
      -          "source"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v1",
      -        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Agent configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      +          },
      +          "input": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "items": {
      +                  "properties": {
      +                    "content": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "items": {
      +                            "anyOf": [
      +                              {
      +                                "properties": {
      +                                  "text": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_text",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "text"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "detail": {
      +                                    "anyOf": [
      +                                      {
      +                                        "enum": [
      +                                          "low",
      +                                          "high",
      +                                          "auto"
      +                                        ],
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "file_id": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "type": {
      +                                    "const": "input_image",
      +                                    "type": "string"
      +                                  },
      +                                  "url": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "file_id": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_file",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "file_id"
      +                                ],
      +                                "type": "object"
      +                              }
      +                            ]
      +                          },
      +                          "type": "array"
      +                        }
      +                      ]
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "system",
      +                        "user",
      +                        "assistant"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": {
      +                      "anyOf": [
      +                        {
      +                          "const": "message",
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "content"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            ],
      +            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      +          },
      +          "models": {
      +            "description": "Model configuration for each capability the agent uses",
      +            "properties": {
      +              "agent": {
      +                "description": "Primary agent model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      +                    "enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-sonnet-5-5",
      +                      "claude-sonnet-5-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "claude-opus-5-5",
      +                      "claude-opus-5-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.8-max",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]",
      +                      "glm-5.2",
      +                      "qwen3.6-27b"
      +                    ],
      +                    "type": "string",
      +                    "x-extensible-enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-sonnet-5-5",
      +                      "claude-sonnet-5-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "claude-opus-5-5",
      +                      "claude-opus-5-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.8-max",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]",
      +                      "glm-5.2",
      +                      "qwen3.6-27b"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "model"
      +                ],
      +                "type": "object"
      +              },
      +              "browsing": {
      +                "description": "Browsing/computer-use model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier for the browsing provider",
      +                    "enum": [
      +                      "gemini-2.5-pro",
      +                      "gemini-2.5-flash",
      +                      "gemini-3-pro-preview",
      +                      "claude-haiku-4-5",
      +                      "claude-sonnet-4-5",
      +                      "claude-opus-4-1"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "provider": {
      +                    "description": "Provider backing the browsing/computer-use model",
      +                    "enum": [
      +                      "google",
      +                      "anthropic"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "provider",
      +                  "model"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "agent",
      +              "browsing"
      +            ],
      +            "type": "object"
      +          },
      +          "options": {
      +            "additionalProperties": {},
      +            "description": "Optional runtime options controlling how the agent executes",
      +            "properties": {
      +              "benchmarkExpectedOutcomes": {
      +                "description": "Expected outcomes used when running benchmark scenarios",
      +                "items": {
      +                  "properties": {
      +                    "criteria": {
      +                      "description": "Pass/fail criteria used to evaluate the outcome",
      +                      "type": "string"
      +                    },
      +                    "description": {
      +                      "description": "Human-readable description of the expected outcome",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "description",
      +                    "criteria"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "browserProvider": {
      +                "description": "Browser infrastructure provider",
      +                "enum": [
      +                  "browserbase",
      +                  "browser-use"
      +                ],
      +                "type": "string"
      +              },
      +              "evaluationSchemaId": {
      +                "description": "ID of the evaluation schema to apply to runs of this agent",
      +                "type": "string"
      +              },
      +              "supervisedMode": {
      +                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      +                "type": "boolean"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "plugins": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      +          },
      +          "skills": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "IDs of skills (team or system) that should be available to the agent"
      +          },
      +          "subAgents": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "format": "uuid",
      +                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      +          }
      +        },
      +        "required": [
      +          "models",
      +          "input"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v2",
      +        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Code step configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team file paths this step can read at run time"
      +          },
      +          "handoverRequired": {
      +            "default": false,
      +            "description": "When the step declares handover options, whether a run that exits cleanly without requesting one fails. Ignored when the step declares no options.",
      +            "type": "boolean"
      +          },
      +          "language": {
      +            "description": "Language the step's program is written in",
      +            "enum": [
      +              "python"
      +            ],
      +            "type": "string"
      +          },
      +          "source": {
      +            "description": "Where the step's program comes from",
      +            "oneOf": [
      +              {
      +                "properties": {
      +                  "code": {
      +                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "const": "inline",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "code"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "properties": {
      +                  "bundle": {
      +                    "description": "The program's files, as a content-addressed manifest",
      +                    "properties": {
      +                      "bucket": {
      +                        "description": "GCS bucket the bundle's blobs are stored in",
      +                        "minLength": 1,
      +                        "type": "string"
      +                      },
      +                      "files": {
      +                        "description": "The program's files, one manifest entry each",
      +                        "items": {
      +                          "properties": {
      +                            "path": {
      +                              "description": "Path the file is materialised at, relative to the work dir",
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "sha256": {
      +                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      +                              "maxLength": 64,
      +                              "minLength": 64,
      +                              "pattern": "^[0-9a-f]{64}$",
      +                              "type": "string"
      +                            },
      +                            "sizeBytes": {
      +                              "description": "UTF-8 byte length of the file's contents",
      +                              "maximum": 131072,
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            }
      +                          },
      +                          "required": [
      +                            "path",
      +                            "sha256",
      +                            "sizeBytes"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "maxItems": 200,
      +                        "type": "array"
      +                      }
      +                    },
      +                    "required": [
      +                      "bucket",
      +                      "files"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "kind": {
      +                    "const": "files",
      +                    "type": "string"
      +                  },
      +                  "startCommand": {
      +                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      +                    "maxLength": 2000,
      +                    "minLength": 1,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "startCommand"
      +                ],
      +                "type": "object"
      +              }
      +            ]
      +          },
      +          "timeoutMs": {
      +            "default": 600000,
      +            "description": "Wall-clock budget for one execution of the step",
      +            "exclusiveMinimum": 0,
      +            "maximum": 3600000,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "language",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v1",
      +        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. Changed1 schema field changed
    • changedInput schema / properties / config / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Agent configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      -          },
      -          "input": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "items": {
      -                  "properties": {
      -                    "content": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "items": {
      -                            "anyOf": [
      -                              {
      -                                "properties": {
      -                                  "text": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_text",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "text"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "detail": {
      -                                    "anyOf": [
      -                                      {
      -                                        "enum": [
      -                                          "low",
      -                                          "high",
      -                                          "auto"
      -                                        ],
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "file_id": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "type": {
      -                                    "const": "input_image",
      -                                    "type": "string"
      -                                  },
      -                                  "url": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "file_id": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_file",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "file_id"
      -                                ],
      -                                "type": "object"
      -                              }
      -                            ]
      -                          },
      -                          "type": "array"
      -                        }
      -                      ]
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "system",
      -                        "user",
      -                        "assistant"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "type": {
      -                      "anyOf": [
      -                        {
      -                          "const": "message",
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "content"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              }
      -            ],
      -            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      -          },
      -          "models": {
      -            "description": "Model configuration for each capability the agent uses",
      -            "properties": {
      -              "agent": {
      -                "description": "Primary agent model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      -                    "enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-sonnet-5-5",
      -                      "claude-sonnet-5-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]",
      -                      "glm-5.2"
      -                    ],
      -                    "type": "string",
      -                    "x-extensible-enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-sonnet-5-5",
      -                      "claude-sonnet-5-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]",
      -                      "glm-5.2"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "model"
      -                ],
      -                "type": "object"
      -              },
      -              "browsing": {
      -                "description": "Browsing/computer-use model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier for the browsing provider",
      -                    "enum": [
      -                      "gemini-2.5-pro",
      -                      "gemini-2.5-flash",
      -                      "gemini-3-pro-preview",
      -                      "claude-haiku-4-5",
      -                      "claude-sonnet-4-5",
      -                      "claude-opus-4-1"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "provider": {
      -                    "description": "Provider backing the browsing/computer-use model",
      -                    "enum": [
      -                      "google",
      -                      "anthropic"
      -                    ],
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "provider",
      -                  "model"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "agent",
      -              "browsing"
      -            ],
      -            "type": "object"
      -          },
      -          "options": {
      -            "additionalProperties": {},
      -            "description": "Optional runtime options controlling how the agent executes",
      -            "properties": {
      -              "benchmarkExpectedOutcomes": {
      -                "description": "Expected outcomes used when running benchmark scenarios",
      -                "items": {
      -                  "properties": {
      -                    "criteria": {
      -                      "description": "Pass/fail criteria used to evaluate the outcome",
      -                      "type": "string"
      -                    },
      -                    "description": {
      -                      "description": "Human-readable description of the expected outcome",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "description",
      -                    "criteria"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "browserProvider": {
      -                "description": "Browser infrastructure provider",
      -                "enum": [
      -                  "browserbase",
      -                  "browser-use"
      -                ],
      -                "type": "string"
      -              },
      -              "evaluationSchemaId": {
      -                "description": "ID of the evaluation schema to apply to runs of this agent",
      -                "type": "string"
      -              },
      -              "supervisedMode": {
      -                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      -                "type": "boolean"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "plugins": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      -          },
      -          "skills": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "IDs of skills (team or system) that should be available to the agent"
      -          },
      -          "subAgents": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "format": "uuid",
      -                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      -          }
      -        },
      -        "required": [
      -          "models",
      -          "input"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v2",
      -        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Code step configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team file paths this step can read at run time"
      -          },
      -          "handoverRequired": {
      -            "default": false,
      -            "description": "When the step declares handover options, whether a run that exits cleanly without requesting one fails. Ignored when the step declares no options.",
      -            "type": "boolean"
      -          },
      -          "language": {
      -            "description": "Language the step's program is written in",
      -            "enum": [
      -              "python"
      -            ],
      -            "type": "string"
      -          },
      -          "source": {
      -            "description": "Where the step's program comes from",
      -            "oneOf": [
      -              {
      -                "properties": {
      -                  "code": {
      -                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      -                    "minLength": 1,
      -                    "type": "string"
      -                  },
      -                  "kind": {
      -                    "const": "inline",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "code"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "properties": {
      -                  "bundle": {
      -                    "description": "The program's files, as a content-addressed manifest",
      -                    "properties": {
      -                      "bucket": {
      -                        "description": "GCS bucket the bundle's blobs are stored in",
      -                        "minLength": 1,
      -                        "type": "string"
      -                      },
      -                      "files": {
      -                        "description": "The program's files, one manifest entry each",
      -                        "items": {
      -                          "properties": {
      -                            "path": {
      -                              "description": "Path the file is materialised at, relative to the work dir",
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "sha256": {
      -                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      -                              "maxLength": 64,
      -                              "minLength": 64,
      -                              "pattern": "^[0-9a-f]{64}$",
      -                              "type": "string"
      -                            },
      -                            "sizeBytes": {
      -                              "description": "UTF-8 byte length of the file's contents",
      -                              "maximum": 131072,
      -                              "minimum": 0,
      -                              "type": "integer"
      -                            }
      -                          },
      -                          "required": [
      -                            "path",
      -                            "sha256",
      -                            "sizeBytes"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "maxItems": 200,
      -                        "type": "array"
      -                      }
      -                    },
      -                    "required": [
      -                      "bucket",
      -                      "files"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "kind": {
      -                    "const": "files",
      -                    "type": "string"
      -                  },
      -                  "startCommand": {
      -                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      -                    "maxLength": 2000,
      -                    "minLength": 1,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "startCommand"
      -                ],
      -                "type": "object"
      -              }
      -            ]
      -          },
      -          "timeoutMs": {
      -            "default": 600000,
      -            "description": "Wall-clock budget for one execution of the step",
      -            "exclusiveMinimum": 0,
      -            "maximum": 3600000,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "language",
      -          "source"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v1",
      -        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Agent configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      +          },
      +          "input": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "items": {
      +                  "properties": {
      +                    "content": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "items": {
      +                            "anyOf": [
      +                              {
      +                                "properties": {
      +                                  "text": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_text",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "text"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "detail": {
      +                                    "anyOf": [
      +                                      {
      +                                        "enum": [
      +                                          "low",
      +                                          "high",
      +                                          "auto"
      +                                        ],
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "file_id": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "type": {
      +                                    "const": "input_image",
      +                                    "type": "string"
      +                                  },
      +                                  "url": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "file_id": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_file",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "file_id"
      +                                ],
      +                                "type": "object"
      +                              }
      +                            ]
      +                          },
      +                          "type": "array"
      +                        }
      +                      ]
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "system",
      +                        "user",
      +                        "assistant"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": {
      +                      "anyOf": [
      +                        {
      +                          "const": "message",
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "content"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            ],
      +            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      +          },
      +          "models": {
      +            "description": "Model configuration for each capability the agent uses",
      +            "properties": {
      +              "agent": {
      +                "description": "Primary agent model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      +                    "enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-sonnet-5-5",
      +                      "claude-sonnet-5-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "claude-opus-5-5",
      +                      "claude-opus-5-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]",
      +                      "glm-5.2"
      +                    ],
      +                    "type": "string",
      +                    "x-extensible-enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-sonnet-5-5",
      +                      "claude-sonnet-5-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "claude-opus-5-5",
      +                      "claude-opus-5-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]",
      +                      "glm-5.2"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "model"
      +                ],
      +                "type": "object"
      +              },
      +              "browsing": {
      +                "description": "Browsing/computer-use model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier for the browsing provider",
      +                    "enum": [
      +                      "gemini-2.5-pro",
      +                      "gemini-2.5-flash",
      +                      "gemini-3-pro-preview",
      +                      "claude-haiku-4-5",
      +                      "claude-sonnet-4-5",
      +                      "claude-opus-4-1"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "provider": {
      +                    "description": "Provider backing the browsing/computer-use model",
      +                    "enum": [
      +                      "google",
      +                      "anthropic"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "provider",
      +                  "model"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "agent",
      +              "browsing"
      +            ],
      +            "type": "object"
      +          },
      +          "options": {
      +            "additionalProperties": {},
      +            "description": "Optional runtime options controlling how the agent executes",
      +            "properties": {
      +              "benchmarkExpectedOutcomes": {
      +                "description": "Expected outcomes used when running benchmark scenarios",
      +                "items": {
      +                  "properties": {
      +                    "criteria": {
      +                      "description": "Pass/fail criteria used to evaluate the outcome",
      +                      "type": "string"
      +                    },
      +                    "description": {
      +                      "description": "Human-readable description of the expected outcome",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "description",
      +                    "criteria"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "browserProvider": {
      +                "description": "Browser infrastructure provider",
      +                "enum": [
      +                  "browserbase",
      +                  "browser-use"
      +                ],
      +                "type": "string"
      +              },
      +              "evaluationSchemaId": {
      +                "description": "ID of the evaluation schema to apply to runs of this agent",
      +                "type": "string"
      +              },
      +              "supervisedMode": {
      +                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      +                "type": "boolean"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "plugins": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      +          },
      +          "skills": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "IDs of skills (team or system) that should be available to the agent"
      +          },
      +          "subAgents": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "format": "uuid",
      +                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      +          }
      +        },
      +        "required": [
      +          "models",
      +          "input"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v2",
      +        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Code step configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team file paths this step can read at run time"
      +          },
      +          "handoverRequired": {
      +            "default": false,
      +            "description": "When the step declares handover options, whether a run that exits cleanly without requesting one fails. Ignored when the step declares no options.",
      +            "type": "boolean"
      +          },
      +          "language": {
      +            "description": "Language the step's program is written in",
      +            "enum": [
      +              "python"
      +            ],
      +            "type": "string"
      +          },
      +          "source": {
      +            "description": "Where the step's program comes from",
      +            "oneOf": [
      +              {
      +                "properties": {
      +                  "code": {
      +                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "const": "inline",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "code"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "properties": {
      +                  "bundle": {
      +                    "description": "The program's files, as a content-addressed manifest",
      +                    "properties": {
      +                      "bucket": {
      +                        "description": "GCS bucket the bundle's blobs are stored in",
      +                        "minLength": 1,
      +                        "type": "string"
      +                      },
      +                      "files": {
      +                        "description": "The program's files, one manifest entry each",
      +                        "items": {
      +                          "properties": {
      +                            "path": {
      +                              "description": "Path the file is materialised at, relative to the work dir",
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "sha256": {
      +                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      +                              "maxLength": 64,
      +                              "minLength": 64,
      +                              "pattern": "^[0-9a-f]{64}$",
      +                              "type": "string"
      +                            },
      +                            "sizeBytes": {
      +                              "description": "UTF-8 byte length of the file's contents",
      +                              "maximum": 131072,
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            }
      +                          },
      +                          "required": [
      +                            "path",
      +                            "sha256",
      +                            "sizeBytes"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "maxItems": 200,
      +                        "type": "array"
      +                      }
      +                    },
      +                    "required": [
      +                      "bucket",
      +                      "files"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "kind": {
      +                    "const": "files",
      +                    "type": "string"
      +                  },
      +                  "startCommand": {
      +                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      +                    "maxLength": 2000,
      +                    "minLength": 1,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "startCommand"
      +                ],
      +                "type": "object"
      +              }
      +            ]
      +          },
      +          "timeoutMs": {
      +            "default": 600000,
      +            "description": "Wall-clock budget for one execution of the step",
      +            "exclusiveMinimum": 0,
      +            "maximum": 3600000,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "language",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v1",
      +        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +]
  5. Changed1 schema field changed
    • changedInput schema / properties / config / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Agent configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      -          },
      -          "input": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "items": {
      -                  "properties": {
      -                    "content": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "items": {
      -                            "anyOf": [
      -                              {
      -                                "properties": {
      -                                  "text": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_text",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "text"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "detail": {
      -                                    "anyOf": [
      -                                      {
      -                                        "enum": [
      -                                          "low",
      -                                          "high",
      -                                          "auto"
      -                                        ],
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "file_id": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "type": {
      -                                    "const": "input_image",
      -                                    "type": "string"
      -                                  },
      -                                  "url": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "file_id": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_file",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "file_id"
      -                                ],
      -                                "type": "object"
      -                              }
      -                            ]
      -                          },
      -                          "type": "array"
      -                        }
      -                      ]
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "system",
      -                        "user",
      -                        "assistant"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "type": {
      -                      "anyOf": [
      -                        {
      -                          "const": "message",
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "content"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              }
      -            ],
      -            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      -          },
      -          "models": {
      -            "description": "Model configuration for each capability the agent uses",
      -            "properties": {
      -              "agent": {
      -                "description": "Primary agent model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      -                    "enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.2",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]"
      -                    ],
      -                    "type": "string",
      -                    "x-extensible-enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.2",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "model"
      -                ],
      -                "type": "object"
      -              },
      -              "browsing": {
      -                "description": "Browsing/computer-use model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier for the browsing provider",
      -                    "enum": [
      -                      "gemini-2.5-pro",
      -                      "gemini-2.5-flash",
      -                      "gemini-3-pro-preview",
      -                      "claude-haiku-4-5",
      -                      "claude-sonnet-4-5",
      -                      "claude-opus-4-1"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "provider": {
      -                    "description": "Provider backing the browsing/computer-use model",
      -                    "enum": [
      -                      "google",
      -                      "anthropic"
      -                    ],
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "provider",
      -                  "model"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "agent",
      -              "browsing"
      -            ],
      -            "type": "object"
      -          },
      -          "options": {
      -            "additionalProperties": {},
      -            "description": "Optional runtime options controlling how the agent executes",
      -            "properties": {
      -              "benchmarkExpectedOutcomes": {
      -                "description": "Expected outcomes used when running benchmark scenarios",
      -                "items": {
      -                  "properties": {
      -                    "criteria": {
      -                      "description": "Pass/fail criteria used to evaluate the outcome",
      -                      "type": "string"
      -                    },
      -                    "description": {
      -                      "description": "Human-readable description of the expected outcome",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "description",
      -                    "criteria"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "browserProvider": {
      -                "description": "Browser infrastructure provider",
      -                "enum": [
      -                  "browserbase",
      -                  "browser-use"
      -                ],
      -                "type": "string"
      -              },
      -              "evaluationSchemaId": {
      -                "description": "ID of the evaluation schema to apply to runs of this agent",
      -                "type": "string"
      -              },
      -              "supervisedMode": {
      -                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      -                "type": "boolean"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "plugins": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      -          },
      -          "skills": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "IDs of skills (team or system) that should be available to the agent"
      -          },
      -          "subAgents": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "format": "uuid",
      -                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      -          }
      -        },
      -        "required": [
      -          "models",
      -          "input"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v2",
      -        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Code step configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team file paths this step can read at run time"
      -          },
      -          "handoverRequired": {
      -            "default": false,
      -            "description": "When the step declares handover options, whether a run that exits cleanly without requesting one fails. Ignored when the step declares no options.",
      -            "type": "boolean"
      -          },
      -          "language": {
      -            "description": "Language the step's program is written in",
      -            "enum": [
      -              "python"
      -            ],
      -            "type": "string"
      -          },
      -          "source": {
      -            "description": "Where the step's program comes from",
      -            "oneOf": [
      -              {
      -                "properties": {
      -                  "code": {
      -                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      -                    "minLength": 1,
      -                    "type": "string"
      -                  },
      -                  "kind": {
      -                    "const": "inline",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "code"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "properties": {
      -                  "bundle": {
      -                    "description": "The program's files, as a content-addressed manifest",
      -                    "properties": {
      -                      "bucket": {
      -                        "description": "GCS bucket the bundle's blobs are stored in",
      -                        "minLength": 1,
      -                        "type": "string"
      -                      },
      -                      "files": {
      -                        "description": "The program's files, one manifest entry each",
      -                        "items": {
      -                          "properties": {
      -                            "path": {
      -                              "description": "Path the file is materialised at, relative to the work dir",
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "sha256": {
      -                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      -                              "maxLength": 64,
      -                              "minLength": 64,
      -                              "pattern": "^[0-9a-f]{64}$",
      -                              "type": "string"
      -                            },
      -                            "sizeBytes": {
      -                              "description": "UTF-8 byte length of the file's contents",
      -                              "maximum": 131072,
      -                              "minimum": 0,
      -                              "type": "integer"
      -                            }
      -                          },
      -                          "required": [
      -                            "path",
      -                            "sha256",
      -                            "sizeBytes"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "maxItems": 200,
      -                        "type": "array"
      -                      }
      -                    },
      -                    "required": [
      -                      "bucket",
      -                      "files"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "kind": {
      -                    "const": "files",
      -                    "type": "string"
      -                  },
      -                  "startCommand": {
      -                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      -                    "maxLength": 2000,
      -                    "minLength": 1,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "startCommand"
      -                ],
      -                "type": "object"
      -              }
      -            ]
      -          },
      -          "timeoutMs": {
      -            "default": 600000,
      -            "description": "Wall-clock budget for one execution of the step",
      -            "exclusiveMinimum": 0,
      -            "maximum": 3600000,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "language",
      -          "source"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v1",
      -        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Agent configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      +          },
      +          "input": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "items": {
      +                  "properties": {
      +                    "content": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "items": {
      +                            "anyOf": [
      +                              {
      +                                "properties": {
      +                                  "text": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_text",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "text"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "detail": {
      +                                    "anyOf": [
      +                                      {
      +                                        "enum": [
      +                                          "low",
      +                                          "high",
      +                                          "auto"
      +                                        ],
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "file_id": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "type": {
      +                                    "const": "input_image",
      +                                    "type": "string"
      +                                  },
      +                                  "url": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "file_id": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_file",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "file_id"
      +                                ],
      +                                "type": "object"
      +                              }
      +                            ]
      +                          },
      +                          "type": "array"
      +                        }
      +                      ]
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "system",
      +                        "user",
      +                        "assistant"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": {
      +                      "anyOf": [
      +                        {
      +                          "const": "message",
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "content"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            ],
      +            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      +          },
      +          "models": {
      +            "description": "Model configuration for each capability the agent uses",
      +            "properties": {
      +              "agent": {
      +                "description": "Primary agent model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      +                    "enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-sonnet-5-5",
      +                      "claude-sonnet-5-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]",
      +                      "glm-5.2"
      +                    ],
      +                    "type": "string",
      +                    "x-extensible-enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-sonnet-5-5",
      +                      "claude-sonnet-5-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]",
      +                      "glm-5.2"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "model"
      +                ],
      +                "type": "object"
      +              },
      +              "browsing": {
      +                "description": "Browsing/computer-use model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier for the browsing provider",
      +                    "enum": [
      +                      "gemini-2.5-pro",
      +                      "gemini-2.5-flash",
      +                      "gemini-3-pro-preview",
      +                      "claude-haiku-4-5",
      +                      "claude-sonnet-4-5",
      +                      "claude-opus-4-1"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "provider": {
      +                    "description": "Provider backing the browsing/computer-use model",
      +                    "enum": [
      +                      "google",
      +                      "anthropic"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "provider",
      +                  "model"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "agent",
      +              "browsing"
      +            ],
      +            "type": "object"
      +          },
      +          "options": {
      +            "additionalProperties": {},
      +            "description": "Optional runtime options controlling how the agent executes",
      +            "properties": {
      +              "benchmarkExpectedOutcomes": {
      +                "description": "Expected outcomes used when running benchmark scenarios",
      +                "items": {
      +                  "properties": {
      +                    "criteria": {
      +                      "description": "Pass/fail criteria used to evaluate the outcome",
      +                      "type": "string"
      +                    },
      +                    "description": {
      +                      "description": "Human-readable description of the expected outcome",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "description",
      +                    "criteria"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "browserProvider": {
      +                "description": "Browser infrastructure provider",
      +                "enum": [
      +                  "browserbase",
      +                  "browser-use"
      +                ],
      +                "type": "string"
      +              },
      +              "evaluationSchemaId": {
      +                "description": "ID of the evaluation schema to apply to runs of this agent",
      +                "type": "string"
      +              },
      +              "supervisedMode": {
      +                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      +                "type": "boolean"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "plugins": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      +          },
      +          "skills": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "IDs of skills (team or system) that should be available to the agent"
      +          },
      +          "subAgents": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "format": "uuid",
      +                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      +          }
      +        },
      +        "required": [
      +          "models",
      +          "input"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v2",
      +        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Code step configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team file paths this step can read at run time"
      +          },
      +          "handoverRequired": {
      +            "default": false,
      +            "description": "When the step declares handover options, whether a run that exits cleanly without requesting one fails. Ignored when the step declares no options.",
      +            "type": "boolean"
      +          },
      +          "language": {
      +            "description": "Language the step's program is written in",
      +            "enum": [
      +              "python"
      +            ],
      +            "type": "string"
      +          },
      +          "source": {
      +            "description": "Where the step's program comes from",
      +            "oneOf": [
      +              {
      +                "properties": {
      +                  "code": {
      +                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "const": "inline",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "code"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "properties": {
      +                  "bundle": {
      +                    "description": "The program's files, as a content-addressed manifest",
      +                    "properties": {
      +                      "bucket": {
      +                        "description": "GCS bucket the bundle's blobs are stored in",
      +                        "minLength": 1,
      +                        "type": "string"
      +                      },
      +                      "files": {
      +                        "description": "The program's files, one manifest entry each",
      +                        "items": {
      +                          "properties": {
      +                            "path": {
      +                              "description": "Path the file is materialised at, relative to the work dir",
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "sha256": {
      +                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      +                              "maxLength": 64,
      +                              "minLength": 64,
      +                              "pattern": "^[0-9a-f]{64}$",
      +                              "type": "string"
      +                            },
      +                            "sizeBytes": {
      +                              "description": "UTF-8 byte length of the file's contents",
      +                              "maximum": 131072,
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            }
      +                          },
      +                          "required": [
      +                            "path",
      +                            "sha256",
      +                            "sizeBytes"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "maxItems": 200,
      +                        "type": "array"
      +                      }
      +                    },
      +                    "required": [
      +                      "bucket",
      +                      "files"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "kind": {
      +                    "const": "files",
      +                    "type": "string"
      +                  },
      +                  "startCommand": {
      +                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      +                    "maxLength": 2000,
      +                    "minLength": 1,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "startCommand"
      +                ],
      +                "type": "object"
      +              }
      +            ]
      +          },
      +          "timeoutMs": {
      +            "default": 600000,
      +            "description": "Wall-clock budget for one execution of the step",
      +            "exclusiveMinimum": 0,
      +            "maximum": 3600000,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "language",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v1",
      +        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +]
  6. Changed2 schema fields changed
    • changedInput schema / properties / config / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Agent configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      -          },
      -          "input": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "items": {
      -                  "properties": {
      -                    "content": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "items": {
      -                            "anyOf": [
      -                              {
      -                                "properties": {
      -                                  "text": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_text",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "text"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "detail": {
      -                                    "anyOf": [
      -                                      {
      -                                        "enum": [
      -                                          "low",
      -                                          "high",
      -                                          "auto"
      -                                        ],
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "file_id": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "type": {
      -                                    "const": "input_image",
      -                                    "type": "string"
      -                                  },
      -                                  "url": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "file_id": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_file",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "file_id"
      -                                ],
      -                                "type": "object"
      -                              }
      -                            ]
      -                          },
      -                          "type": "array"
      -                        }
      -                      ]
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "system",
      -                        "user",
      -                        "assistant"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "type": {
      -                      "anyOf": [
      -                        {
      -                          "const": "message",
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "content"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              }
      -            ],
      -            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      -          },
      -          "models": {
      -            "description": "Model configuration for each capability the agent uses",
      -            "properties": {
      -              "agent": {
      -                "description": "Primary agent model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      -                    "enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.2",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]"
      -                    ],
      -                    "type": "string",
      -                    "x-extensible-enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.2",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "model"
      -                ],
      -                "type": "object"
      -              },
      -              "browsing": {
      -                "description": "Browsing/computer-use model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier for the browsing provider",
      -                    "enum": [
      -                      "gemini-2.5-pro",
      -                      "gemini-2.5-flash",
      -                      "gemini-3-pro-preview",
      -                      "claude-haiku-4-5",
      -                      "claude-sonnet-4-5",
      -                      "claude-opus-4-1"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "provider": {
      -                    "description": "Provider backing the browsing/computer-use model",
      -                    "enum": [
      -                      "google",
      -                      "anthropic"
      -                    ],
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "provider",
      -                  "model"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "agent",
      -              "browsing"
      -            ],
      -            "type": "object"
      -          },
      -          "options": {
      -            "additionalProperties": {},
      -            "description": "Optional runtime options controlling how the agent executes",
      -            "properties": {
      -              "benchmarkExpectedOutcomes": {
      -                "description": "Expected outcomes used when running benchmark scenarios",
      -                "items": {
      -                  "properties": {
      -                    "criteria": {
      -                      "description": "Pass/fail criteria used to evaluate the outcome",
      -                      "type": "string"
      -                    },
      -                    "description": {
      -                      "description": "Human-readable description of the expected outcome",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "description",
      -                    "criteria"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "browserProvider": {
      -                "description": "Browser infrastructure provider",
      -                "enum": [
      -                  "browserbase",
      -                  "browser-use"
      -                ],
      -                "type": "string"
      -              },
      -              "evaluationSchemaId": {
      -                "description": "ID of the evaluation schema to apply to runs of this agent",
      -                "type": "string"
      -              },
      -              "supervisedMode": {
      -                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      -                "type": "boolean"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "plugins": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      -          },
      -          "skills": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "IDs of skills (team or system) that should be available to the agent"
      -          },
      -          "subAgents": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "format": "uuid",
      -                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      -          }
      -        },
      -        "required": [
      -          "models",
      -          "input"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v2",
      -        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Code step configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team file paths this step can read at run time"
      -          },
      -          "language": {
      -            "description": "Language the step's program is written in",
      -            "enum": [
      -              "python"
      -            ],
      -            "type": "string"
      -          },
      -          "source": {
      -            "description": "Where the step's program comes from",
      -            "oneOf": [
      -              {
      -                "properties": {
      -                  "code": {
      -                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      -                    "minLength": 1,
      -                    "type": "string"
      -                  },
      -                  "kind": {
      -                    "const": "inline",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "code"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "properties": {
      -                  "bundle": {
      -                    "description": "The program's files, as a content-addressed manifest",
      -                    "properties": {
      -                      "bucket": {
      -                        "description": "GCS bucket the bundle's blobs are stored in",
      -                        "minLength": 1,
      -                        "type": "string"
      -                      },
      -                      "files": {
      -                        "description": "The program's files, one manifest entry each",
      -                        "items": {
      -                          "properties": {
      -                            "path": {
      -                              "description": "Path the file is materialised at, relative to the work dir",
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "sha256": {
      -                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      -                              "maxLength": 64,
      -                              "minLength": 64,
      -                              "pattern": "^[0-9a-f]{64}$",
      -                              "type": "string"
      -                            },
      -                            "sizeBytes": {
      -                              "description": "UTF-8 byte length of the file's contents",
      -                              "maximum": 131072,
      -                              "minimum": 0,
      -                              "type": "integer"
      -                            }
      -                          },
      -                          "required": [
      -                            "path",
      -                            "sha256",
      -                            "sizeBytes"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        "maxItems": 200,
      -                        "type": "array"
      -                      }
      -                    },
      -                    "required": [
      -                      "bucket",
      -                      "files"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "kind": {
      -                    "const": "files",
      -                    "type": "string"
      -                  },
      -                  "startCommand": {
      -                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      -                    "maxLength": 2000,
      -                    "minLength": 1,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "startCommand"
      -                ],
      -                "type": "object"
      -              }
      -            ]
      -          },
      -          "timeoutMs": {
      -            "default": 600000,
      -            "description": "Wall-clock budget for one execution of the step",
      -            "exclusiveMinimum": 0,
      -            "maximum": 3600000,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "language",
      -          "source"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v1",
      -        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Agent configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      +          },
      +          "input": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "items": {
      +                  "properties": {
      +                    "content": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "items": {
      +                            "anyOf": [
      +                              {
      +                                "properties": {
      +                                  "text": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_text",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "text"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "detail": {
      +                                    "anyOf": [
      +                                      {
      +                                        "enum": [
      +                                          "low",
      +                                          "high",
      +                                          "auto"
      +                                        ],
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "file_id": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "type": {
      +                                    "const": "input_image",
      +                                    "type": "string"
      +                                  },
      +                                  "url": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "file_id": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_file",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "file_id"
      +                                ],
      +                                "type": "object"
      +                              }
      +                            ]
      +                          },
      +                          "type": "array"
      +                        }
      +                      ]
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "system",
      +                        "user",
      +                        "assistant"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": {
      +                      "anyOf": [
      +                        {
      +                          "const": "message",
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "content"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            ],
      +            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      +          },
      +          "models": {
      +            "description": "Model configuration for each capability the agent uses",
      +            "properties": {
      +              "agent": {
      +                "description": "Primary agent model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      +                    "enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.2",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]"
      +                    ],
      +                    "type": "string",
      +                    "x-extensible-enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.2",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "model"
      +                ],
      +                "type": "object"
      +              },
      +              "browsing": {
      +                "description": "Browsing/computer-use model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier for the browsing provider",
      +                    "enum": [
      +                      "gemini-2.5-pro",
      +                      "gemini-2.5-flash",
      +                      "gemini-3-pro-preview",
      +                      "claude-haiku-4-5",
      +                      "claude-sonnet-4-5",
      +                      "claude-opus-4-1"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "provider": {
      +                    "description": "Provider backing the browsing/computer-use model",
      +                    "enum": [
      +                      "google",
      +                      "anthropic"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "provider",
      +                  "model"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "agent",
      +              "browsing"
      +            ],
      +            "type": "object"
      +          },
      +          "options": {
      +            "additionalProperties": {},
      +            "description": "Optional runtime options controlling how the agent executes",
      +            "properties": {
      +              "benchmarkExpectedOutcomes": {
      +                "description": "Expected outcomes used when running benchmark scenarios",
      +                "items": {
      +                  "properties": {
      +                    "criteria": {
      +                      "description": "Pass/fail criteria used to evaluate the outcome",
      +                      "type": "string"
      +                    },
      +                    "description": {
      +                      "description": "Human-readable description of the expected outcome",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "description",
      +                    "criteria"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "browserProvider": {
      +                "description": "Browser infrastructure provider",
      +                "enum": [
      +                  "browserbase",
      +                  "browser-use"
      +                ],
      +                "type": "string"
      +              },
      +              "evaluationSchemaId": {
      +                "description": "ID of the evaluation schema to apply to runs of this agent",
      +                "type": "string"
      +              },
      +              "supervisedMode": {
      +                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      +                "type": "boolean"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "plugins": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      +          },
      +          "skills": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "IDs of skills (team or system) that should be available to the agent"
      +          },
      +          "subAgents": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "format": "uuid",
      +                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      +          }
      +        },
      +        "required": [
      +          "models",
      +          "input"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v2",
      +        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Code step configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team file paths this step can read at run time"
      +          },
      +          "handoverRequired": {
      +            "default": false,
      +            "description": "When the step declares handover options, whether a run that exits cleanly without requesting one fails. Ignored when the step declares no options.",
      +            "type": "boolean"
      +          },
      +          "language": {
      +            "description": "Language the step's program is written in",
      +            "enum": [
      +              "python"
      +            ],
      +            "type": "string"
      +          },
      +          "source": {
      +            "description": "Where the step's program comes from",
      +            "oneOf": [
      +              {
      +                "properties": {
      +                  "code": {
      +                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "const": "inline",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "code"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "properties": {
      +                  "bundle": {
      +                    "description": "The program's files, as a content-addressed manifest",
      +                    "properties": {
      +                      "bucket": {
      +                        "description": "GCS bucket the bundle's blobs are stored in",
      +                        "minLength": 1,
      +                        "type": "string"
      +                      },
      +                      "files": {
      +                        "description": "The program's files, one manifest entry each",
      +                        "items": {
      +                          "properties": {
      +                            "path": {
      +                              "description": "Path the file is materialised at, relative to the work dir",
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "sha256": {
      +                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      +                              "maxLength": 64,
      +                              "minLength": 64,
      +                              "pattern": "^[0-9a-f]{64}$",
      +                              "type": "string"
      +                            },
      +                            "sizeBytes": {
      +                              "description": "UTF-8 byte length of the file's contents",
      +                              "maximum": 131072,
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            }
      +                          },
      +                          "required": [
      +                            "path",
      +                            "sha256",
      +                            "sizeBytes"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "maxItems": 200,
      +                        "type": "array"
      +                      }
      +                    },
      +                    "required": [
      +                      "bucket",
      +                      "files"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "kind": {
      +                    "const": "files",
      +                    "type": "string"
      +                  },
      +                  "startCommand": {
      +                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      +                    "maxLength": 2000,
      +                    "minLength": 1,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "startCommand"
      +                ],
      +                "type": "object"
      +              }
      +            ]
      +          },
      +          "timeoutMs": {
      +            "default": 600000,
      +            "description": "Wall-clock budget for one execution of the step",
      +            "exclusiveMinimum": 0,
      +            "maximum": 3600000,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "language",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v1",
      +        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +]
    • addedInput schema / properties / handover_options
      Added value: +{
      +  "anyOf": [
      +    {
      +      "properties": {
      +        "required": {
      +          "description": "When true, a run that exits cleanly without requesting a handover fails",
      +          "type": "boolean"
      +        },
      +        "target_agent_ids": {
      +          "description": "Steps in the same automation this code step's program may request",
      +          "items": {
      +            "format": "uuid",
      +            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
      +            "type": "string"
      +          },
      +          "minItems": 1,
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "target_agent_ids",
      +        "required"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Code steps only. The targets the program may request, and whether it must. Null clears them; omit to inherit the source build's. Mutually exclusive with handover_to."
      +}
  7. Changed1 schema field changed
    • changedInput schema / properties / config / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Agent configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      -          },
      -          "input": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "items": {
      -                  "properties": {
      -                    "content": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "items": {
      -                            "anyOf": [
      -                              {
      -                                "properties": {
      -                                  "text": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_text",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "text"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "detail": {
      -                                    "anyOf": [
      -                                      {
      -                                        "enum": [
      -                                          "low",
      -                                          "high",
      -                                          "auto"
      -                                        ],
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "file_id": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "type": {
      -                                    "const": "input_image",
      -                                    "type": "string"
      -                                  },
      -                                  "url": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "file_id": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_file",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "file_id"
      -                                ],
      -                                "type": "object"
      -                              }
      -                            ]
      -                          },
      -                          "type": "array"
      -                        }
      -                      ]
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "system",
      -                        "user",
      -                        "assistant"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "type": {
      -                      "anyOf": [
      -                        {
      -                          "const": "message",
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "content"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              }
      -            ],
      -            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      -          },
      -          "models": {
      -            "description": "Model configuration for each capability the agent uses",
      -            "properties": {
      -              "agent": {
      -                "description": "Primary agent model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      -                    "enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.2",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]"
      -                    ],
      -                    "type": "string",
      -                    "x-extensible-enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.2",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "model"
      -                ],
      -                "type": "object"
      -              },
      -              "browsing": {
      -                "description": "Browsing/computer-use model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier for the browsing provider",
      -                    "enum": [
      -                      "gemini-2.5-pro",
      -                      "gemini-2.5-flash",
      -                      "gemini-3-pro-preview",
      -                      "claude-haiku-4-5",
      -                      "claude-sonnet-4-5",
      -                      "claude-opus-4-1"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "provider": {
      -                    "description": "Provider backing the browsing/computer-use model",
      -                    "enum": [
      -                      "google",
      -                      "anthropic"
      -                    ],
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "provider",
      -                  "model"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "agent",
      -              "browsing"
      -            ],
      -            "type": "object"
      -          },
      -          "options": {
      -            "additionalProperties": {},
      -            "description": "Optional runtime options controlling how the agent executes",
      -            "properties": {
      -              "benchmarkExpectedOutcomes": {
      -                "description": "Expected outcomes used when running benchmark scenarios",
      -                "items": {
      -                  "properties": {
      -                    "criteria": {
      -                      "description": "Pass/fail criteria used to evaluate the outcome",
      -                      "type": "string"
      -                    },
      -                    "description": {
      -                      "description": "Human-readable description of the expected outcome",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "description",
      -                    "criteria"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "browserProvider": {
      -                "description": "Browser infrastructure provider",
      -                "enum": [
      -                  "browserbase",
      -                  "browser-use"
      -                ],
      -                "type": "string"
      -              },
      -              "evaluationSchemaId": {
      -                "description": "ID of the evaluation schema to apply to runs of this agent",
      -                "type": "string"
      -              },
      -              "supervisedMode": {
      -                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      -                "type": "boolean"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "plugins": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      -          },
      -          "skills": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "IDs of skills (team or system) that should be available to the agent"
      -          },
      -          "subAgents": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "format": "uuid",
      -                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      -          }
      -        },
      -        "required": [
      -          "models",
      -          "input"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v2",
      -        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Code step configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team file paths this step can read at run time"
      -          },
      -          "language": {
      -            "description": "Language the step's program is written in",
      -            "enum": [
      -              "python"
      -            ],
      -            "type": "string"
      -          },
      -          "source": {
      -            "description": "Where the step's program comes from",
      -            "oneOf": [
      -              {
      -                "properties": {
      -                  "code": {
      -                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      -                    "minLength": 1,
      -                    "type": "string"
      -                  },
      -                  "kind": {
      -                    "const": "inline",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "code"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "properties": {
      -                  "kind": {
      -                    "const": "files",
      -                    "type": "string"
      -                  },
      -                  "startCommand": {
      -                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      -                    "maxLength": 2000,
      -                    "minLength": 1,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "startCommand"
      -                ],
      -                "type": "object"
      -              }
      -            ]
      -          },
      -          "timeoutMs": {
      -            "default": 600000,
      -            "description": "Wall-clock budget for one execution of the step",
      -            "exclusiveMinimum": 0,
      -            "maximum": 3600000,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "language",
      -          "source"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v1",
      -        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Agent configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      +          },
      +          "input": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "items": {
      +                  "properties": {
      +                    "content": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "items": {
      +                            "anyOf": [
      +                              {
      +                                "properties": {
      +                                  "text": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_text",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "text"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "detail": {
      +                                    "anyOf": [
      +                                      {
      +                                        "enum": [
      +                                          "low",
      +                                          "high",
      +                                          "auto"
      +                                        ],
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "file_id": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "type": {
      +                                    "const": "input_image",
      +                                    "type": "string"
      +                                  },
      +                                  "url": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "file_id": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_file",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "file_id"
      +                                ],
      +                                "type": "object"
      +                              }
      +                            ]
      +                          },
      +                          "type": "array"
      +                        }
      +                      ]
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "system",
      +                        "user",
      +                        "assistant"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": {
      +                      "anyOf": [
      +                        {
      +                          "const": "message",
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "content"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            ],
      +            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      +          },
      +          "models": {
      +            "description": "Model configuration for each capability the agent uses",
      +            "properties": {
      +              "agent": {
      +                "description": "Primary agent model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      +                    "enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.2",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]"
      +                    ],
      +                    "type": "string",
      +                    "x-extensible-enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.2",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "model"
      +                ],
      +                "type": "object"
      +              },
      +              "browsing": {
      +                "description": "Browsing/computer-use model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier for the browsing provider",
      +                    "enum": [
      +                      "gemini-2.5-pro",
      +                      "gemini-2.5-flash",
      +                      "gemini-3-pro-preview",
      +                      "claude-haiku-4-5",
      +                      "claude-sonnet-4-5",
      +                      "claude-opus-4-1"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "provider": {
      +                    "description": "Provider backing the browsing/computer-use model",
      +                    "enum": [
      +                      "google",
      +                      "anthropic"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "provider",
      +                  "model"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "agent",
      +              "browsing"
      +            ],
      +            "type": "object"
      +          },
      +          "options": {
      +            "additionalProperties": {},
      +            "description": "Optional runtime options controlling how the agent executes",
      +            "properties": {
      +              "benchmarkExpectedOutcomes": {
      +                "description": "Expected outcomes used when running benchmark scenarios",
      +                "items": {
      +                  "properties": {
      +                    "criteria": {
      +                      "description": "Pass/fail criteria used to evaluate the outcome",
      +                      "type": "string"
      +                    },
      +                    "description": {
      +                      "description": "Human-readable description of the expected outcome",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "description",
      +                    "criteria"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "browserProvider": {
      +                "description": "Browser infrastructure provider",
      +                "enum": [
      +                  "browserbase",
      +                  "browser-use"
      +                ],
      +                "type": "string"
      +              },
      +              "evaluationSchemaId": {
      +                "description": "ID of the evaluation schema to apply to runs of this agent",
      +                "type": "string"
      +              },
      +              "supervisedMode": {
      +                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      +                "type": "boolean"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "plugins": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      +          },
      +          "skills": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "IDs of skills (team or system) that should be available to the agent"
      +          },
      +          "subAgents": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "format": "uuid",
      +                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      +          }
      +        },
      +        "required": [
      +          "models",
      +          "input"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v2",
      +        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Code step configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team file paths this step can read at run time"
      +          },
      +          "language": {
      +            "description": "Language the step's program is written in",
      +            "enum": [
      +              "python"
      +            ],
      +            "type": "string"
      +          },
      +          "source": {
      +            "description": "Where the step's program comes from",
      +            "oneOf": [
      +              {
      +                "properties": {
      +                  "code": {
      +                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "const": "inline",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "code"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "properties": {
      +                  "bundle": {
      +                    "description": "The program's files, as a content-addressed manifest",
      +                    "properties": {
      +                      "bucket": {
      +                        "description": "GCS bucket the bundle's blobs are stored in",
      +                        "minLength": 1,
      +                        "type": "string"
      +                      },
      +                      "files": {
      +                        "description": "The program's files, one manifest entry each",
      +                        "items": {
      +                          "properties": {
      +                            "path": {
      +                              "description": "Path the file is materialised at, relative to the work dir",
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "sha256": {
      +                              "description": "Digest of the file's bytes, and the key its blob is stored at",
      +                              "maxLength": 64,
      +                              "minLength": 64,
      +                              "pattern": "^[0-9a-f]{64}$",
      +                              "type": "string"
      +                            },
      +                            "sizeBytes": {
      +                              "description": "UTF-8 byte length of the file's contents",
      +                              "maximum": 131072,
      +                              "minimum": 0,
      +                              "type": "integer"
      +                            }
      +                          },
      +                          "required": [
      +                            "path",
      +                            "sha256",
      +                            "sizeBytes"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "maxItems": 200,
      +                        "type": "array"
      +                      }
      +                    },
      +                    "required": [
      +                      "bucket",
      +                      "files"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "kind": {
      +                    "const": "files",
      +                    "type": "string"
      +                  },
      +                  "startCommand": {
      +                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      +                    "maxLength": 2000,
      +                    "minLength": 1,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "startCommand"
      +                ],
      +                "type": "object"
      +              }
      +            ]
      +          },
      +          "timeoutMs": {
      +            "default": 600000,
      +            "description": "Wall-clock budget for one execution of the step",
      +            "exclusiveMinimum": 0,
      +            "maximum": 3600000,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "language",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v1",
      +        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +]
  8. Changed2 schema fields changed
    • changedInput schema / properties / config / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Agent configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      -          },
      -          "input": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "items": {
      -                  "properties": {
      -                    "content": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "items": {
      -                            "anyOf": [
      -                              {
      -                                "properties": {
      -                                  "text": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_text",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "text"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "detail": {
      -                                    "anyOf": [
      -                                      {
      -                                        "enum": [
      -                                          "low",
      -                                          "high",
      -                                          "auto"
      -                                        ],
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "file_id": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  },
      -                                  "type": {
      -                                    "const": "input_image",
      -                                    "type": "string"
      -                                  },
      -                                  "url": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "string"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ]
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              {
      -                                "properties": {
      -                                  "file_id": {
      -                                    "type": "string"
      -                                  },
      -                                  "type": {
      -                                    "const": "input_file",
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "type",
      -                                  "file_id"
      -                                ],
      -                                "type": "object"
      -                              }
      -                            ]
      -                          },
      -                          "type": "array"
      -                        }
      -                      ]
      -                    },
      -                    "role": {
      -                      "enum": [
      -                        "system",
      -                        "user",
      -                        "assistant"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "type": {
      -                      "anyOf": [
      -                        {
      -                          "const": "message",
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "role",
      -                    "content"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              }
      -            ],
      -            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      -          },
      -          "models": {
      -            "description": "Model configuration for each capability the agent uses",
      -            "properties": {
      -              "agent": {
      -                "description": "Primary agent model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      -                    "enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.2",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]"
      -                    ],
      -                    "type": "string",
      -                    "x-extensible-enum": [
      -                      "claude-haiku-4-5-20251001",
      -                      "claude-sonnet-5",
      -                      "claude-sonnet-5[1m]",
      -                      "claude-opus-5",
      -                      "claude-opus-5[1m]",
      -                      "kimi-k3",
      -                      "kimi-k3-duvo",
      -                      "glm-5.2",
      -                      "glm-5.3-flash",
      -                      "deepseek-v4-flash",
      -                      "minimax-m3",
      -                      "qwen3.6-27b",
      -                      "d1-max",
      -                      "duvo-1-max",
      -                      "duvo-1-max-sonnet-1m",
      -                      "duvo-1-max-sonnet-4.5",
      -                      "duvo-1-max-sonnet-4.5-1m",
      -                      "duvo-1-max-opus",
      -                      "duvo-1-max-opus-4.5",
      -                      "gpt-4.1",
      -                      "gpt-4o",
      -                      "gpt-4o-mini",
      -                      "gpt-5",
      -                      "gpt-5.1",
      -                      "claude-sonnet-4-20250514",
      -                      "claude-sonnet-4-20250514[1m]",
      -                      "claude-sonnet-4-5-20250929",
      -                      "claude-sonnet-4-5-20250929[1m]",
      -                      "claude-sonnet-4-6",
      -                      "claude-sonnet-4-6[1m]",
      -                      "claude-opus-4-1-20250805",
      -                      "claude-opus-4-5-20251101",
      -                      "claude-opus-4-6",
      -                      "claude-opus-4-6[1m]",
      -                      "claude-opus-4-7",
      -                      "claude-opus-4-7[1m]",
      -                      "claude-opus-4-8",
      -                      "claude-opus-4-8[1m]"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "model"
      -                ],
      -                "type": "object"
      -              },
      -              "browsing": {
      -                "description": "Browsing/computer-use model configuration",
      -                "properties": {
      -                  "model": {
      -                    "description": "Model identifier for the browsing provider",
      -                    "enum": [
      -                      "gemini-2.5-pro",
      -                      "gemini-2.5-flash",
      -                      "gemini-3-pro-preview",
      -                      "claude-haiku-4-5",
      -                      "claude-sonnet-4-5",
      -                      "claude-opus-4-1"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "provider": {
      -                    "description": "Provider backing the browsing/computer-use model",
      -                    "enum": [
      -                      "google",
      -                      "anthropic"
      -                    ],
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "provider",
      -                  "model"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "agent",
      -              "browsing"
      -            ],
      -            "type": "object"
      -          },
      -          "options": {
      -            "additionalProperties": {},
      -            "description": "Optional runtime options controlling how the agent executes",
      -            "properties": {
      -              "benchmarkExpectedOutcomes": {
      -                "description": "Expected outcomes used when running benchmark scenarios",
      -                "items": {
      -                  "properties": {
      -                    "criteria": {
      -                      "description": "Pass/fail criteria used to evaluate the outcome",
      -                      "type": "string"
      -                    },
      -                    "description": {
      -                      "description": "Human-readable description of the expected outcome",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "description",
      -                    "criteria"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "browserProvider": {
      -                "description": "Browser infrastructure provider",
      -                "enum": [
      -                  "browserbase",
      -                  "browser-use"
      -                ],
      -                "type": "string"
      -              },
      -              "evaluationSchemaId": {
      -                "description": "ID of the evaluation schema to apply to runs of this agent",
      -                "type": "string"
      -              },
      -              "supervisedMode": {
      -                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      -                "type": "boolean"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "plugins": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      -          },
      -          "skills": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "IDs of skills (team or system) that should be available to the agent"
      -          },
      -          "subAgents": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "format": "uuid",
      -                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "IDs of other agents (in the same team) to expose to this agent as Claude Code subagents. Each sub-agent runs with its own AOP and connections; the parent can delegate to them via the Agent tool."
      -          }
      -        },
      -        "required": [
      -          "models",
      -          "input"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v2",
      -        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "data": {
      -        "description": "Code step configuration payload",
      -        "properties": {
      -          "files": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "default": [],
      -            "description": "Team file paths this step can read at run time"
      -          },
      -          "language": {
      -            "description": "Language the step's program is written in",
      -            "enum": [
      -              "python"
      -            ],
      -            "type": "string"
      -          },
      -          "source": {
      -            "description": "Where the step's program comes from",
      -            "oneOf": [
      -              {
      -                "properties": {
      -                  "code": {
      -                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      -                    "minLength": 1,
      -                    "type": "string"
      -                  },
      -                  "kind": {
      -                    "const": "inline",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "code"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "properties": {
      -                  "kind": {
      -                    "const": "files",
      -                    "type": "string"
      -                  },
      -                  "startCommand": {
      -                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      -                    "maxLength": 2000,
      -                    "minLength": 1,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "kind",
      -                  "startCommand"
      -                ],
      -                "type": "object"
      -              }
      -            ]
      -          },
      -          "timeoutMs": {
      -            "default": 600000,
      -            "description": "Wall-clock budget for one execution of the step",
      -            "exclusiveMinimum": 0,
      -            "maximum": 3600000,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "language",
      -          "source"
      -        ],
      -        "type": "object"
      -      },
      -      "version": {
      -        "const": "v1",
      -        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "version",
      -      "data"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Agent configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      +          },
      +          "input": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "items": {
      +                  "properties": {
      +                    "content": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "items": {
      +                            "anyOf": [
      +                              {
      +                                "properties": {
      +                                  "text": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_text",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "text"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "detail": {
      +                                    "anyOf": [
      +                                      {
      +                                        "enum": [
      +                                          "low",
      +                                          "high",
      +                                          "auto"
      +                                        ],
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "file_id": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "type": {
      +                                    "const": "input_image",
      +                                    "type": "string"
      +                                  },
      +                                  "url": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "file_id": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_file",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "file_id"
      +                                ],
      +                                "type": "object"
      +                              }
      +                            ]
      +                          },
      +                          "type": "array"
      +                        }
      +                      ]
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "system",
      +                        "user",
      +                        "assistant"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": {
      +                      "anyOf": [
      +                        {
      +                          "const": "message",
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "content"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            ],
      +            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      +          },
      +          "models": {
      +            "description": "Model configuration for each capability the agent uses",
      +            "properties": {
      +              "agent": {
      +                "description": "Primary agent model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      +                    "enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.2",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]"
      +                    ],
      +                    "type": "string",
      +                    "x-extensible-enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.2",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "model"
      +                ],
      +                "type": "object"
      +              },
      +              "browsing": {
      +                "description": "Browsing/computer-use model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier for the browsing provider",
      +                    "enum": [
      +                      "gemini-2.5-pro",
      +                      "gemini-2.5-flash",
      +                      "gemini-3-pro-preview",
      +                      "claude-haiku-4-5",
      +                      "claude-sonnet-4-5",
      +                      "claude-opus-4-1"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "provider": {
      +                    "description": "Provider backing the browsing/computer-use model",
      +                    "enum": [
      +                      "google",
      +                      "anthropic"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "provider",
      +                  "model"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "agent",
      +              "browsing"
      +            ],
      +            "type": "object"
      +          },
      +          "options": {
      +            "additionalProperties": {},
      +            "description": "Optional runtime options controlling how the agent executes",
      +            "properties": {
      +              "benchmarkExpectedOutcomes": {
      +                "description": "Expected outcomes used when running benchmark scenarios",
      +                "items": {
      +                  "properties": {
      +                    "criteria": {
      +                      "description": "Pass/fail criteria used to evaluate the outcome",
      +                      "type": "string"
      +                    },
      +                    "description": {
      +                      "description": "Human-readable description of the expected outcome",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "description",
      +                    "criteria"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "browserProvider": {
      +                "description": "Browser infrastructure provider",
      +                "enum": [
      +                  "browserbase",
      +                  "browser-use"
      +                ],
      +                "type": "string"
      +              },
      +              "evaluationSchemaId": {
      +                "description": "ID of the evaluation schema to apply to runs of this agent",
      +                "type": "string"
      +              },
      +              "supervisedMode": {
      +                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      +                "type": "boolean"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "plugins": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      +          },
      +          "skills": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "IDs of skills (team or system) that should be available to the agent"
      +          },
      +          "subAgents": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "format": "uuid",
      +                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Retired — Sub-Assignments was removed. Accepted for backwards compatibility and ignored."
      +          }
      +        },
      +        "required": [
      +          "models",
      +          "input"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v2",
      +        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Code step configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team file paths this step can read at run time"
      +          },
      +          "language": {
      +            "description": "Language the step's program is written in",
      +            "enum": [
      +              "python"
      +            ],
      +            "type": "string"
      +          },
      +          "source": {
      +            "description": "Where the step's program comes from",
      +            "oneOf": [
      +              {
      +                "properties": {
      +                  "code": {
      +                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "const": "inline",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "code"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "properties": {
      +                  "kind": {
      +                    "const": "files",
      +                    "type": "string"
      +                  },
      +                  "startCommand": {
      +                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      +                    "maxLength": 2000,
      +                    "minLength": 1,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "startCommand"
      +                ],
      +                "type": "object"
      +              }
      +            ]
      +          },
      +          "timeoutMs": {
      +            "default": 600000,
      +            "description": "Wall-clock budget for one execution of the step",
      +            "exclusiveMinimum": 0,
      +            "maximum": 3600000,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "language",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v1",
      +        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +]
    • addedInput schema / properties / handover_to
      Added value: +{
      +  "anyOf": [
      +    {
      +      "format": "uuid",
      +      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The single agent or code step to run after this one completes (\"Handover to\"). Mutually exclusive with handover_target_ids."
      +}
  9. Changed5 schema fields changed
    • addedInput schema / properties / config / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Agent configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      +          },
      +          "input": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "items": {
      +                  "properties": {
      +                    "content": {
      +                      "anyOf": [
      +                        {
      +                          "type": "string"
      +                        },
      +                        {
      +                          "items": {
      +                            "anyOf": [
      +                              {
      +                                "properties": {
      +                                  "text": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_text",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "text"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "detail": {
      +                                    "anyOf": [
      +                                      {
      +                                        "enum": [
      +                                          "low",
      +                                          "high",
      +                                          "auto"
      +                                        ],
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "file_id": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  },
      +                                  "type": {
      +                                    "const": "input_image",
      +                                    "type": "string"
      +                                  },
      +                                  "url": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "string"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              {
      +                                "properties": {
      +                                  "file_id": {
      +                                    "type": "string"
      +                                  },
      +                                  "type": {
      +                                    "const": "input_file",
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "type",
      +                                  "file_id"
      +                                ],
      +                                "type": "object"
      +                              }
      +                            ]
      +                          },
      +                          "type": "array"
      +                        }
      +                      ]
      +                    },
      +                    "role": {
      +                      "enum": [
      +                        "system",
      +                        "user",
      +                        "assistant"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": {
      +                      "anyOf": [
      +                        {
      +                          "const": "message",
      +                          "type": "string"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "role",
      +                    "content"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            ],
      +            "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      +          },
      +          "models": {
      +            "description": "Model configuration for each capability the agent uses",
      +            "properties": {
      +              "agent": {
      +                "description": "Primary agent model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      +                    "enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.2",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]"
      +                    ],
      +                    "type": "string",
      +                    "x-extensible-enum": [
      +                      "claude-haiku-4-5-20251001",
      +                      "claude-sonnet-5",
      +                      "claude-sonnet-5[1m]",
      +                      "claude-opus-5",
      +                      "claude-opus-5[1m]",
      +                      "kimi-k3",
      +                      "kimi-k3-duvo",
      +                      "glm-5.2",
      +                      "glm-5.3-flash",
      +                      "deepseek-v4-flash",
      +                      "minimax-m3",
      +                      "qwen3.6-27b",
      +                      "d1-max",
      +                      "duvo-1-max",
      +                      "duvo-1-max-sonnet-1m",
      +                      "duvo-1-max-sonnet-4.5",
      +                      "duvo-1-max-sonnet-4.5-1m",
      +                      "duvo-1-max-opus",
      +                      "duvo-1-max-opus-4.5",
      +                      "gpt-4.1",
      +                      "gpt-4o",
      +                      "gpt-4o-mini",
      +                      "gpt-5",
      +                      "gpt-5.1",
      +                      "claude-sonnet-4-20250514",
      +                      "claude-sonnet-4-20250514[1m]",
      +                      "claude-sonnet-4-5-20250929",
      +                      "claude-sonnet-4-5-20250929[1m]",
      +                      "claude-sonnet-4-6",
      +                      "claude-sonnet-4-6[1m]",
      +                      "claude-opus-4-1-20250805",
      +                      "claude-opus-4-5-20251101",
      +                      "claude-opus-4-6",
      +                      "claude-opus-4-6[1m]",
      +                      "claude-opus-4-7",
      +                      "claude-opus-4-7[1m]",
      +                      "claude-opus-4-8",
      +                      "claude-opus-4-8[1m]"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "model"
      +                ],
      +                "type": "object"
      +              },
      +              "browsing": {
      +                "description": "Browsing/computer-use model configuration",
      +                "properties": {
      +                  "model": {
      +                    "description": "Model identifier for the browsing provider",
      +                    "enum": [
      +                      "gemini-2.5-pro",
      +                      "gemini-2.5-flash",
      +                      "gemini-3-pro-preview",
      +                      "claude-haiku-4-5",
      +                      "claude-sonnet-4-5",
      +                      "claude-opus-4-1"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "provider": {
      +                    "description": "Provider backing the browsing/computer-use model",
      +                    "enum": [
      +                      "google",
      +                      "anthropic"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "provider",
      +                  "model"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "agent",
      +              "browsing"
      +            ],
      +            "type": "object"
      +          },
      +          "options": {
      +            "additionalProperties": {},
      +            "description": "Optional runtime options controlling how the agent executes",
      +            "properties": {
      +              "benchmarkExpectedOutcomes": {
      +                "description": "Expected outcomes used when running benchmark scenarios",
      +                "items": {
      +                  "properties": {
      +                    "criteria": {
      +                      "description": "Pass/fail criteria used to evaluate the outcome",
      +                      "type": "string"
      +                    },
      +                    "description": {
      +                      "description": "Human-readable description of the expected outcome",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "description",
      +                    "criteria"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "browserProvider": {
      +                "description": "Browser infrastructure provider",
      +                "enum": [
      +                  "browserbase",
      +                  "browser-use"
      +                ],
      +                "type": "string"
      +              },
      +              "evaluationSchemaId": {
      +                "description": "ID of the evaluation schema to apply to runs of this agent",
      +                "type": "string"
      +              },
      +              "supervisedMode": {
      +                "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      +                "type": "boolean"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "plugins": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      +          },
      +          "skills": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "IDs of skills (team or system) that should be available to the agent"
      +          },
      +          "subAgents": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "format": "uuid",
      +                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "IDs of other agents (in the same team) to expose to this agent as Claude Code subagents. Each sub-agent runs with its own AOP and connections; the parent can delegate to them via the Agent tool."
      +          }
      +        },
      +        "required": [
      +          "models",
      +          "input"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v2",
      +        "description": "Schema version discriminator — must be \"v2\" for the current schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "data": {
      +        "description": "Code step configuration payload",
      +        "properties": {
      +          "files": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": [],
      +            "description": "Team file paths this step can read at run time"
      +          },
      +          "language": {
      +            "description": "Language the step's program is written in",
      +            "enum": [
      +              "python"
      +            ],
      +            "type": "string"
      +          },
      +          "source": {
      +            "description": "Where the step's program comes from",
      +            "oneOf": [
      +              {
      +                "properties": {
      +                  "code": {
      +                    "description": "Program held in the build config. Written to `main.py` and run with `python main.py`.",
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "const": "inline",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "code"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "properties": {
      +                  "kind": {
      +                    "const": "files",
      +                    "type": "string"
      +                  },
      +                  "startCommand": {
      +                    "description": "Command run from the root of the step's file system, e.g. \"python main.py\".",
      +                    "maxLength": 2000,
      +                    "minLength": 1,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "startCommand"
      +                ],
      +                "type": "object"
      +              }
      +            ]
      +          },
      +          "timeoutMs": {
      +            "default": 600000,
      +            "description": "Wall-clock budget for one execution of the step",
      +            "exclusiveMinimum": 0,
      +            "maximum": 3600000,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "language",
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "version": {
      +        "const": "v1",
      +        "description": "Schema version discriminator — must be \"v1\" for the current code-step schema",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "version",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedInput schema / properties / config / description
      Previous value: -"Build configuration (latest schema version only; legacy v1 configs are not accepted)"New value: +"Build configuration. An agent step takes the latest agent schema (legacy v1 agent configs are not accepted); a code step takes a code-step config. Omit it to get the step family's default first build."
    • removedInput schema / properties / config / properties
      Removed value: -{
      -  "data": {
      -    "description": "Agent configuration payload",
      -    "properties": {
      -      "files": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": [],
      -        "description": "Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
      -      },
      -      "input": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "items": {
      -              "properties": {
      -                "content": {
      -                  "anyOf": [
      -                    {
      -                      "type": "string"
      -                    },
      -                    {
      -                      "items": {
      -                        "anyOf": [
      -                          {
      -                            "properties": {
      -                              "text": {
      -                                "type": "string"
      -                              },
      -                              "type": {
      -                                "const": "input_text",
      -                                "type": "string"
      -                              }
      -                            },
      -                            "required": [
      -                              "type",
      -                              "text"
      -                            ],
      -                            "type": "object"
      -                          },
      -                          {
      -                            "properties": {
      -                              "detail": {
      -                                "anyOf": [
      -                                  {
      -                                    "enum": [
      -                                      "low",
      -                                      "high",
      -                                      "auto"
      -                                    ],
      -                                    "type": "string"
      -                                  },
      -                                  {
      -                                    "type": "null"
      -                                  }
      -                                ]
      -                              },
      -                              "file_id": {
      -                                "anyOf": [
      -                                  {
      -                                    "type": "string"
      -                                  },
      -                                  {
      -                                    "type": "null"
      -                                  }
      -                                ]
      -                              },
      -                              "type": {
      -                                "const": "input_image",
      -                                "type": "string"
      -                              },
      -                              "url": {
      -                                "anyOf": [
      -                                  {
      -                                    "type": "string"
      -                                  },
      -                                  {
      -                                    "type": "null"
      -                                  }
      -                                ]
      -                              }
      -                            },
      -                            "required": [
      -                              "type"
      -                            ],
      -                            "type": "object"
      -                          },
      -                          {
      -                            "properties": {
      -                              "file_id": {
      -                                "type": "string"
      -                              },
      -                              "type": {
      -                                "const": "input_file",
      -                                "type": "string"
      -                              }
      -                            },
      -                            "required": [
      -                              "type",
      -                              "file_id"
      -                            ],
      -                            "type": "object"
      -                          }
      -                        ]
      -                      },
      -                      "type": "array"
      -                    }
      -                  ]
      -                },
      -                "role": {
      -                  "enum": [
      -                    "system",
      -                    "user",
      -                    "assistant"
      -                  ],
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "anyOf": [
      -                    {
      -                      "const": "message",
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "role",
      -                "content"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          }
      -        ],
      -        "description": "Initial agent instructions — either a single system prompt string or a list of structured messages"
      -      },
      -      "models": {
      -        "description": "Model configuration for each capability the agent uses",
      -        "properties": {
      -          "agent": {
      -            "description": "Primary agent model configuration",
      -            "properties": {
      -              "model": {
      -                "description": "Model identifier used for the primary agent loop (Claude, or an OSS model when the team's oss_models flag — or oss_models_public for the public subset — is enabled)",
      -                "enum": [
      -                  "claude-haiku-4-5-20251001",
      -                  "claude-sonnet-5",
      -                  "claude-sonnet-5[1m]",
      -                  "claude-opus-5",
      -                  "claude-opus-5[1m]",
      -                  "kimi-k3",
      -                  "kimi-k3-duvo",
      -                  "glm-5.2",
      -                  "glm-5.3-flash",
      -                  "deepseek-v4-flash",
      -                  "minimax-m3",
      -                  "qwen3.6-27b",
      -                  "d1-max",
      -                  "duvo-1-max",
      -                  "duvo-1-max-sonnet-1m",
      -                  "duvo-1-max-sonnet-4.5",
      -                  "duvo-1-max-sonnet-4.5-1m",
      -                  "duvo-1-max-opus",
      -                  "duvo-1-max-opus-4.5",
      -                  "gpt-4.1",
      -                  "gpt-4o",
      -                  "gpt-4o-mini",
      -                  "gpt-5",
      -                  "gpt-5.1",
      -                  "claude-sonnet-4-20250514",
      -                  "claude-sonnet-4-20250514[1m]",
      -                  "claude-sonnet-4-5-20250929",
      -                  "claude-sonnet-4-5-20250929[1m]",
      -                  "claude-sonnet-4-6",
      -                  "claude-sonnet-4-6[1m]",
      -                  "claude-opus-4-1-20250805",
      -                  "claude-opus-4-5-20251101",
      -                  "claude-opus-4-6",
      -                  "claude-opus-4-6[1m]",
      -                  "claude-opus-4-7",
      -                  "claude-opus-4-7[1m]",
      -                  "claude-opus-4-8",
      -                  "claude-opus-4-8[1m]"
      -                ],
      -                "type": "string",
      -                "x-extensible-enum": [
      -                  "claude-haiku-4-5-20251001",
      -                  "claude-sonnet-5",
      -                  "claude-sonnet-5[1m]",
      -                  "claude-opus-5",
      -                  "claude-opus-5[1m]",
      -                  "kimi-k3",
      -                  "kimi-k3-duvo",
      -                  "glm-5.2",
      -                  "glm-5.3-flash",
      -                  "deepseek-v4-flash",
      -                  "minimax-m3",
      -                  "qwen3.6-27b",
      -                  "d1-max",
      -                  "duvo-1-max",
      -                  "duvo-1-max-sonnet-1m",
      -                  "duvo-1-max-sonnet-4.5",
      -                  "duvo-1-max-sonnet-4.5-1m",
      -                  "duvo-1-max-opus",
      -                  "duvo-1-max-opus-4.5",
      -                  "gpt-4.1",
      -                  "gpt-4o",
      -                  "gpt-4o-mini",
      -                  "gpt-5",
      -                  "gpt-5.1",
      -                  "claude-sonnet-4-20250514",
      -                  "claude-sonnet-4-20250514[1m]",
      -                  "claude-sonnet-4-5-20250929",
      -                  "claude-sonnet-4-5-20250929[1m]",
      -                  "claude-sonnet-4-6",
      -                  "claude-sonnet-4-6[1m]",
      -                  "claude-opus-4-1-20250805",
      -                  "claude-opus-4-5-20251101",
      -                  "claude-opus-4-6",
      -                  "claude-opus-4-6[1m]",
      -                  "claude-opus-4-7",
      -                  "claude-opus-4-7[1m]",
      -                  "claude-opus-4-8",
      -                  "claude-opus-4-8[1m]"
      -                ]
      -              }
      -            },
      -            "required": [
      -              "model"
      -            ],
      -            "type": "object"
      -          },
      -          "browsing": {
      -            "description": "Browsing/computer-use model configuration",
      -            "properties": {
      -              "model": {
      -                "description": "Model identifier for the browsing provider",
      -                "enum": [
      -                  "gemini-2.5-pro",
      -                  "gemini-2.5-flash",
      -                  "gemini-3-pro-preview",
      -                  "claude-haiku-4-5",
      -                  "claude-sonnet-4-5",
      -                  "claude-opus-4-1"
      -                ],
      -                "type": "string"
      -              },
      -              "provider": {
      -                "description": "Provider backing the browsing/computer-use model",
      -                "enum": [
      -                  "google",
      -                  "anthropic"
      -                ],
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "provider",
      -              "model"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "agent",
      -          "browsing"
      -        ],
      -        "type": "object"
      -      },
      -      "options": {
      -        "additionalProperties": {},
      -        "description": "Optional runtime options controlling how the agent executes",
      -        "properties": {
      -          "benchmarkExpectedOutcomes": {
      -            "description": "Expected outcomes used when running benchmark scenarios",
      -            "items": {
      -              "properties": {
      -                "criteria": {
      -                  "description": "Pass/fail criteria used to evaluate the outcome",
      -                  "type": "string"
      -                },
      -                "description": {
      -                  "description": "Human-readable description of the expected outcome",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "description",
      -                "criteria"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "browserProvider": {
      -            "description": "Browser infrastructure provider",
      -            "enum": [
      -              "browserbase",
      -              "browser-use"
      -            ],
      -            "type": "string"
      -          },
      -          "evaluationSchemaId": {
      -            "description": "ID of the evaluation schema to apply to runs of this agent",
      -            "type": "string"
      -          },
      -          "supervisedMode": {
      -            "description": "Run the agent under Duvo's permission classifier: every tool call is classified as allow/deny/ask, with 'ask' routed to human-in-the-loop approval. Mutually exclusive with browsing and computer-use connections.",
      -            "type": "boolean"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "plugins": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": [],
      -        "description": "Plugins to load — either a built-in plugin name (e.g. \"code-review\") or a GitHub URL (e.g. \"https://github.com/owner/repo\")"
      -      },
      -      "skills": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": [],
      -        "description": "IDs of skills (team or system) that should be available to the agent"
      -      },
      -      "subAgents": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "format": "uuid",
      -              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": [],
      -        "description": "IDs of other agents (in the same team) to expose to this agent as Claude Code subagents. Each sub-agent runs with its own AOP and connections; the parent can delegate to them via the Agent tool."
      -      }
      -    },
      -    "required": [
      -      "models",
      -      "input"
      -    ],
      -    "type": "object"
      -  },
      -  "version": {
      -    "const": "v2",
      -    "description": "Schema version discriminator — must be \"v2\" for the current schema",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / config / required
      Removed value: -[
      -  "version",
      -  "data"
      -]
    • removedInput schema / properties / config / type
      Removed value: -"object"
  10. Changed2 schema fields changed
    • changedInput schema / properties / config / properties / data / properties / models / properties / agent / properties / model / enum
      Previous value: -[
      -  "claude-haiku-4-5-20251001",
      -  "claude-sonnet-5",
      -  "claude-sonnet-5[1m]",
      -  "claude-opus-5",
      -  "claude-opus-5[1m]",
      -  "kimi-k3",
      -  "kimi-k3-duvo",
      -  "glm-5.2",
      -  "deepseek-v4-flash",
      -  "minimax-m3",
      -  "qwen3.6-27b",
      -  "d1-max",
      -  "duvo-1-max",
      -  "duvo-1-max-sonnet-1m",
      -  "duvo-1-max-sonnet-4.5",
      -  "duvo-1-max-sonnet-4.5-1m",
      -  "duvo-1-max-opus",
      -  "duvo-1-max-opus-4.5",
      -  "gpt-4.1",
      -  "gpt-4o",
      -  "gpt-4o-mini",
      -  "gpt-5",
      -  "gpt-5.1",
      -  "claude-sonnet-4-20250514",
      -  "claude-sonnet-4-20250514[1m]",
      -  "claude-sonnet-4-5-20250929",
      -  "claude-sonnet-4-5-20250929[1m]",
      -  "claude-sonnet-4-6",
      -  "claude-sonnet-4-6[1m]",
      -  "claude-opus-4-1-20250805",
      -  "claude-opus-4-5-20251101",
      -  "claude-opus-4-6",
      -  "claude-opus-4-6[1m]",
      -  "claude-opus-4-7",
      -  "claude-opus-4-7[1m]",
      -  "claude-opus-4-8",
      -  "claude-opus-4-8[1m]"
      -]New value: +[
      +  "claude-haiku-4-5-20251001",
      +  "claude-sonnet-5",
      +  "claude-sonnet-5[1m]",
      +  "claude-opus-5",
      +  "claude-opus-5[1m]",
      +  "kimi-k3",
      +  "kimi-k3-duvo",
      +  "glm-5.2",
      +  "glm-5.3-flash",
      +  "deepseek-v4-flash",
      +  "minimax-m3",
      +  "qwen3.6-27b",
      +  "d1-max",
      +  "duvo-1-max",
      +  "duvo-1-max-sonnet-1m",
      +  "duvo-1-max-sonnet-4.5",
      +  "duvo-1-max-sonnet-4.5-1m",
      +  "duvo-1-max-opus",
      +  "duvo-1-max-opus-4.5",
      +  "gpt-4.1",
      +  "gpt-4o",
      +  "gpt-4o-mini",
      +  "gpt-5",
      +  "gpt-5.1",
      +  "claude-sonnet-4-20250514",
      +  "claude-sonnet-4-20250514[1m]",
      +  "claude-sonnet-4-5-20250929",
      +  "claude-sonnet-4-5-20250929[1m]",
      +  "claude-sonnet-4-6",
      +  "claude-sonnet-4-6[1m]",
      +  "claude-opus-4-1-20250805",
      +  "claude-opus-4-5-20251101",
      +  "claude-opus-4-6",
      +  "claude-opus-4-6[1m]",
      +  "claude-opus-4-7",
      +  "claude-opus-4-7[1m]",
      +  "claude-opus-4-8",
      +  "claude-opus-4-8[1m]"
      +]
    • changedInput schema / properties / config / properties / data / properties / models / properties / agent / properties / model / x-extensible-enum
      Previous value: -[
      -  "claude-haiku-4-5-20251001",
      -  "claude-sonnet-5",
      -  "claude-sonnet-5[1m]",
      -  "claude-opus-5",
      -  "claude-opus-5[1m]",
      -  "kimi-k3",
      -  "kimi-k3-duvo",
      -  "glm-5.2",
      -  "deepseek-v4-flash",
      -  "minimax-m3",
      -  "qwen3.6-27b",
      -  "d1-max",
      -  "duvo-1-max",
      -  "duvo-1-max-sonnet-1m",
      -  "duvo-1-max-sonnet-4.5",
      -  "duvo-1-max-sonnet-4.5-1m",
      -  "duvo-1-max-opus",
      -  "duvo-1-max-opus-4.5",
      -  "gpt-4.1",
      -  "gpt-4o",
      -  "gpt-4o-mini",
      -  "gpt-5",
      -  "gpt-5.1",
      -  "claude-sonnet-4-20250514",
      -  "claude-sonnet-4-20250514[1m]",
      -  "claude-sonnet-4-5-20250929",
      -  "claude-sonnet-4-5-20250929[1m]",
      -  "claude-sonnet-4-6",
      -  "claude-sonnet-4-6[1m]",
      -  "claude-opus-4-1-20250805",
      -  "claude-opus-4-5-20251101",
      -  "claude-opus-4-6",
      -  "claude-opus-4-6[1m]",
      -  "claude-opus-4-7",
      -  "claude-opus-4-7[1m]",
      -  "claude-opus-4-8",
      -  "claude-opus-4-8[1m]"
      -]New value: +[
      +  "claude-haiku-4-5-20251001",
      +  "claude-sonnet-5",
      +  "claude-sonnet-5[1m]",
      +  "claude-opus-5",
      +  "claude-opus-5[1m]",
      +  "kimi-k3",
      +  "kimi-k3-duvo",
      +  "glm-5.2",
      +  "glm-5.3-flash",
      +  "deepseek-v4-flash",
      +  "minimax-m3",
      +  "qwen3.6-27b",
      +  "d1-max",
      +  "duvo-1-max",
      +  "duvo-1-max-sonnet-1m",
      +  "duvo-1-max-sonnet-4.5",
      +  "duvo-1-max-sonnet-4.5-1m",
      +  "duvo-1-max-opus",
      +  "duvo-1-max-opus-4.5",
      +  "gpt-4.1",
      +  "gpt-4o",
      +  "gpt-4o-mini",
      +  "gpt-5",
      +  "gpt-5.1",
      +  "claude-sonnet-4-20250514",
      +  "claude-sonnet-4-20250514[1m]",
      +  "claude-sonnet-4-5-20250929",
      +  "claude-sonnet-4-5-20250929[1m]",
      +  "claude-sonnet-4-6",
      +  "claude-sonnet-4-6[1m]",
      +  "claude-opus-4-1-20250805",
      +  "claude-opus-4-5-20251101",
      +  "claude-opus-4-6",
      +  "claude-opus-4-6[1m]",
      +  "claude-opus-4-7",
      +  "claude-opus-4-7[1m]",
      +  "claude-opus-4-8",
      +  "claude-opus-4-8[1m]"
      +]
  11. Changed1 schema field changed
    • changedInput schema / properties / config / properties / data / properties / files / description
      Previous value: -"IDs of team files that should be available to the agent"New value: +"Team files that should be available to the agent, each given as the relative file path returned in the `path` field of `GET /v2/teams/{teamId}/files` (for example `report.md` or `folder/doc.md`) — not the `id` field, which is a GCS object identifier."
  12. Changed2 schema fields changed
    • changedInput schema / properties / config / properties / data / properties / models / properties / agent / properties / model / enum
      Previous value: -[
      -  "claude-haiku-4-5-20251001",
      -  "claude-sonnet-5",
      -  "claude-sonnet-5[1m]",
      -  "claude-opus-5",
      -  "claude-opus-5[1m]",
      -  "kimi-k3",
      -  "glm-5.2",
      -  "deepseek-v4-flash",
      -  "minimax-m3",
      -  "qwen3.6-27b",
      -  "d1-max",
      -  "duvo-1-max",
      -  "duvo-1-max-sonnet-1m",
      -  "duvo-1-max-sonnet-4.5",
      -  "duvo-1-max-sonnet-4.5-1m",
      -  "duvo-1-max-opus",
      -  "duvo-1-max-opus-4.5",
      -  "gpt-4.1",
      -  "gpt-4o",
      -  "gpt-4o-mini",
      -  "gpt-5",
      -  "gpt-5.1",
      -  "claude-sonnet-4-20250514",
      -  "claude-sonnet-4-20250514[1m]",
      -  "claude-sonnet-4-5-20250929",
      -  "claude-sonnet-4-5-20250929[1m]",
      -  "claude-sonnet-4-6",
      -  "claude-sonnet-4-6[1m]",
      -  "claude-opus-4-1-20250805",
      -  "claude-opus-4-5-20251101",
      -  "claude-opus-4-6",
      -  "claude-opus-4-6[1m]",
      -  "claude-opus-4-7",
      -  "claude-opus-4-7[1m]",
      -  "claude-opus-4-8",
      -  "claude-opus-4-8[1m]"
      -]New value: +[
      +  "claude-haiku-4-5-20251001",
      +  "claude-sonnet-5",
      +  "claude-sonnet-5[1m]",
      +  "claude-opus-5",
      +  "claude-opus-5[1m]",
      +  "kimi-k3",
      +  "kimi-k3-duvo",
      +  "glm-5.2",
      +  "deepseek-v4-flash",
      +  "minimax-m3",
      +  "qwen3.6-27b",
      +  "d1-max",
      +  "duvo-1-max",
      +  "duvo-1-max-sonnet-1m",
      +  "duvo-1-max-sonnet-4.5",
      +  "duvo-1-max-sonnet-4.5-1m",
      +  "duvo-1-max-opus",
      +  "duvo-1-max-opus-4.5",
      +  "gpt-4.1",
      +  "gpt-4o",
      +  "gpt-4o-mini",
      +  "gpt-5",
      +  "gpt-5.1",
      +  "claude-sonnet-4-20250514",
      +  "claude-sonnet-4-20250514[1m]",
      +  "claude-sonnet-4-5-20250929",
      +  "claude-sonnet-4-5-20250929[1m]",
      +  "claude-sonnet-4-6",
      +  "claude-sonnet-4-6[1m]",
      +  "claude-opus-4-1-20250805",
      +  "claude-opus-4-5-20251101",
      +  "claude-opus-4-6",
      +  "claude-opus-4-6[1m]",
      +  "claude-opus-4-7",
      +  "claude-opus-4-7[1m]",
      +  "claude-opus-4-8",
      +  "claude-opus-4-8[1m]"
      +]
    • changedInput schema / properties / config / properties / data / properties / models / properties / agent / properties / model / x-extensible-enum
      Previous value: -[
      -  "claude-haiku-4-5-20251001",
      -  "claude-sonnet-5",
      -  "claude-sonnet-5[1m]",
      -  "claude-opus-5",
      -  "claude-opus-5[1m]",
      -  "kimi-k3",
      -  "glm-5.2",
      -  "deepseek-v4-flash",
      -  "minimax-m3",
      -  "qwen3.6-27b",
      -  "d1-max",
      -  "duvo-1-max",
      -  "duvo-1-max-sonnet-1m",
      -  "duvo-1-max-sonnet-4.5",
      -  "duvo-1-max-sonnet-4.5-1m",
      -  "duvo-1-max-opus",
      -  "duvo-1-max-opus-4.5",
      -  "gpt-4.1",
      -  "gpt-4o",
      -  "gpt-4o-mini",
      -  "gpt-5",
      -  "gpt-5.1",
      -  "claude-sonnet-4-20250514",
      -  "claude-sonnet-4-20250514[1m]",
      -  "claude-sonnet-4-5-20250929",
      -  "claude-sonnet-4-5-20250929[1m]",
      -  "claude-sonnet-4-6",
      -  "claude-sonnet-4-6[1m]",
      -  "claude-opus-4-1-20250805",
      -  "claude-opus-4-5-20251101",
      -  "claude-opus-4-6",
      -  "claude-opus-4-6[1m]",
      -  "claude-opus-4-7",
      -  "claude-opus-4-7[1m]",
      -  "claude-opus-4-8",
      -  "claude-opus-4-8[1m]"
      -]New value: +[
      +  "claude-haiku-4-5-20251001",
      +  "claude-sonnet-5",
      +  "claude-sonnet-5[1m]",
      +  "claude-opus-5",
      +  "claude-opus-5[1m]",
      +  "kimi-k3",
      +  "kimi-k3-duvo",
      +  "glm-5.2",
      +  "deepseek-v4-flash",
      +  "minimax-m3",
      +  "qwen3.6-27b",
      +  "d1-max",
      +  "duvo-1-max",
      +  "duvo-1-max-sonnet-1m",
      +  "duvo-1-max-sonnet-4.5",
      +  "duvo-1-max-sonnet-4.5-1m",
      +  "duvo-1-max-opus",
      +  "duvo-1-max-opus-4.5",
      +  "gpt-4.1",
      +  "gpt-4o",
      +  "gpt-4o-mini",
      +  "gpt-5",
      +  "gpt-5.1",
      +  "claude-sonnet-4-20250514",
      +  "claude-sonnet-4-20250514[1m]",
      +  "claude-sonnet-4-5-20250929",
      +  "claude-sonnet-4-5-20250929[1m]",
      +  "claude-sonnet-4-6",
      +  "claude-sonnet-4-6[1m]",
      +  "claude-opus-4-1-20250805",
      +  "claude-opus-4-5-20251101",
      +  "claude-opus-4-6",
      +  "claude-opus-4-6[1m]",
      +  "claude-opus-4-7",
      +  "claude-opus-4-7[1m]",
      +  "claude-opus-4-8",
      +  "claude-opus-4-8[1m]"
      +]
  13. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources