{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "prepare_asset_upload",
        "create",
        "get",
        "list",
        "update_metadata",
        "upload_revision",
        "rebase",
        "delete",
        "list_revisions",
        "get_revision",
        "get_content",
        "list_events",
        "list_shares",
        "share",
        "revoke_share",
        "remove_access"
      ],
      "description": "Operation to perform. Choose one advertised value; the remaining parameters are interpreted for that action."
    },
    "sessionId": {
      "type": "string",
      "description": "Stable Draft, or Research session identifier, as applicable to the selected tool."
    },
    "title": {
      "type": "string",
      "description": "Human-readable title for the created or updated artifact."
    },
    "collaboration": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "polls": {
          "type": "boolean",
          "default": false,
          "description": "Whether to enable polls for the selected Draft Review action."
        },
        "consensus": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "enabled": {
              "type": "boolean",
              "default": false,
              "description": "Whether to enable enabled for the selected Draft Review action."
            },
            "rule": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "mode": {
                  "enum": [
                    "owner_decides",
                    "no_open_blockers",
                    "n_of_m",
                    "required_reviewers"
                  ],
                  "description": "Allowed mode value for the selected Draft Review action."
                },
                "agreementThreshold": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 1000,
                  "description": "Agreement threshold used by the selected Draft Review action."
                },
                "minResponseCount": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 1000,
                  "description": "Min response count used by the selected Draft Review action."
                },
                "requiredReviewerIds": {
                  "type": "array",
                  "maxItems": 1000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string"
                  },
                  "description": "Required reviewer ids values used by the selected Draft Review action."
                },
                "delegatedOwnerAgentParticipantId": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Stable delegated owner agent participant identifier used by the selected Draft Review action."
                },
                "requiredReviewerCondition": {
                  "enum": [
                    "all_required_agree",
                    "no_required_objects",
                    "owner_plus_one_required_agrees",
                    "threshold_no_blockers"
                  ],
                  "description": "Allowed required reviewer condition value for the selected Draft Review action."
                },
                "objectionPolicy": {
                  "enum": [
                    "block",
                    "owner_decision",
                    "ignore"
                  ],
                  "description": "Allowed objection policy value for the selected Draft Review action."
                },
                "countOwnerAgreement": {
                  "type": "boolean",
                  "description": "Whether to enable count owner agreement for the selected Draft Review action."
                },
                "countAgentSignals": {
                  "type": "boolean",
                  "default": false,
                  "description": "Whether to enable count agent signals for the selected Draft Review action."
                },
                "decisionPollCompletion": {
                  "enum": [
                    "closed",
                    "threshold"
                  ],
                  "default": "closed",
                  "description": "Allowed decision poll completion value for the selected Draft Review action."
                }
              },
              "description": "Rule object used by the selected Draft Review action."
            },
            "gate": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "minimumHumanApprovals": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 1000,
                  "description": "Minimum human approvals used by the selected Draft Review action."
                },
                "requiredReviewerIds": {
                  "type": "array",
                  "uniqueItems": true,
                  "maxItems": 1000,
                  "items": {
                    "type": "string"
                  },
                  "description": "Required reviewer ids values used by the selected Draft Review action."
                },
                "quorum": {
                  "anyOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "group": {
                          "enum": [
                            "owner",
                            "invited_reviewers",
                            "all_human_reviewers"
                          ]
                        },
                        "minimum": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 1000
                        }
                      },
                      "required": [
                        "group",
                        "minimum"
                      ],
                      "additionalProperties": false
                    }
                  ],
                  "description": "Quorum used by the selected Draft Review action."
                },
                "fileRequirement": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "mode": {
                          "enum": [
                            "none",
                            "all"
                          ]
                        }
                      },
                      "required": [
                        "mode"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "mode": {
                          "const": "selected"
                        },
                        "filePaths": {
                          "type": "array",
                          "maxItems": 10000,
                          "uniqueItems": true,
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "mode",
                        "filePaths"
                      ],
                      "additionalProperties": false
                    }
                  ],
                  "description": "File requirement used by the selected Draft Review action."
                },
                "agentMode": {
                  "enum": [
                    "prepare_only",
                    "wait_before_implementation"
                  ],
                  "description": "Allowed agent mode value for the selected Draft Review action."
                }
              },
              "description": "Gate object used by the selected Draft Review action."
            }
          },
          "description": "Consensus object used by the selected Draft Review action."
        }
      },
      "description": "Collaboration object used by the selected Draft Review action."
    },
    "description": {
      "type": "string",
      "description": "Human-readable description for the created or updated artifact."
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "archived"
      ],
      "description": "Status filter or requested state supported by the selected action."
    },
    "sourceType": {
      "type": "string",
      "enum": [
        "api",
        "mcp",
        "cli",
        "agent_api"
      ],
      "description": "Origin classification for the created or resolved source artifact."
    },
    "gitBase": {
      "type": "object",
      "description": "Git base object used by the selected Draft Review action."
    },
    "base": {
      "type": "object",
      "description": "Base object used by the selected Draft Review action."
    },
    "summary": {
      "type": "string",
      "description": "Concise human-readable summary produced or stored by the selected action."
    },
    "files": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Source-relative file path used by the selected action."
          },
          "fileId": {
            "type": "string",
            "description": "Stable Commentary file identifier returned by the review or revision API."
          },
          "content": {
            "type": "string",
            "description": "Full literal UTF-8 file content. Commentary never resolves a local path or fetches a URL for this field."
          },
          "assetUploadId": {
            "type": "string",
            "description": "Stable asset upload identifier used by the selected Draft Review action."
          },
          "contentType": {
            "type": "string",
            "enum": [
              "markdown",
              "html",
              "plain_text",
              "image",
              "svg",
              "mermaid",
              "auto"
            ],
            "description": "Declared file content type, or auto to infer it from the file path."
          }
        }
      },
      "description": "Files included in a Draft Review operation."
    },
    "fileId": {
      "type": "string",
      "description": "Stable Commentary file identifier returned by the review or revision API."
    },
    "revisionId": {
      "type": "string",
      "description": "Stable Draft revision identifier."
    },
    "revisionNumber": {
      "type": "number",
      "description": "Human-readable revision sequence number."
    },
    "path": {
      "type": "string",
      "description": "Source-relative file path used by the selected action."
    },
    "mimeType": {
      "type": "string",
      "enum": [
        "image/png",
        "image/jpeg",
        "image/webp",
        "image/avif"
      ],
      "description": "Allowed mime type value for the selected Draft Review action."
    },
    "byteLength": {
      "type": "number",
      "description": "Byte length used by the selected Draft Review action."
    },
    "sha256": {
      "type": "string",
      "description": "Sha256 used by the selected Draft Review action."
    },
    "agentAlias": {
      "type": "string",
      "description": "Stable agent identifier for agent-authored activity. Agents should always provide this on state-changing calls; clientName is not a substitute."
    },
    "cursor": {
      "type": "string",
      "description": "Opaque pagination cursor returned by a previous call."
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of records to return. Server-side bounds still apply."
    },
    "audience": {
      "type": "string",
      "enum": [
        "anyone",
        "user"
      ],
      "description": "Allowed audience value for the selected Draft Review action."
    },
    "recipient": {
      "type": "string",
      "description": "User identity or recipient descriptor used by an explicitly selected sharing action."
    },
    "shareLinkId": {
      "type": "string",
      "description": "Stable share link identifier used by the selected Draft Review action."
    },
    "accessGrantId": {
      "type": "string",
      "description": "Stable access grant identifier used by the selected Draft Review action."
    }
  },
  "required": [
    "action"
  ]
}