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.

Files changed (53) hide show
  1. {praisonai-1.0.3 → praisonai-1.0.4}/PKG-INFO +1 -1
  2. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/deploy.py +1 -1
  3. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/chat.py +57 -62
  4. {praisonai-1.0.3 → praisonai-1.0.4}/pyproject.toml +1 -1
  5. {praisonai-1.0.3 → praisonai-1.0.4}/LICENSE +0 -0
  6. {praisonai-1.0.3 → praisonai-1.0.4}/README.md +0 -0
  7. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/__init__.py +0 -0
  8. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/__main__.py +0 -0
  9. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/agents_generator.py +0 -0
  10. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/api/call.py +0 -0
  11. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/auto.py +0 -0
  12. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/chainlit_ui.py +0 -0
  13. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/cli.py +0 -0
  14. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/inbuilt_tools/__init__.py +0 -0
  15. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/inbuilt_tools/autogen_tools.py +0 -0
  16. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/inc/__init__.py +0 -0
  17. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/inc/config.py +0 -0
  18. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/inc/models.py +0 -0
  19. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/android-chrome-192x192.png +0 -0
  20. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/android-chrome-512x512.png +0 -0
  21. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/apple-touch-icon.png +0 -0
  22. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/fantasy.svg +0 -0
  23. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/favicon-16x16.png +0 -0
  24. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/favicon-32x32.png +0 -0
  25. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/favicon.ico +0 -0
  26. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/game.svg +0 -0
  27. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/logo_dark.png +0 -0
  28. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/logo_light.png +0 -0
  29. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/movie.svg +0 -0
  30. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/public/thriller.svg +0 -0
  31. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/__init__.py +0 -0
  32. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/build.py +0 -0
  33. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/config.yaml +0 -0
  34. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/post_install.py +0 -0
  35. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/setup_conda_env.py +0 -0
  36. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup/setup_conda_env.sh +0 -0
  37. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/setup.py +0 -0
  38. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/test.py +0 -0
  39. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/train.py +0 -0
  40. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/code.py +0 -0
  41. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/context.py +0 -0
  42. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/fantasy.svg +0 -0
  43. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/game.svg +0 -0
  44. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/logo_dark.png +0 -0
  45. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/logo_light.png +0 -0
  46. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/movie.svg +0 -0
  47. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/public/thriller.svg +0 -0
  48. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/realtime.py +0 -0
  49. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/realtimeclient/__init__.py +0 -0
  50. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/realtimeclient/realtimedocs.txt +0 -0
  51. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/realtimeclient/tools.py +0 -0
  52. {praisonai-1.0.3 → praisonai-1.0.4}/praisonai/ui/sql_alchemy.py +0 -0
  53. {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
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.3 gunicorn markdown\n")
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
- createdAt TEXT
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
- createdAt TEXT,
72
+ created_at TEXT,
73
73
  name TEXT,
74
- userId UUID,
75
- userIdentifier TEXT,
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
- threadId UUID NOT NULL,
88
- parentId UUID,
89
- disableFeedback BOOLEAN NOT NULL DEFAULT 0,
90
- streaming BOOLEAN NOT NULL DEFAULT 0,
91
- waitForAnswer BOOLEAN DEFAULT 0,
92
- isError BOOLEAN NOT NULL DEFAULT 0,
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
- createdAt TEXT,
98
- start TEXT,
99
- end TEXT,
96
+ created_at TEXT,
97
+ start_time TEXT,
98
+ end_time TEXT,
100
99
  generation JSONB,
101
- showInput TEXT,
100
+ show_input TEXT,
102
101
  language TEXT,
103
- indent INT,
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
- threadId UUID,
109
+ thread_id UUID REFERENCES threads(id) ON DELETE CASCADE,
112
110
  type TEXT,
113
111
  url TEXT,
114
- chainlitKey TEXT,
112
+ chainlit_key TEXT,
115
113
  name TEXT NOT NULL,
116
114
  display TEXT,
117
- objectKey TEXT,
115
+ object_key TEXT,
118
116
  size TEXT,
119
- page INT,
117
+ page INTEGER,
120
118
  language TEXT,
121
- forId UUID,
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
- forId UUID NOT NULL,
131
- value INT NOT NULL,
132
- threadId UUID,
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 INTEGER PRIMARY KEY AUTOINCREMENT,
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 idx_steps_threadId ON steps(threadId)"
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 idx_threads_createdAt ON threads(createdAt DESC)"
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
- createdAt TEXT
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
- createdAt TEXT,
163
+ created_at TEXT,
167
164
  name TEXT,
168
- userId TEXT,
169
- userIdentifier TEXT,
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
- threadId TEXT NOT NULL,
182
- parentId TEXT,
183
- disableFeedback BOOLEAN NOT NULL DEFAULT 0,
184
- streaming BOOLEAN NOT NULL DEFAULT 0,
185
- waitForAnswer BOOLEAN DEFAULT 0,
186
- isError BOOLEAN NOT NULL DEFAULT 0,
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
- createdAt TEXT,
192
- start TEXT,
193
- end TEXT,
187
+ created_at TEXT,
188
+ start_time TEXT,
189
+ end_time TEXT,
194
190
  generation TEXT,
195
- showInput TEXT,
191
+ show_input TEXT,
196
192
  language TEXT,
197
- indent INT,
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
- threadId TEXT,
200
+ thread_id TEXT REFERENCES threads(id) ON DELETE CASCADE,
206
201
  type TEXT,
207
202
  url TEXT,
208
- chainlitKey TEXT,
203
+ chainlit_key TEXT,
209
204
  name TEXT NOT NULL,
210
205
  display TEXT,
211
- objectKey TEXT,
206
+ object_key TEXT,
212
207
  size TEXT,
213
- page INT,
208
+ page INTEGER,
214
209
  language TEXT,
215
- forId TEXT,
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
- forId TEXT NOT NULL,
225
- value INT NOT NULL,
226
- threadId TEXT,
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 idx_steps_threadId ON steps(threadId)"
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 idx_threads_createdAt ON threads(createdAt DESC)"
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
- raise DatabaseError(f"Failed to create database tables: {str(e)}")
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"
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