PraisonAI 1.0.3__tar.gz → 1.0.4__tar.gz
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-1.0.3 → praisonai-1.0.4}/PKG-INFO +1 -1
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/deploy.py +1 -1
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/chat.py +57 -62
- {praisonai-1.0.3 → praisonai-1.0.4}/pyproject.toml +1 -1
- {praisonai-1.0.3 → praisonai-1.0.4}/LICENSE +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/README.md +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/__init__.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/__main__.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/agents_generator.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/api/call.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/auto.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/chainlit_ui.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/cli.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/inbuilt_tools/__init__.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/inc/__init__.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/inc/config.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/inc/models.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/android-chrome-192x192.png +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/android-chrome-512x512.png +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/apple-touch-icon.png +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/fantasy.svg +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/favicon-16x16.png +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/favicon-32x32.png +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/favicon.ico +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/game.svg +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/logo_dark.png +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/logo_light.png +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/movie.svg +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/thriller.svg +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/__init__.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/build.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/config.yaml +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/post_install.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/setup_conda_env.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/setup_conda_env.sh +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/test.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/train.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/code.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/context.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/fantasy.svg +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/game.svg +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/logo_dark.png +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/logo_light.png +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/movie.svg +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/thriller.svg +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/realtime.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/realtimeclient/__init__.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/realtimeclient/realtimedocs.txt +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/realtimeclient/tools.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/sql_alchemy.py +0 -0
- {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PraisonAI
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.4
|
|
4
4
|
Summary: PraisonAI application combines AutoGen and CrewAI or similar frameworks into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customization, and efficient human-agent collaboration.
|
|
5
5
|
Author: Mervin Praison
|
|
6
6
|
Requires-Python: >=3.10,<3.13
|
|
@@ -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==1.0.
|
|
59
|
+
file.write("RUN pip install flask praisonai==1.0.4 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
|
|
|
@@ -62,20 +62,19 @@ async def create_tables(engine):
|
|
|
62
62
|
id UUID PRIMARY KEY,
|
|
63
63
|
identifier TEXT NOT NULL UNIQUE,
|
|
64
64
|
metadata JSONB NOT NULL,
|
|
65
|
-
|
|
65
|
+
created_at TEXT
|
|
66
66
|
)
|
|
67
67
|
"""))
|
|
68
68
|
|
|
69
69
|
await conn.execute(text("""
|
|
70
70
|
CREATE TABLE IF NOT EXISTS threads (
|
|
71
71
|
id UUID PRIMARY KEY,
|
|
72
|
-
|
|
72
|
+
created_at TEXT,
|
|
73
73
|
name TEXT,
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
user_id UUID REFERENCES users(id) ON DELETE CASCADE,
|
|
75
|
+
user_identifier TEXT,
|
|
76
76
|
tags TEXT[],
|
|
77
|
-
metadata JSONB NOT NULL DEFAULT '{}'
|
|
78
|
-
FOREIGN KEY (userId) REFERENCES users(id) ON DELETE CASCADE
|
|
77
|
+
metadata JSONB NOT NULL DEFAULT '{}'
|
|
79
78
|
)
|
|
80
79
|
"""))
|
|
81
80
|
|
|
@@ -84,59 +83,57 @@ async def create_tables(engine):
|
|
|
84
83
|
id UUID PRIMARY KEY,
|
|
85
84
|
name TEXT NOT NULL,
|
|
86
85
|
type TEXT NOT NULL,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
streaming BOOLEAN NOT NULL DEFAULT
|
|
91
|
-
|
|
92
|
-
|
|
86
|
+
thread_id UUID NOT NULL REFERENCES threads(id) ON DELETE CASCADE,
|
|
87
|
+
parent_id UUID,
|
|
88
|
+
disable_feedback BOOLEAN NOT NULL DEFAULT false,
|
|
89
|
+
streaming BOOLEAN NOT NULL DEFAULT false,
|
|
90
|
+
wait_for_answer BOOLEAN DEFAULT false,
|
|
91
|
+
is_error BOOLEAN NOT NULL DEFAULT false,
|
|
93
92
|
metadata JSONB DEFAULT '{}',
|
|
94
93
|
tags TEXT[],
|
|
95
94
|
input TEXT,
|
|
96
95
|
output TEXT,
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
96
|
+
created_at TEXT,
|
|
97
|
+
start_time TEXT,
|
|
98
|
+
end_time TEXT,
|
|
100
99
|
generation JSONB,
|
|
101
|
-
|
|
100
|
+
show_input TEXT,
|
|
102
101
|
language TEXT,
|
|
103
|
-
indent
|
|
104
|
-
FOREIGN KEY (threadId) REFERENCES threads (id) ON DELETE CASCADE
|
|
102
|
+
indent INTEGER
|
|
105
103
|
)
|
|
106
104
|
"""))
|
|
107
105
|
|
|
108
106
|
await conn.execute(text("""
|
|
109
107
|
CREATE TABLE IF NOT EXISTS elements (
|
|
110
108
|
id UUID PRIMARY KEY,
|
|
111
|
-
|
|
109
|
+
thread_id UUID REFERENCES threads(id) ON DELETE CASCADE,
|
|
112
110
|
type TEXT,
|
|
113
111
|
url TEXT,
|
|
114
|
-
|
|
112
|
+
chainlit_key TEXT,
|
|
115
113
|
name TEXT NOT NULL,
|
|
116
114
|
display TEXT,
|
|
117
|
-
|
|
115
|
+
object_key TEXT,
|
|
118
116
|
size TEXT,
|
|
119
|
-
page
|
|
117
|
+
page INTEGER,
|
|
120
118
|
language TEXT,
|
|
121
|
-
|
|
122
|
-
mime TEXT
|
|
123
|
-
FOREIGN KEY (threadId) REFERENCES threads (id) ON DELETE CASCADE
|
|
119
|
+
for_id UUID,
|
|
120
|
+
mime TEXT
|
|
124
121
|
)
|
|
125
122
|
"""))
|
|
126
123
|
|
|
127
124
|
await conn.execute(text("""
|
|
128
125
|
CREATE TABLE IF NOT EXISTS feedbacks (
|
|
129
126
|
id UUID PRIMARY KEY,
|
|
130
|
-
|
|
131
|
-
value
|
|
132
|
-
|
|
127
|
+
for_id UUID NOT NULL,
|
|
128
|
+
value INTEGER NOT NULL,
|
|
129
|
+
thread_id UUID,
|
|
133
130
|
comment TEXT
|
|
134
131
|
)
|
|
135
132
|
"""))
|
|
136
133
|
|
|
137
134
|
await conn.execute(text("""
|
|
138
135
|
CREATE TABLE IF NOT EXISTS settings (
|
|
139
|
-
id
|
|
136
|
+
id SERIAL PRIMARY KEY,
|
|
140
137
|
key TEXT UNIQUE,
|
|
141
138
|
value TEXT
|
|
142
139
|
)
|
|
@@ -144,10 +141,10 @@ async def create_tables(engine):
|
|
|
144
141
|
|
|
145
142
|
# Create indexes
|
|
146
143
|
await conn.execute(text(
|
|
147
|
-
"CREATE INDEX IF NOT EXISTS
|
|
144
|
+
"CREATE INDEX IF NOT EXISTS idx_steps_thread_id ON steps(thread_id)"
|
|
148
145
|
))
|
|
149
146
|
await conn.execute(text(
|
|
150
|
-
"CREATE INDEX IF NOT EXISTS
|
|
147
|
+
"CREATE INDEX IF NOT EXISTS idx_threads_created_at ON threads(created_at DESC)"
|
|
151
148
|
))
|
|
152
149
|
else:
|
|
153
150
|
# SQLite tables (existing schema)
|
|
@@ -156,20 +153,19 @@ async def create_tables(engine):
|
|
|
156
153
|
id TEXT PRIMARY KEY,
|
|
157
154
|
identifier TEXT NOT NULL UNIQUE,
|
|
158
155
|
metadata TEXT NOT NULL,
|
|
159
|
-
|
|
156
|
+
created_at TEXT
|
|
160
157
|
)
|
|
161
158
|
"""))
|
|
162
159
|
|
|
163
160
|
await conn.execute(text("""
|
|
164
161
|
CREATE TABLE IF NOT EXISTS threads (
|
|
165
162
|
id TEXT PRIMARY KEY,
|
|
166
|
-
|
|
163
|
+
created_at TEXT,
|
|
167
164
|
name TEXT,
|
|
168
|
-
|
|
169
|
-
|
|
165
|
+
user_id TEXT REFERENCES users(id) ON DELETE CASCADE,
|
|
166
|
+
user_identifier TEXT,
|
|
170
167
|
tags TEXT,
|
|
171
|
-
metadata TEXT NOT NULL DEFAULT '{}'
|
|
172
|
-
FOREIGN KEY (userId) REFERENCES users(id) ON DELETE CASCADE
|
|
168
|
+
metadata TEXT NOT NULL DEFAULT '{}'
|
|
173
169
|
)
|
|
174
170
|
"""))
|
|
175
171
|
|
|
@@ -178,52 +174,50 @@ async def create_tables(engine):
|
|
|
178
174
|
id TEXT PRIMARY KEY,
|
|
179
175
|
name TEXT NOT NULL,
|
|
180
176
|
type TEXT NOT NULL,
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
streaming
|
|
185
|
-
|
|
186
|
-
|
|
177
|
+
thread_id TEXT NOT NULL REFERENCES threads(id) ON DELETE CASCADE,
|
|
178
|
+
parent_id TEXT,
|
|
179
|
+
disable_feedback INTEGER NOT NULL DEFAULT 0,
|
|
180
|
+
streaming INTEGER NOT NULL DEFAULT 0,
|
|
181
|
+
wait_for_answer INTEGER DEFAULT 0,
|
|
182
|
+
is_error INTEGER NOT NULL DEFAULT 0,
|
|
187
183
|
metadata TEXT DEFAULT '{}',
|
|
188
184
|
tags TEXT,
|
|
189
185
|
input TEXT,
|
|
190
186
|
output TEXT,
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
187
|
+
created_at TEXT,
|
|
188
|
+
start_time TEXT,
|
|
189
|
+
end_time TEXT,
|
|
194
190
|
generation TEXT,
|
|
195
|
-
|
|
191
|
+
show_input TEXT,
|
|
196
192
|
language TEXT,
|
|
197
|
-
indent
|
|
198
|
-
FOREIGN KEY (threadId) REFERENCES threads (id) ON DELETE CASCADE
|
|
193
|
+
indent INTEGER
|
|
199
194
|
)
|
|
200
195
|
"""))
|
|
201
196
|
|
|
202
197
|
await conn.execute(text("""
|
|
203
198
|
CREATE TABLE IF NOT EXISTS elements (
|
|
204
199
|
id TEXT PRIMARY KEY,
|
|
205
|
-
|
|
200
|
+
thread_id TEXT REFERENCES threads(id) ON DELETE CASCADE,
|
|
206
201
|
type TEXT,
|
|
207
202
|
url TEXT,
|
|
208
|
-
|
|
203
|
+
chainlit_key TEXT,
|
|
209
204
|
name TEXT NOT NULL,
|
|
210
205
|
display TEXT,
|
|
211
|
-
|
|
206
|
+
object_key TEXT,
|
|
212
207
|
size TEXT,
|
|
213
|
-
page
|
|
208
|
+
page INTEGER,
|
|
214
209
|
language TEXT,
|
|
215
|
-
|
|
216
|
-
mime TEXT
|
|
217
|
-
FOREIGN KEY (threadId) REFERENCES threads (id) ON DELETE CASCADE
|
|
210
|
+
for_id TEXT,
|
|
211
|
+
mime TEXT
|
|
218
212
|
)
|
|
219
213
|
"""))
|
|
220
214
|
|
|
221
215
|
await conn.execute(text("""
|
|
222
216
|
CREATE TABLE IF NOT EXISTS feedbacks (
|
|
223
217
|
id TEXT PRIMARY KEY,
|
|
224
|
-
|
|
225
|
-
value
|
|
226
|
-
|
|
218
|
+
for_id TEXT NOT NULL,
|
|
219
|
+
value INTEGER NOT NULL,
|
|
220
|
+
thread_id TEXT,
|
|
227
221
|
comment TEXT
|
|
228
222
|
)
|
|
229
223
|
"""))
|
|
@@ -238,16 +232,17 @@ async def create_tables(engine):
|
|
|
238
232
|
|
|
239
233
|
# Create indexes
|
|
240
234
|
await conn.execute(text(
|
|
241
|
-
"CREATE INDEX IF NOT EXISTS
|
|
235
|
+
"CREATE INDEX IF NOT EXISTS idx_steps_thread_id ON steps(thread_id)"
|
|
242
236
|
))
|
|
243
237
|
await conn.execute(text(
|
|
244
|
-
"CREATE INDEX IF NOT EXISTS
|
|
238
|
+
"CREATE INDEX IF NOT EXISTS idx_threads_created_at ON threads(created_at DESC)"
|
|
245
239
|
))
|
|
246
240
|
|
|
247
241
|
logger.info(f"Successfully created tables for {dialect} database")
|
|
248
242
|
except Exception as e:
|
|
249
243
|
logger.error(f"Error creating tables: {str(e)}")
|
|
250
|
-
|
|
244
|
+
from sqlalchemy.exc import DatabaseError as SQLAlchemyDatabaseError
|
|
245
|
+
raise SQLAlchemyDatabaseError(statement=str(e), params=None, orig=e)
|
|
251
246
|
|
|
252
247
|
# Initialize the database
|
|
253
248
|
async def initialize_db():
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "PraisonAI"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.4"
|
|
4
4
|
description = "PraisonAI application combines AutoGen and CrewAI or similar frameworks into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customization, and efficient human-agent collaboration."
|
|
5
5
|
authors = ["Mervin Praison"]
|
|
6
6
|
license = ""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|