Spaces:
Build error
Build error
File size: 3,206 Bytes
51ff9e5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# flake8: noqa: E501
import asyncio
from openhands.resolver.issue_resolver import IssueResolver
def main() -> None:
import argparse
def int_or_none(value: str) -> int | None:
if value.lower() == 'none':
return None
else:
return int(value)
parser = argparse.ArgumentParser(description='Resolve a single issue.')
parser.add_argument(
'--selected-repo',
type=str,
required=True,
help='repository to resolve issues in form of `owner/repo`.',
)
parser.add_argument(
'--token',
type=str,
default=None,
help='token to access the repository.',
)
parser.add_argument(
'--username',
type=str,
default=None,
help='username to access the repository.',
)
parser.add_argument(
'--base-container-image',
type=str,
default=None,
help='base container image to use.',
)
parser.add_argument(
'--runtime-container-image',
type=str,
default=None,
help='Container image to use.',
)
parser.add_argument(
'--max-iterations',
type=int,
default=50,
help='Maximum number of iterations to run.',
)
parser.add_argument(
'--issue-number',
type=int,
required=True,
help='Issue number to resolve.',
)
parser.add_argument(
'--comment-id',
type=int_or_none,
required=False,
default=None,
help='Resolve a specific comment',
)
parser.add_argument(
'--output-dir',
type=str,
default='output',
help='Output directory to write the results.',
)
parser.add_argument(
'--llm-model',
type=str,
default=None,
help='LLM model to use.',
)
parser.add_argument(
'--llm-api-key',
type=str,
default=None,
help='LLM API key to use.',
)
parser.add_argument(
'--llm-base-url',
type=str,
default=None,
help='LLM base URL to use.',
)
parser.add_argument(
'--prompt-file',
type=str,
default=None,
help='Path to the prompt template file in Jinja format.',
)
parser.add_argument(
'--repo-instruction-file',
type=str,
default=None,
help='Path to the repository instruction file in text format.',
)
parser.add_argument(
'--issue-type',
type=str,
default='issue',
choices=['issue', 'pr'],
help='Type of issue to resolve, either open issue or pr comments.',
)
parser.add_argument(
'--is-experimental',
type=lambda x: x.lower() == 'true',
help='Whether to run in experimental mode.',
)
parser.add_argument(
'--base-domain',
type=str,
default=None,
help='Base domain for the git server (defaults to "github.com" for GitHub and "gitlab.com" for GitLab)',
)
my_args = parser.parse_args()
issue_resolver = IssueResolver(my_args)
asyncio.run(issue_resolver.resolve_issue())
if __name__ == '__main__':
main()
|