PraisonAI 2.2.6__cp313-cp313-manylinux_2_39_x86_64.whl → 2.2.7__cp313-cp313-manylinux_2_39_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of PraisonAI might be problematic. Click here for more details.
- praisonai/cli.py +28 -5
- praisonai/deploy.py +1 -1
- {praisonai-2.2.6.dist-info → praisonai-2.2.7.dist-info}/METADATA +1 -1
- {praisonai-2.2.6.dist-info → praisonai-2.2.7.dist-info}/RECORD +7 -7
- {praisonai-2.2.6.dist-info → praisonai-2.2.7.dist-info}/LICENSE +0 -0
- {praisonai-2.2.6.dist-info → praisonai-2.2.7.dist-info}/WHEEL +0 -0
- {praisonai-2.2.6.dist-info → praisonai-2.2.7.dist-info}/entry_points.txt +0 -0
praisonai/cli.py
CHANGED
|
@@ -138,6 +138,9 @@ class PraisonAI:
|
|
|
138
138
|
initializes the necessary attributes, and then calls the appropriate methods based on the
|
|
139
139
|
provided arguments.
|
|
140
140
|
"""
|
|
141
|
+
# Store the original agent_file from constructor
|
|
142
|
+
original_agent_file = self.agent_file
|
|
143
|
+
|
|
141
144
|
args = self.parse_args()
|
|
142
145
|
# Store args for use in handle_direct_prompt
|
|
143
146
|
self.args = args
|
|
@@ -153,9 +156,14 @@ class PraisonAI:
|
|
|
153
156
|
else:
|
|
154
157
|
self.agent_file = args.command
|
|
155
158
|
elif hasattr(args, 'direct_prompt') and args.direct_prompt:
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
+
# Only handle direct prompt if agent_file wasn't explicitly set in constructor
|
|
160
|
+
if original_agent_file == "agents.yaml": # Default value, so safe to use direct prompt
|
|
161
|
+
result = self.handle_direct_prompt(args.direct_prompt)
|
|
162
|
+
print(result)
|
|
163
|
+
return result
|
|
164
|
+
else:
|
|
165
|
+
# Agent file was explicitly set, ignore direct prompt and use the file
|
|
166
|
+
pass
|
|
159
167
|
# If no command or direct_prompt, preserve agent_file from constructor (don't overwrite)
|
|
160
168
|
|
|
161
169
|
if args.deploy:
|
|
@@ -316,6 +324,15 @@ class PraisonAI:
|
|
|
316
324
|
"""
|
|
317
325
|
Parse the command-line arguments for the PraisonAI CLI.
|
|
318
326
|
"""
|
|
327
|
+
# Check if we're running in a test environment
|
|
328
|
+
in_test_env = (
|
|
329
|
+
'pytest' in sys.argv[0] or
|
|
330
|
+
'unittest' in sys.argv[0] or
|
|
331
|
+
any('test' in arg for arg in sys.argv[1:3]) or # Check first few args for test indicators
|
|
332
|
+
'pytest' in sys.modules or
|
|
333
|
+
'unittest' in sys.modules
|
|
334
|
+
)
|
|
335
|
+
|
|
319
336
|
# Define special commands
|
|
320
337
|
special_commands = ['chat', 'code', 'call', 'realtime', 'train', 'ui']
|
|
321
338
|
|
|
@@ -334,7 +351,12 @@ class PraisonAI:
|
|
|
334
351
|
parser.add_argument("--realtime", action="store_true", help="Start the realtime voice interaction interface")
|
|
335
352
|
parser.add_argument("--call", action="store_true", help="Start the PraisonAI Call server")
|
|
336
353
|
parser.add_argument("--public", action="store_true", help="Use ngrok to expose the server publicly (only with --call)")
|
|
337
|
-
|
|
354
|
+
|
|
355
|
+
# If we're in a test environment, parse with empty args to avoid pytest interference
|
|
356
|
+
if in_test_env:
|
|
357
|
+
args, unknown_args = parser.parse_known_args([])
|
|
358
|
+
else:
|
|
359
|
+
args, unknown_args = parser.parse_known_args()
|
|
338
360
|
|
|
339
361
|
# Handle special cases first
|
|
340
362
|
if unknown_args and unknown_args[0] == '-b' and unknown_args[1] == 'api:app':
|
|
@@ -436,7 +458,8 @@ class PraisonAI:
|
|
|
436
458
|
sys.exit(1)
|
|
437
459
|
|
|
438
460
|
# Handle direct prompt if command is not a special command or file
|
|
439
|
-
|
|
461
|
+
# Skip this during testing to avoid pytest arguments interfering
|
|
462
|
+
if not in_test_env and args.command and not args.command.endswith('.yaml') and args.command not in special_commands:
|
|
440
463
|
args.direct_prompt = args.command
|
|
441
464
|
args.command = None
|
|
442
465
|
|
praisonai/deploy.py
CHANGED
|
@@ -56,7 +56,7 @@ class CloudDeployer:
|
|
|
56
56
|
file.write("FROM python:3.11-slim\n")
|
|
57
57
|
file.write("WORKDIR /app\n")
|
|
58
58
|
file.write("COPY . .\n")
|
|
59
|
-
file.write("RUN pip install flask praisonai==2.2.
|
|
59
|
+
file.write("RUN pip install flask praisonai==2.2.7 gunicorn markdown\n")
|
|
60
60
|
file.write("EXPOSE 8080\n")
|
|
61
61
|
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
|
|
62
62
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: PraisonAI
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.7
|
|
4
4
|
Summary: PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human-agent collaboration.
|
|
5
5
|
Author: Mervin Praison
|
|
6
6
|
Requires-Python: >=3.10,<3.13
|
|
@@ -4,8 +4,8 @@ praisonai/agents_generator.py,sha256=YxNxEwJ9NNnFMXZTDcTO7JjGGy6eXnaDmrd7YsxTZTg
|
|
|
4
4
|
praisonai/api/call.py,sha256=krOfTCZM_bdbsNuWQ1PijzCHECkDvEi9jIvvZaDQUUU,11035
|
|
5
5
|
praisonai/auto.py,sha256=uLDm8CU3L_3amZsd55yzf9RdBF1uW-BGSx7nl9ctNZ4,8680
|
|
6
6
|
praisonai/chainlit_ui.py,sha256=bNR7s509lp0I9JlJNvwCZRUZosC64qdvlFCt8NmFamQ,12216
|
|
7
|
-
praisonai/cli.py,sha256=
|
|
8
|
-
praisonai/deploy.py,sha256=
|
|
7
|
+
praisonai/cli.py,sha256=mKTDudn9N-xW1Kzak90Ay7a6JO1sq2G3GRNisBzMClw,27180
|
|
8
|
+
praisonai/deploy.py,sha256=LGWXC8dvoQyG1bKgR-DLwlKsKqfuuSY4LCNqClCCTiY,6027
|
|
9
9
|
praisonai/inbuilt_tools/__init__.py,sha256=mZOEximj3zCyJHq9Lz0bGXhQpBsa_QR-R-yA9UKC3zI,565
|
|
10
10
|
praisonai/inbuilt_tools/autogen_tools.py,sha256=kJdEv61BTYvdHOaURNEpBcWq8Rs-oC03loNFTIjT-ak,4687
|
|
11
11
|
praisonai/inc/__init__.py,sha256=sPDlYBBwdk0VlWzaaM_lG0_LD07lS2HRGvPdxXJFiYg,62
|
|
@@ -84,8 +84,8 @@ praisonai/ui/sql_alchemy.py,sha256=fPLPBJlrgV1_sRugirbNDCunqxqFB-CjV9TvCThU4nU,2
|
|
|
84
84
|
praisonai/ui/tools.md,sha256=Ad3YH_ZCLMWlz3mDXllQnQ_S5l55LWqLdcZSh-EXrHI,3956
|
|
85
85
|
praisonai/upload_vision.py,sha256=lMpFn993UiYVJxRNZQTmcbPbEajQ5TFKCNGK1Icn_hg,5253
|
|
86
86
|
praisonai/version.py,sha256=ugyuFliEqtAwQmH4sTlc16YXKYbFWDmfyk87fErB8-8,21
|
|
87
|
-
praisonai-2.2.
|
|
88
|
-
praisonai-2.2.
|
|
89
|
-
praisonai-2.2.
|
|
90
|
-
praisonai-2.2.
|
|
91
|
-
praisonai-2.2.
|
|
87
|
+
praisonai-2.2.7.dist-info/LICENSE,sha256=kqvFysVlnFxYOu0HxCe2HlmZmJtdmNGOxWRRkT9TsWc,1035
|
|
88
|
+
praisonai-2.2.7.dist-info/METADATA,sha256=Ly06qJbksudcxpoKxodpY3SBUmJUx0qcSVqiXeiZ_Jk,22118
|
|
89
|
+
praisonai-2.2.7.dist-info/WHEEL,sha256=dCzwOzx-VmbmLA5u8QpkARaxx3rsePBxa1nmZphhNQk,110
|
|
90
|
+
praisonai-2.2.7.dist-info/entry_points.txt,sha256=I_xc6a6MNTTfLxYmAxe0rgey0G-_hbY07oFW-ZDnkw4,135
|
|
91
|
+
praisonai-2.2.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|