|
1 | | -import json |
2 | | -import types |
3 | | -import tinydb |
4 | | -import inspect |
5 | | -import logfire |
6 | 1 | import asyncio |
| 2 | +import inspect |
| 3 | +import json |
7 | 4 | import logging |
8 | | -import uvicorn |
9 | | - |
10 | | -from pathlib import Path |
11 | | -from datetime import datetime |
12 | | -from dotenv import load_dotenv |
| 5 | +import os |
| 6 | +import types |
13 | 7 | from collections import defaultdict |
14 | | - |
15 | 8 | from contextlib import asynccontextmanager |
| 9 | +from datetime import datetime |
| 10 | +from pathlib import Path |
| 11 | +from typing import (Any, Callable, Dict, Generic, Literal, Optional, Sequence, |
| 12 | + TypeVar, Union, cast, get_type_hints, overload) |
16 | 13 |
|
17 | | - |
18 | | -from .settings import Settings |
19 | | -from .logger import VenusConsole |
20 | | -from .schemas import DoesNeedFix, FixFuncResult |
21 | | -from .prompts import CODING_PROMPT |
22 | | -from .helpers import tools, time_diff_prettify |
23 | | -from .permissions import Permissions, get_allowed_tools |
24 | | -from ._module_utils import import_module |
25 | | -from ._decorator_utils import ( |
26 | | - extract_function_body, |
27 | | - has_context_param, |
28 | | -) |
29 | | -from .decorators import safe_call, is_context_tool |
30 | | - |
31 | | -from typing import ( |
32 | | - Any, |
33 | | - Dict, |
34 | | - Union, |
35 | | - Literal, |
36 | | - TypeVar, |
37 | | - Generic, |
38 | | - Callable, |
39 | | - Sequence, |
40 | | - cast, |
41 | | - overload, |
42 | | - Optional, |
43 | | - get_type_hints, |
44 | | -) |
45 | | - |
| 14 | +import logfire |
| 15 | +import tinydb |
| 16 | +import uvicorn |
| 17 | +from dotenv import load_dotenv |
46 | 18 | from fastapi import APIRouter as Router |
47 | 19 | from fastapi import FastAPI as Server |
48 | | - |
49 | 20 | from pydantic_ai import Agent, EndStrategy |
50 | | -from pydantic_ai.agent.abstract import EventStreamHandler |
51 | 21 | from pydantic_ai import _system_prompt as _system_prompt |
52 | | -from pydantic_ai._run_context import AgentDepsT |
53 | | -from pydantic_ai.settings import ModelSettings |
54 | | -from pydantic_ai.output import OutputSpec, OutputDataT |
55 | 22 | from pydantic_ai._agent_graph import HistoryProcessor |
56 | | -from pydantic_ai.toolsets import ToolsetFunc |
57 | | -from pydantic_ai.agent import ( |
58 | | - InstrumentationSettings, |
59 | | -) |
| 23 | +from pydantic_ai._run_context import AgentDepsT |
| 24 | +from pydantic_ai.agent import InstrumentationSettings |
| 25 | +from pydantic_ai.agent.abstract import EventStreamHandler |
| 26 | +from pydantic_ai.builtin_tools import AbstractBuiltinTool |
60 | 27 | from pydantic_ai.mcp import MCPServer |
61 | 28 | from pydantic_ai.models import KnownModelName |
62 | 29 | from pydantic_ai.models.openai import Model |
63 | | -from pydantic_ai.tools import Tool, ToolFuncContext, ToolFuncEither, ToolFuncPlain |
64 | | - |
65 | | -from .types import FuncParams, ToolsPrepareFunc, _EnableFeature, Deps |
66 | | - |
67 | | -from pydantic_ai.tools import ToolParams |
68 | | -from pydantic_ai.toolsets import AbstractToolset |
69 | | -from pydantic_ai.builtin_tools import AbstractBuiltinTool |
70 | | - |
71 | | -from .errors import ( |
72 | | - ErrorDict, |
73 | | - ExecutionNotAllowed, |
74 | | - InvalidFunction, |
75 | | - InvalidTool, |
76 | | - InvalidTools, |
77 | | - InvalidContextParam, |
78 | | -) |
| 30 | +from pydantic_ai.output import OutputDataT, OutputSpec |
| 31 | +from pydantic_ai.settings import ModelSettings |
| 32 | +from pydantic_ai.tools import (Tool, ToolFuncContext, ToolFuncEither, |
| 33 | + ToolFuncPlain, ToolParams) |
| 34 | +from pydantic_ai.toolsets import AbstractToolset, ToolsetFunc |
79 | 35 |
|
80 | 36 | from . import decorators |
| 37 | +from ._decorator_utils import extract_function_body, has_context_param |
| 38 | +from ._module_utils import import_module |
| 39 | +from .decorators import is_context_tool, safe_call |
| 40 | +from .errors import (ErrorDict, ExecutionNotAllowed, InvalidContextParam, |
| 41 | + InvalidFunction, InvalidTool, InvalidTools) |
| 42 | +from .helpers import time_diff_prettify, tools |
| 43 | +from .logger import VenusConsole |
| 44 | +from .permissions import Permissions, get_allowed_tools |
| 45 | +from .prompts import CODING_PROMPT |
| 46 | +from .schemas import DoesNeedFix, FixFuncResult |
| 47 | +from .settings import Settings |
| 48 | +from .types import Deps, FuncParams, ToolsPrepareFunc, _EnableFeature |
81 | 49 |
|
82 | 50 | """ |
83 | 51 | Agent module for building and configuring an agent with HTTP client support. |
@@ -448,7 +416,7 @@ def build_agent( |
448 | 416 | ) |
449 | 417 | self._agent_built = True |
450 | 418 | if load_env: |
451 | | - load_dotenv(override=override_env) |
| 419 | + load_dotenv(Path(os.getcwd()) / ".env", override=override_env) |
452 | 420 |
|
453 | 421 | model = settings.model_name |
454 | 422 | system_prompt = settings.system_prompt.format( |
|
0 commit comments