praisonaiagents 0.0.9__tar.gz → 0.0.10__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (24) hide show
  1. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/PKG-INFO +1 -1
  2. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/agent/agent.py +37 -6
  3. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents.egg-info/PKG-INFO +1 -1
  4. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/pyproject.toml +1 -1
  5. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/__init__.py +0 -0
  6. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/agent/__init__.py +0 -0
  7. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/agents/__init__.py +0 -0
  8. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/agents/agents.py +0 -0
  9. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/build/lib/praisonaiagents/__init__.py +0 -0
  10. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/build/lib/praisonaiagents/agent/__init__.py +0 -0
  11. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/build/lib/praisonaiagents/agent/agent.py +0 -0
  12. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/build/lib/praisonaiagents/agents/__init__.py +0 -0
  13. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/build/lib/praisonaiagents/agents/agents.py +0 -0
  14. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/build/lib/praisonaiagents/main.py +0 -0
  15. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/build/lib/praisonaiagents/task/__init__.py +0 -0
  16. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/build/lib/praisonaiagents/task/task.py +0 -0
  17. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/main.py +0 -0
  18. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/task/__init__.py +0 -0
  19. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents/task/task.py +0 -0
  20. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents.egg-info/SOURCES.txt +0 -0
  21. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents.egg-info/dependency_links.txt +0 -0
  22. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents.egg-info/requires.txt +0 -0
  23. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/praisonaiagents.egg-info/top_level.txt +0 -0
  24. {praisonaiagents-0.0.9 → praisonaiagents-0.0.10}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: praisonaiagents
3
- Version: 0.0.9
3
+ Version: 0.0.10
4
4
  Summary: Praison AI agents for completing complex tasks with Self Reflection Agents
5
5
  Author: Mervin Praison
6
6
  Requires-Dist: pydantic
@@ -21,27 +21,49 @@ class Agent:
21
21
  """
22
22
  Generate a tool definition from a function name by inspecting the function.
23
23
  """
24
+ logging.debug(f"Attempting to generate tool definition for: {function_name}")
25
+
24
26
  # First try to get the tool definition if it exists
25
27
  tool_def_name = f"{function_name}_definition"
26
28
  tool_def = globals().get(tool_def_name)
29
+ logging.debug(f"Looking for {tool_def_name} in globals: {tool_def is not None}")
30
+
27
31
  if not tool_def:
28
32
  import __main__
29
33
  tool_def = getattr(__main__, tool_def_name, None)
34
+ logging.debug(f"Looking for {tool_def_name} in __main__: {tool_def is not None}")
30
35
 
31
36
  if tool_def:
37
+ logging.debug(f"Found tool definition: {tool_def}")
32
38
  return tool_def
33
39
 
34
- # If no definition exists, try to generate one from the function
35
- func = globals().get(function_name)
40
+ # Try to find the function in the agent's tools list first
41
+ func = None
42
+ for tool in self.tools:
43
+ if callable(tool) and getattr(tool, '__name__', '') == function_name:
44
+ func = tool
45
+ break
46
+
47
+ logging.debug(f"Looking for {function_name} in agent tools: {func is not None}")
48
+
49
+ # If not found in tools, try globals and main
36
50
  if not func:
37
- import __main__
38
- func = getattr(__main__, function_name, None)
51
+ func = globals().get(function_name)
52
+ logging.debug(f"Looking for {function_name} in globals: {func is not None}")
53
+
54
+ if not func:
55
+ import __main__
56
+ func = getattr(__main__, function_name, None)
57
+ logging.debug(f"Looking for {function_name} in __main__: {func is not None}")
39
58
 
40
59
  if not func or not callable(func):
60
+ logging.debug(f"Function {function_name} not found or not callable")
41
61
  return None
42
62
 
43
63
  import inspect
44
64
  sig = inspect.signature(func)
65
+ logging.debug(f"Function signature: {sig}")
66
+
45
67
  parameters = {
46
68
  "type": "object",
47
69
  "properties": {},
@@ -50,10 +72,13 @@ class Agent:
50
72
 
51
73
  # Parse docstring for parameter descriptions
52
74
  docstring = inspect.getdoc(func)
75
+ logging.debug(f"Function docstring: {docstring}")
76
+
53
77
  param_descriptions = {}
54
78
  if docstring:
55
79
  import re
56
80
  param_section = re.split(r'\s*Args:\s*', docstring)
81
+ logging.debug(f"Param section split: {param_section}")
57
82
  if len(param_section) > 1:
58
83
  param_lines = param_section[1].split('\n')
59
84
  for line in param_lines:
@@ -61,6 +86,8 @@ class Agent:
61
86
  if line and ':' in line:
62
87
  param_name, param_desc = line.split(':', 1)
63
88
  param_descriptions[param_name.strip()] = param_desc.strip()
89
+
90
+ logging.debug(f"Parameter descriptions: {param_descriptions}")
64
91
 
65
92
  for name, param in sig.parameters.items():
66
93
  param_type = "string" # Default type
@@ -83,11 +110,13 @@ class Agent:
83
110
  parameters["properties"][name] = param_info
84
111
  if param.default == inspect.Parameter.empty:
85
112
  parameters["required"].append(name)
113
+
114
+ logging.debug(f"Generated parameters: {parameters}")
86
115
 
87
116
  # Extract description from docstring
88
117
  description = docstring.split('\n')[0] if docstring else f"Function {function_name}"
89
-
90
- return {
118
+
119
+ tool_def = {
91
120
  "type": "function",
92
121
  "function": {
93
122
  "name": function_name,
@@ -95,6 +124,8 @@ class Agent:
95
124
  "parameters": parameters
96
125
  }
97
126
  }
127
+ logging.debug(f"Generated tool definition: {tool_def}")
128
+ return tool_def
98
129
 
99
130
  def __init__(
100
131
  self,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: praisonaiagents
3
- Version: 0.0.9
3
+ Version: 0.0.10
4
4
  Summary: Praison AI agents for completing complex tasks with Self Reflection Agents
5
5
  Author: Mervin Praison
6
6
  Requires-Dist: pydantic
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "praisonaiagents"
7
- version = "0.0.9"
7
+ version = "0.0.10"
8
8
  description = "Praison AI agents for completing complex tasks with Self Reflection Agents"
9
9
  authors = [
10
10
  { name="Mervin Praison" }