forked from retoor/devplacepy
fix: correct "bugs" to "issues" in routing table and README references across multiple documentation files
This commit is contained in:
@@ -885,10 +885,10 @@ ACTIONS: tuple[Action, ...] = (
|
||||
requires_auth=False,
|
||||
),
|
||||
Action(
|
||||
name="list_bugs",
|
||||
name="list_issues",
|
||||
method="GET",
|
||||
path="/bugs",
|
||||
summary="List bug tickets from the Gitea tracker",
|
||||
path="/issues",
|
||||
summary="List issue tickets from the Gitea tracker",
|
||||
requires_auth=False,
|
||||
params=(
|
||||
query("state", "Filter by state: open, closed, or all."),
|
||||
@@ -896,58 +896,58 @@ ACTIONS: tuple[Action, ...] = (
|
||||
),
|
||||
),
|
||||
Action(
|
||||
name="create_bug",
|
||||
name="create_issue",
|
||||
method="POST",
|
||||
path="/bugs/create",
|
||||
summary="Report a bug. It is rewritten by AI and filed on the tracker.",
|
||||
path="/issues/create",
|
||||
summary="Report an issue. It is rewritten by AI and filed on the tracker.",
|
||||
description=(
|
||||
"Queues a background bug creation job and returns {uid, status_url}. Poll the "
|
||||
"status_url with bug_job_status until status is 'done', then show the user the "
|
||||
"bug_url pointing at the filed ticket."
|
||||
"Queues a background issue creation job and returns {uid, status_url}. Poll the "
|
||||
"status_url with issue_job_status until status is 'done', then show the user the "
|
||||
"issue_url pointing at the filed ticket."
|
||||
),
|
||||
params=(
|
||||
body("title", "Bug title.", required=True),
|
||||
body("description", "Bug description.", required=True),
|
||||
body("title", "Issue title.", required=True),
|
||||
body("description", "Issue description.", required=True),
|
||||
),
|
||||
),
|
||||
Action(
|
||||
name="bug_job_status",
|
||||
name="issue_job_status",
|
||||
method="GET",
|
||||
path="/bugs/jobs/{uid}",
|
||||
summary="Poll a bug creation job and obtain the filed bug ticket URL once finished",
|
||||
path="/issues/jobs/{uid}",
|
||||
summary="Poll an issue creation job and obtain the filed issue ticket URL once finished",
|
||||
description=(
|
||||
"Returns the job status. When status is 'done', bug_url and number are populated; "
|
||||
"Returns the job status. When status is 'done', issue_url and number are populated; "
|
||||
"while 'pending' or 'running', poll again shortly."
|
||||
),
|
||||
params=(path("uid", "Bug job uid returned by create_bug."),),
|
||||
params=(path("uid", "Issue job uid returned by create_issue."),),
|
||||
requires_auth=False,
|
||||
),
|
||||
Action(
|
||||
name="view_bug",
|
||||
name="view_issue",
|
||||
method="GET",
|
||||
path="/bugs/{number}",
|
||||
summary="View a bug ticket and its developer updates",
|
||||
path="/issues/{number}",
|
||||
summary="View an issue ticket and its developer updates",
|
||||
requires_auth=False,
|
||||
params=(path("number", "The bug ticket number from a /bugs listing."),),
|
||||
params=(path("number", "The issue ticket number from a /issues listing."),),
|
||||
),
|
||||
Action(
|
||||
name="comment_bug",
|
||||
name="comment_issue",
|
||||
method="POST",
|
||||
path="/bugs/{number}/comment",
|
||||
summary="Post a comment on a bug ticket, attributed to the current user",
|
||||
path="/issues/{number}/comment",
|
||||
summary="Post a comment on an issue ticket, attributed to the current user",
|
||||
params=(
|
||||
path("number", "The bug ticket number."),
|
||||
path("number", "The issue ticket number."),
|
||||
body("body", "Comment text.", required=True),
|
||||
),
|
||||
),
|
||||
Action(
|
||||
name="set_bug_status",
|
||||
name="set_issue_status",
|
||||
method="POST",
|
||||
path="/bugs/{number}/status",
|
||||
summary="Change a bug ticket status (admin only)",
|
||||
path="/issues/{number}/status",
|
||||
summary="Change an issue ticket status (admin only)",
|
||||
requires_admin=True,
|
||||
params=(
|
||||
path("number", "The bug ticket number."),
|
||||
path("number", "The issue ticket number."),
|
||||
body("status", "New status: open or closed.", required=True),
|
||||
),
|
||||
),
|
||||
@@ -1056,7 +1056,7 @@ ACTIONS: tuple[Action, ...] = (
|
||||
"Fetches the file at the given URL on the server (size-capped, SSRF-guarded) and stores it "
|
||||
"as an attachment exactly like an upload, returning {uid, url, mime_type, ...}. Pass the "
|
||||
"returned uid in attachment_uids when you create_post, create_project, create_gist, "
|
||||
"create_comment, create_bug, or send_message to attach it. The file type is taken from the "
|
||||
"create_comment, create_issue, or send_message to attach it. The file type is taken from the "
|
||||
"URL or its Content-Type; supply 'filename' (with an allowed extension) when the URL has no "
|
||||
"usable name. Use this to attach an image or file straight from the internet."
|
||||
),
|
||||
|
||||
@@ -18,7 +18,7 @@ def arg(
|
||||
|
||||
|
||||
TYPES = (
|
||||
"One of: comment, reply, mention, vote, follow, message, badge, level, bug."
|
||||
"One of: comment, reply, mention, vote, follow, message, badge, level, issue."
|
||||
)
|
||||
|
||||
NOTIFICATION_ACTIONS: tuple[Action, ...] = (
|
||||
|
||||
@@ -160,10 +160,10 @@ SYSTEM_PROMPT = (
|
||||
"loopback addresses are refused.\n\n"
|
||||
"ATTACHING FILES FROM THE INTERNET\n"
|
||||
"To attach an image or file that lives at a public URL to something you create (a post, project, "
|
||||
"gist, comment, bug report, or direct message), call attach_url with that URL. It downloads the "
|
||||
"gist, comment, issue report, or direct message), call attach_url with that URL. It downloads the "
|
||||
"file on the server and stores it as a real attachment, returning a uid. Then pass that uid in the "
|
||||
"attachment_uids field when you call create_post, create_project, create_gist, create_comment, "
|
||||
"create_bug, or send_message, and the file is attached. Collect several uids to attach more than "
|
||||
"create_issue, or send_message, and the file is attached. Collect several uids to attach more than "
|
||||
"one. Do not paste the raw URL into the body when the user wants it attached - use attach_url so it "
|
||||
"becomes a proper hosted attachment with a thumbnail. The file type comes from the URL or its "
|
||||
"Content-Type; if a URL has no clear name, pass a filename with an allowed extension.\n\n"
|
||||
|
||||
@@ -13,6 +13,7 @@ from urllib.parse import urlparse
|
||||
|
||||
import httpx
|
||||
|
||||
from devplacepy import stealth
|
||||
from devplacepy.net_guard import effective_address, is_blocked_address
|
||||
from ..config import Settings
|
||||
from ..errors import NetworkError, ToolInputError, UpstreamError
|
||||
@@ -240,7 +241,7 @@ class FetchController:
|
||||
elif content is not None:
|
||||
request_kwargs["content"] = content
|
||||
try:
|
||||
async with httpx.AsyncClient(
|
||||
async with stealth.stealth_async_client(
|
||||
headers=merged_headers,
|
||||
follow_redirects=True,
|
||||
timeout=self._settings.fetch_timeout_seconds,
|
||||
|
||||
@@ -8,6 +8,7 @@ from typing import Any
|
||||
|
||||
import httpx
|
||||
|
||||
from devplacepy import stealth
|
||||
from .errors import AuthRequiredError, NetworkError, ToolInputError, UpstreamError
|
||||
|
||||
logger = logging.getLogger("devii.http")
|
||||
@@ -28,7 +29,7 @@ class PlatformClient:
|
||||
if api_key:
|
||||
headers["Authorization"] = f"Bearer {api_key}"
|
||||
headers["X-API-Key"] = api_key
|
||||
self._client = httpx.AsyncClient(
|
||||
self._client = stealth.stealth_async_client(
|
||||
base_url=base_url,
|
||||
timeout=timeout_seconds,
|
||||
follow_redirects=True,
|
||||
|
||||
@@ -7,6 +7,7 @@ from typing import Any
|
||||
|
||||
import httpx
|
||||
|
||||
from devplacepy import stealth
|
||||
from .config import Settings
|
||||
from .cost import record_usage
|
||||
from .errors import LLMError
|
||||
@@ -17,7 +18,7 @@ logger = logging.getLogger("devii.llm")
|
||||
class LLMClient:
|
||||
def __init__(self, settings: Settings) -> None:
|
||||
self._settings = settings
|
||||
self._client = httpx.AsyncClient(
|
||||
self._client = stealth.stealth_async_client(
|
||||
timeout=settings.timeout_seconds,
|
||||
headers={
|
||||
"Authorization": f"Bearer {settings.ai_key}",
|
||||
|
||||
@@ -8,6 +8,7 @@ from typing import Any
|
||||
|
||||
import httpx
|
||||
|
||||
from devplacepy import stealth
|
||||
from ..config import Settings
|
||||
from ..errors import NetworkError, ToolInputError, UpstreamError
|
||||
|
||||
@@ -47,7 +48,7 @@ class RsearchController:
|
||||
headers = {"User-Agent": USER_AGENT, "Accept": "application/json"}
|
||||
timeout = httpx.Timeout(self._settings.rsearch_timeout_seconds, connect=30.0)
|
||||
try:
|
||||
async with httpx.AsyncClient(
|
||||
async with stealth.stealth_async_client(
|
||||
base_url=self._settings.rsearch_url,
|
||||
headers=headers,
|
||||
follow_redirects=True,
|
||||
|
||||
Reference in New Issue
Block a user