Specifying problems
We currently support the following input types:
- A string of text (
TextProblemStatement) - A path to a file on the local filesystem (
FileProblemStatement) - A URL to a GitHub issue (
GithubIssue) - An empty problem statement (
EmptyProblemStatement) 
With sweagent run, you can specify the problem statement type with the --problem-statement flag.
For example:
--problem-statement.text="This is a problem statement"
--problem-statement.type=text
--problem-statement.path=path/to/file.txt
--problem-statement.type=text_file
--problem-statement.url=https://github.com/org/repo/issues/123
--problem-statement.type=github_issue
See below for more details on the configuration options.
All of these classes are defined in sweagent.agent.problem_statement.
            problem_statement_from_simplified_input
problem_statement_from_simplified_input(*, input: str, type: Literal['text', 'text_file', 'github_issue', 'swe_bench_multimodal']) -> ProblemStatementConfig
Get a problem statement from an input string and a type.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
                input
             | 
            
                  str
             | 
            
               Url/path/text  | 
            required | 
                type
             | 
            
                  Literal['text', 'text_file', 'github_issue', 'swe_bench_multimodal']
             | 
            
               The type of problem statement  | 
            required | 
Source code in sweagent/agent/problem_statement.py
              293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312  |  | 
            TextProblemStatement
  
      pydantic-model
  
    Config:
extra:forbid
Fields:
- 
              
text(str) - 
              
extra_fields(dict[str, Any]) - 
              
type(Literal['text']) - 
              
id(str) 
            text
  
      pydantic-field
  
text: str
            extra_fields
  
      pydantic-field
  
extra_fields: dict[str, Any]
Any additional data to be added to the instance. This data will be available when formatting prompt templates.
            type
  
      pydantic-field
  
type: Literal['text'] = 'text'
Discriminator for (de)serialization/CLI. Do not change.
            id
  
      pydantic-field
  
id: str = None
            get_problem_statement
get_problem_statement() -> str
Source code in sweagent/agent/problem_statement.py
              88 89  |  | 
            get_extra_fields
get_extra_fields() -> dict[str, Any]
Source code in sweagent/agent/problem_statement.py
              91 92  |  | 
            FileProblemStatement
  
      pydantic-model
  
    Config:
extra:forbid
Fields:
- 
              
path(Path) - 
              
extra_fields(dict[str, Any]) - 
              
type(Literal['text_file']) - 
              
id(str) 
            path
  
      pydantic-field
  
path: Path
            extra_fields
  
      pydantic-field
  
extra_fields: dict[str, Any]
Any additional data to be added to the instance. This data will be available when formatting prompt templates.
            type
  
      pydantic-field
  
type: Literal['text_file'] = 'text_file'
Discriminator for (de)serialization/CLI. Do not change.
            id
  
      pydantic-field
  
id: str = None
            get_problem_statement
get_problem_statement() -> str
Source code in sweagent/agent/problem_statement.py
              121 122  |  | 
            get_extra_fields
get_extra_fields() -> dict[str, Any]
Source code in sweagent/agent/problem_statement.py
              124 125  |  | 
            GithubIssue
  
      pydantic-model
  
    Config:
extra:forbid
Fields:
- 
              
github_url(str) - 
              
extra_fields(dict[str, Any]) - 
              
type(Literal['github']) - 
              
id(str) 
            github_url
  
      pydantic-field
  
github_url: str
            extra_fields
  
      pydantic-field
  
extra_fields: dict[str, Any]
Any additional data to be added to the instance. This data will be available when formatting prompt templates.
            type
  
      pydantic-field
  
type: Literal['github'] = 'github'
Discriminator for (de)serialization/CLI. Do not change.
            id
  
      pydantic-field
  
id: str = None
            get_problem_statement
get_problem_statement() -> str
Source code in sweagent/agent/problem_statement.py
              149 150 151  |  | 
            get_extra_fields
get_extra_fields() -> dict[str, Any]
Source code in sweagent/agent/problem_statement.py
              153 154  |  | 
            EmptyProblemStatement
  
      pydantic-model
  
    Config:
extra:forbid
Fields:
            id
  
      pydantic-field
  
id: str
            type
  
      pydantic-field
  
type: Literal['empty'] = 'empty'
Discriminator for (de)serialization/CLI. Do not change.
            get_problem_statement
get_problem_statement() -> str
Source code in sweagent/agent/problem_statement.py
              64 65  |  |