Fixing bugs in .praisonignore and respecting .gitignore

This commit is contained in:
MervinPraison committed 2024-07-18 17:44:54 +01:00
1 parent af898375fa
commit 855afc8f7b
12 files changed
+1791 -261

No files matched your search

+3 -3
View File
@@ -3,10 +3,10 @@ crewai
.cache
__pycache__
chroma.sqlite3
test/
dist/
test
dist
.env
assets/*
assets
.idea
.DS_Store
.pytest_cache
+2 -73
View File
@@ -1,74 +1,3 @@
.*
*.pyc
pycache
.git
.gitignore
.vscode
.idea
.DS_Store
.lock
.pyc
.env
docs
tests
test
tmp
temp
.txt
.md
.json
.csv
.tsv
public
.sql
.sqlite
.db
.db3
.sqlite3
.log
.zip
.gz
.tar
.rar
.7z
.pdf
.jpg
.jpeg
.png
.gif
.svg
cookbooks
assets
pycache
dist
build
node_modules
venv
crewAI
.vscode
.cache
*.__pycache__
__pycache__
*chroma.sqlite3
test/
dist/
.env
assets/*
.idea
.DS_Store
.pytest_cache
praisonAI.egg-info
test.yaml
db
praisonai_prompt.txt
watch.sh
docs.sh
other
output
*.chainlit
.files
site
flagged
*public
threads.db
trained_agents_data.pkl
docs
tests
+1 -1
View File
@@ -1,6 +1,6 @@
FROM python:3.11-slim
WORKDIR /app
COPY . .
RUN pip install flask praisonai==0.0.52 gunicorn markdown
RUN pip install flask praisonai==0.0.53 gunicorn markdown
EXPOSE 8080
CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]
+1 -1
View File
@@ -110,7 +110,7 @@ Loads environment variables from .env file or system and sets them.</p>
file.write(&#34;FROM python:3.11-slim\n&#34;)
file.write(&#34;WORKDIR /app\n&#34;)
file.write(&#34;COPY . .\n&#34;)
file.write(&#34;RUN pip install flask praisonai==0.0.52 gunicorn markdown\n&#34;)
file.write(&#34;RUN pip install flask praisonai==0.0.53 gunicorn markdown\n&#34;)
file.write(&#34;EXPOSE 8080\n&#34;)
file.write(&#39;CMD [&#34;gunicorn&#34;, &#34;-b&#34;, &#34;0.0.0.0:8080&#34;, &#34;api:app&#34;]\n&#39;)
+836
View File
@@ -0,0 +1,836 @@
{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [
{
"id": "gBkFdzkAVdEWutG3qTrB0",
"type": "rectangle",
"x": 536.4349670410156,
"y": -677.1792297363279,
"width": 178.43490600585935,
"height": 44.315124511718736,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0g",
"roundness": {
"type": 3
},
"seed": 1579902398,
"version": 443,
"versionNonce": 523921598,
"isDeleted": false,
"boundElements": [
{
"type": "text",
"id": "rXvHMTDzQw3KXG5Bw6Miq"
},
{
"id": "3zLj8LrUzhGGXhZaDSJgs",
"type": "arrow"
},
{
"id": "cKGXib4-dKdUl9yJcSfq-",
"type": "arrow"
},
{
"id": "BS019CDTkphQWLmagOrGS",
"type": "arrow"
}
],
"updated": 1721295852022,
"link": null,
"locked": false
},
{
"id": "rXvHMTDzQw3KXG5Bw6Miq",
"type": "text",
"x": 564.0524749755859,
"y": -667.5216674804685,
"width": 123.19989013671875,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0gV",
"roundness": null,
"seed": 1207531362,
"version": 342,
"versionNonce": 538330338,
"isDeleted": false,
"boundElements": null,
"updated": 1721295807540,
"link": null,
"locked": false,
"text": "Multi Agents",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "gBkFdzkAVdEWutG3qTrB0",
"originalText": "Multi Agents",
"autoResize": true,
"lineHeight": 1.25
},
{
"type": "rectangle",
"version": 725,
"versionNonce": 1063769278,
"index": "b0i",
"isDeleted": false,
"id": "hOUwrI2Zw6CbQVBzSj3j_",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 823.7187652587891,
"y": -680.7326354980466,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 186.26303100585935,
"height": 40.635437011718736,
"seed": 1055936190,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"id": "YYmrmCN3zGtGeOPK2Ccbw",
"type": "arrow"
},
{
"type": "text",
"id": "Fnl1rz2BlXU6J8Yq8YZwu"
},
{
"id": "e8q5v4IQp7HYVNQjKLNNS",
"type": "arrow"
},
{
"id": "jBFbBBsN9eixvuKN38SL2",
"type": "arrow"
}
],
"updated": 1721295856562,
"link": null,
"locked": false
},
{
"id": "Fnl1rz2BlXU6J8Yq8YZwu",
"type": "text",
"x": 858.4403305053711,
"y": -672.9149169921873,
"width": 116.81990051269531,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0iV",
"roundness": null,
"seed": 594220962,
"version": 142,
"versionNonce": 1682602622,
"isDeleted": false,
"boundElements": null,
"updated": 1721295812159,
"link": null,
"locked": false,
"text": "Single Agent",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "hOUwrI2Zw6CbQVBzSj3j_",
"originalText": "Single Agent",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "3zLj8LrUzhGGXhZaDSJgs",
"type": "arrow",
"x": 775.7563686946191,
"y": -733.9083557128904,
"width": 64.00441130704803,
"height": 52.950469970703125,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0k",
"roundness": {
"type": 2
},
"seed": 1611346302,
"version": 800,
"versionNonce": 1469757538,
"isDeleted": false,
"boundElements": null,
"updated": 1721296052140,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
-64.00441130704803,
52.950469970703125
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": {
"elementId": "gBkFdzkAVdEWutG3qTrB0",
"gap": 3.778656005859375,
"focus": 0.47197049085398457
},
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "YYmrmCN3zGtGeOPK2Ccbw",
"type": "arrow",
"x": 810.3017634410855,
"y": -732.6739807128904,
"width": 85.77694061921636,
"height": 44.679656982421875,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0l",
"roundness": {
"type": 2
},
"seed": 412089534,
"version": 776,
"versionNonce": 774462498,
"isDeleted": false,
"boundElements": null,
"updated": 1721296052140,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
85.77694061921636,
44.679656982421875
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": {
"elementId": "hOUwrI2Zw6CbQVBzSj3j_",
"gap": 7.261688232421875,
"focus": 0.24350278296403458
},
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"type": "rectangle",
"version": 752,
"versionNonce": 1452690686,
"index": "b0o",
"isDeleted": false,
"id": "nsG_S4C6dOJXv5Hn71Vpv",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 491.27333068847656,
"y": -569.7236175537107,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 130.18418049302826,
"height": 37.446437865250886,
"seed": 902159166,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "EDt610N0slRoDwCoDDSiH"
},
{
"id": "cKGXib4-dKdUl9yJcSfq-",
"type": "arrow"
}
],
"updated": 1721295849323,
"link": null,
"locked": false
},
{
"type": "text",
"version": 535,
"versionNonce": 1980346430,
"index": "b0p",
"isDeleted": false,
"id": "EDt610N0slRoDwCoDDSiH",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 522.0554462645805,
"y": -563.5003986210853,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 68.61994934082031,
"height": 25,
"seed": 2032386942,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1721295835808,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "CrewAI",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "nsG_S4C6dOJXv5Hn71Vpv",
"originalText": "CrewAI",
"autoResize": true,
"lineHeight": 1.25
},
{
"type": "rectangle",
"version": 851,
"versionNonce": 1844039998,
"index": "b0q",
"isDeleted": false,
"id": "QCX8dp2PO9HkjqWidvhuK",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 648.4615867188858,
"y": -569.9485283193521,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 130.18418049302826,
"height": 37.446437865250886,
"seed": 555393982,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "hGN-D4W-BHfkd2cd-XnSP"
},
{
"id": "BS019CDTkphQWLmagOrGS",
"type": "arrow"
}
],
"updated": 1721295852022,
"link": null,
"locked": false
},
{
"type": "text",
"version": 241,
"versionNonce": 2015226750,
"index": "b0r",
"isDeleted": false,
"id": "hGN-D4W-BHfkd2cd-XnSP",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 672.0937083985053,
"y": -563.7253093867267,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 82.91993713378906,
"height": 25,
"seed": 533429246,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1721295841280,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "AutoGen",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "QCX8dp2PO9HkjqWidvhuK",
"originalText": "AutoGen",
"autoResize": true,
"lineHeight": 1.25
},
{
"type": "rectangle",
"version": 768,
"versionNonce": 1459025150,
"index": "b0s",
"isDeleted": false,
"id": "7Ii8GSxtLkw5d3u_f-_kt",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 819.1223602294922,
"y": -575.3343048095701,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 130.18418049302826,
"height": 37.446437865250886,
"seed": 1314962402,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "nbS4zZL3SX1ojYnZ8ubj4"
},
{
"id": "e8q5v4IQp7HYVNQjKLNNS",
"type": "arrow"
}
],
"updated": 1721295854370,
"link": null,
"locked": false
},
{
"type": "text",
"version": 546,
"versionNonce": 1535924578,
"index": "b0t",
"isDeleted": false,
"id": "nbS4zZL3SX1ojYnZ8ubj4",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 860.5144687865532,
"y": -569.1110858769447,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 47.39996337890625,
"height": 25,
"seed": 1952640930,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1721295829009,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Chat",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "7Ii8GSxtLkw5d3u_f-_kt",
"originalText": "Chat",
"autoResize": true,
"lineHeight": 1.25
},
{
"type": "rectangle",
"version": 963,
"versionNonce": 1521237310,
"index": "b0u",
"isDeleted": false,
"id": "PqS5K_ghWhUe3nTiPZEWE",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 970.203835254042,
"y": -574.8456535634928,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 130.18418049302826,
"height": 37.446437865250886,
"seed": 1265150818,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "sCKqppUowczlf2-SGqYyT"
},
{
"id": "jBFbBBsN9eixvuKN38SL2",
"type": "arrow"
}
],
"updated": 1721295856562,
"link": null,
"locked": false
},
{
"type": "text",
"version": 343,
"versionNonce": 1701505250,
"index": "b0v",
"isDeleted": false,
"id": "sCKqppUowczlf2-SGqYyT",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 1012.1559489990913,
"y": -568.6224346308674,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 46.27995300292969,
"height": 25,
"seed": 2042687266,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1721295829009,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Code",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "PqS5K_ghWhUe3nTiPZEWE",
"originalText": "Code",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "cKGXib4-dKdUl9yJcSfq-",
"type": "arrow",
"x": 627.2005615234375,
"y": -630.5438232421873,
"width": 60.1224365234375,
"height": 55.1927490234375,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0w",
"roundness": {
"type": 2
},
"seed": 233127038,
"version": 98,
"versionNonce": 1160484030,
"isDeleted": false,
"boundElements": null,
"updated": 1721295849323,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
-60.1224365234375,
55.1927490234375
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "gBkFdzkAVdEWutG3qTrB0",
"focus": -0.24888641301408482,
"gap": 2.320281982421875
},
"endBinding": {
"elementId": "nsG_S4C6dOJXv5Hn71Vpv",
"focus": -0.18497317396435772,
"gap": 5.627456665039119
},
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "BS019CDTkphQWLmagOrGS",
"type": "arrow",
"x": 630.2474365234375,
"y": -629.0698547363279,
"width": 80.703125,
"height": 53.463531494140625,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0x",
"roundness": {
"type": 2
},
"seed": 310377790,
"version": 80,
"versionNonce": 799711486,
"isDeleted": false,
"boundElements": null,
"updated": 1721295852022,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
80.703125,
53.463531494140625
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "gBkFdzkAVdEWutG3qTrB0",
"focus": 0.28190124455103954,
"gap": 3.79425048828125
},
"endBinding": {
"elementId": "QCX8dp2PO9HkjqWidvhuK",
"focus": 0.366344355951018,
"gap": 5.657794922835194
},
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "e8q5v4IQp7HYVNQjKLNNS",
"type": "arrow",
"x": 923.2083740234375,
"y": -638.9448547363279,
"width": 36.4427490234375,
"height": 58.135406494140625,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0y",
"roundness": {
"type": 2
},
"seed": 895023486,
"version": 78,
"versionNonce": 780221630,
"isDeleted": false,
"boundElements": null,
"updated": 1721295854370,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
-36.4427490234375,
58.135406494140625
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "hOUwrI2Zw6CbQVBzSj3j_",
"focus": -0.1871843733465698,
"gap": 1.15234375
},
"endBinding": {
"elementId": "7Ii8GSxtLkw5d3u_f-_kt",
"focus": -0.16423249726949576,
"gap": 5.475143432617244
},
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "jBFbBBsN9eixvuKN38SL2",
"type": "arrow",
"x": 922.2291870117188,
"y": -637.4943237304685,
"width": 98.93487548828125,
"height": 53.84375,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0z",
"roundness": {
"type": 2
},
"seed": 277587262,
"version": 96,
"versionNonce": 1061850366,
"isDeleted": false,
"boundElements": null,
"updated": 1721295856562,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
98.93487548828125,
53.84375
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "hOUwrI2Zw6CbQVBzSj3j_",
"focus": 0.2815822612188661,
"gap": 2.602874755859375
},
"endBinding": {
"elementId": "PqS5K_ghWhUe3nTiPZEWE",
"focus": 0.3663457157233071,
"gap": 8.804920166975819
},
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "TPQS4IlMmufv2ygx4l4Yf",
"type": "image",
"x": 653.6796875,
"y": -811.0686543782549,
"width": 266.3379620962191,
"height": 88.4737120216356,
"angle": 0,
"strokeColor": "transparent",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b10",
"roundness": null,
"seed": 1698053026,
"version": 457,
"versionNonce": 1848779518,
"isDeleted": false,
"boundElements": null,
"updated": 1721296094680,
"link": null,
"locked": false,
"status": "saved",
"fileId": "80dea94d36f7e9692b17699d94280a7f4cdefbfe",
"scale": [
1,
1
]
}
],
"appState": {
"gridSize": null,
"viewBackgroundColor": "#ffffff"
},
"files": {
"80dea94d36f7e9692b17699d94280a7f4cdefbfe": {
"mimeType": "image/png",
"id": "80dea94d36f7e9692b17699d94280a7f4cdefbfe",
"dataURL": "data:image/png;base64,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 truncated
"created": 1721296075040,
"lastRetrieved": 1721296075040
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

+853
View File
@@ -0,0 +1,853 @@
{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [
{
"id": "ZVmbn-ir2uHhJ_qUop7GE",
"type": "image",
"x": 669.690185546875,
"y": -822.9161682128904,
"width": 254.83337402343744,
"height": 84.20964435722587,
"angle": 0,
"strokeColor": "transparent",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0f",
"roundness": null,
"seed": 873820286,
"version": 722,
"versionNonce": 1653069566,
"isDeleted": false,
"boundElements": [
{
"id": "3zLj8LrUzhGGXhZaDSJgs",
"type": "arrow"
},
{
"id": "YYmrmCN3zGtGeOPK2Ccbw",
"type": "arrow"
}
],
"updated": 1721295867729,
"link": null,
"locked": false,
"status": "saved",
"fileId": "daf9ace2f7f7a3f554f96c82cd99723eda6409d6",
"scale": [
1,
1
]
},
{
"id": "gBkFdzkAVdEWutG3qTrB0",
"type": "rectangle",
"x": 536.4349670410156,
"y": -677.1792297363279,
"width": 178.43490600585935,
"height": 44.315124511718736,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0g",
"roundness": {
"type": 3
},
"seed": 1579902398,
"version": 443,
"versionNonce": 523921598,
"isDeleted": false,
"boundElements": [
{
"type": "text",
"id": "rXvHMTDzQw3KXG5Bw6Miq"
},
{
"id": "3zLj8LrUzhGGXhZaDSJgs",
"type": "arrow"
},
{
"id": "cKGXib4-dKdUl9yJcSfq-",
"type": "arrow"
},
{
"id": "BS019CDTkphQWLmagOrGS",
"type": "arrow"
}
],
"updated": 1721295852022,
"link": null,
"locked": false
},
{
"id": "rXvHMTDzQw3KXG5Bw6Miq",
"type": "text",
"x": 564.0524749755859,
"y": -667.5216674804685,
"width": 123.19989013671875,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0gV",
"roundness": null,
"seed": 1207531362,
"version": 342,
"versionNonce": 538330338,
"isDeleted": false,
"boundElements": null,
"updated": 1721295807540,
"link": null,
"locked": false,
"text": "Multi Agents",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "gBkFdzkAVdEWutG3qTrB0",
"originalText": "Multi Agents",
"autoResize": true,
"lineHeight": 1.25
},
{
"type": "rectangle",
"version": 725,
"versionNonce": 1063769278,
"index": "b0i",
"isDeleted": false,
"id": "hOUwrI2Zw6CbQVBzSj3j_",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 823.7187652587891,
"y": -680.7326354980466,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 186.26303100585935,
"height": 40.635437011718736,
"seed": 1055936190,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"id": "YYmrmCN3zGtGeOPK2Ccbw",
"type": "arrow"
},
{
"type": "text",
"id": "Fnl1rz2BlXU6J8Yq8YZwu"
},
{
"id": "e8q5v4IQp7HYVNQjKLNNS",
"type": "arrow"
},
{
"id": "jBFbBBsN9eixvuKN38SL2",
"type": "arrow"
}
],
"updated": 1721295856562,
"link": null,
"locked": false
},
{
"id": "Fnl1rz2BlXU6J8Yq8YZwu",
"type": "text",
"x": 858.4403305053711,
"y": -672.9149169921873,
"width": 116.81990051269531,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0iV",
"roundness": null,
"seed": 594220962,
"version": 142,
"versionNonce": 1682602622,
"isDeleted": false,
"boundElements": null,
"updated": 1721295812159,
"link": null,
"locked": false,
"text": "Single Agent",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "hOUwrI2Zw6CbQVBzSj3j_",
"originalText": "Single Agent",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "3zLj8LrUzhGGXhZaDSJgs",
"type": "arrow",
"x": 775.7563686946191,
"y": -733.9083557128904,
"width": 64.00441130704803,
"height": 52.950469970703125,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0k",
"roundness": {
"type": 2
},
"seed": 1611346302,
"version": 799,
"versionNonce": 1860218750,
"isDeleted": false,
"boundElements": null,
"updated": 1721295867729,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
-64.00441130704803,
52.950469970703125
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "ZVmbn-ir2uHhJ_qUop7GE",
"gap": 4.798168142774102,
"focus": -0.19800863838720784
},
"endBinding": {
"elementId": "gBkFdzkAVdEWutG3qTrB0",
"gap": 3.778656005859375,
"focus": 0.47197049085398457
},
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "YYmrmCN3zGtGeOPK2Ccbw",
"type": "arrow",
"x": 810.3017634410855,
"y": -732.6739807128904,
"width": 85.77694061921636,
"height": 44.679656982421875,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0l",
"roundness": {
"type": 2
},
"seed": 412089534,
"version": 775,
"versionNonce": 1681745918,
"isDeleted": false,
"boundElements": null,
"updated": 1721295867729,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
85.77694061921636,
44.679656982421875
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "ZVmbn-ir2uHhJ_qUop7GE",
"gap": 6.032543142774102,
"focus": 0.38025747349732314
},
"endBinding": {
"elementId": "hOUwrI2Zw6CbQVBzSj3j_",
"gap": 7.261688232421875,
"focus": 0.24350278296403458
},
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"type": "rectangle",
"version": 752,
"versionNonce": 1452690686,
"index": "b0o",
"isDeleted": false,
"id": "nsG_S4C6dOJXv5Hn71Vpv",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 491.27333068847656,
"y": -569.7236175537107,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 130.18418049302826,
"height": 37.446437865250886,
"seed": 902159166,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "EDt610N0slRoDwCoDDSiH"
},
{
"id": "cKGXib4-dKdUl9yJcSfq-",
"type": "arrow"
}
],
"updated": 1721295849323,
"link": null,
"locked": false
},
{
"type": "text",
"version": 535,
"versionNonce": 1980346430,
"index": "b0p",
"isDeleted": false,
"id": "EDt610N0slRoDwCoDDSiH",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 522.0554462645805,
"y": -563.5003986210853,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 68.61994934082031,
"height": 25,
"seed": 2032386942,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1721295835808,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "CrewAI",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "nsG_S4C6dOJXv5Hn71Vpv",
"originalText": "CrewAI",
"autoResize": true,
"lineHeight": 1.25
},
{
"type": "rectangle",
"version": 851,
"versionNonce": 1844039998,
"index": "b0q",
"isDeleted": false,
"id": "QCX8dp2PO9HkjqWidvhuK",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 648.4615867188858,
"y": -569.9485283193521,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 130.18418049302826,
"height": 37.446437865250886,
"seed": 555393982,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "hGN-D4W-BHfkd2cd-XnSP"
},
{
"id": "BS019CDTkphQWLmagOrGS",
"type": "arrow"
}
],
"updated": 1721295852022,
"link": null,
"locked": false
},
{
"type": "text",
"version": 241,
"versionNonce": 2015226750,
"index": "b0r",
"isDeleted": false,
"id": "hGN-D4W-BHfkd2cd-XnSP",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 672.0937083985053,
"y": -563.7253093867267,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 82.91993713378906,
"height": 25,
"seed": 533429246,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1721295841280,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "AutoGen",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "QCX8dp2PO9HkjqWidvhuK",
"originalText": "AutoGen",
"autoResize": true,
"lineHeight": 1.25
},
{
"type": "rectangle",
"version": 768,
"versionNonce": 1459025150,
"index": "b0s",
"isDeleted": false,
"id": "7Ii8GSxtLkw5d3u_f-_kt",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 819.1223602294922,
"y": -575.3343048095701,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 130.18418049302826,
"height": 37.446437865250886,
"seed": 1314962402,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "nbS4zZL3SX1ojYnZ8ubj4"
},
{
"id": "e8q5v4IQp7HYVNQjKLNNS",
"type": "arrow"
}
],
"updated": 1721295854370,
"link": null,
"locked": false
},
{
"type": "text",
"version": 546,
"versionNonce": 1535924578,
"index": "b0t",
"isDeleted": false,
"id": "nbS4zZL3SX1ojYnZ8ubj4",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 860.5144687865532,
"y": -569.1110858769447,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 47.39996337890625,
"height": 25,
"seed": 1952640930,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1721295829009,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Chat",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "7Ii8GSxtLkw5d3u_f-_kt",
"originalText": "Chat",
"autoResize": true,
"lineHeight": 1.25
},
{
"type": "rectangle",
"version": 963,
"versionNonce": 1521237310,
"index": "b0u",
"isDeleted": false,
"id": "PqS5K_ghWhUe3nTiPZEWE",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 970.203835254042,
"y": -574.8456535634928,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 130.18418049302826,
"height": 37.446437865250886,
"seed": 1265150818,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "sCKqppUowczlf2-SGqYyT"
},
{
"id": "jBFbBBsN9eixvuKN38SL2",
"type": "arrow"
}
],
"updated": 1721295856562,
"link": null,
"locked": false
},
{
"type": "text",
"version": 343,
"versionNonce": 1701505250,
"index": "b0v",
"isDeleted": false,
"id": "sCKqppUowczlf2-SGqYyT",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 1012.1559489990913,
"y": -568.6224346308674,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 46.27995300292969,
"height": 25,
"seed": 2042687266,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1721295829009,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Code",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "PqS5K_ghWhUe3nTiPZEWE",
"originalText": "Code",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "cKGXib4-dKdUl9yJcSfq-",
"type": "arrow",
"x": 627.2005615234375,
"y": -630.5438232421873,
"width": 60.1224365234375,
"height": 55.1927490234375,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0w",
"roundness": {
"type": 2
},
"seed": 233127038,
"version": 98,
"versionNonce": 1160484030,
"isDeleted": false,
"boundElements": null,
"updated": 1721295849323,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
-60.1224365234375,
55.1927490234375
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "gBkFdzkAVdEWutG3qTrB0",
"focus": -0.24888641301408482,
"gap": 2.320281982421875
},
"endBinding": {
"elementId": "nsG_S4C6dOJXv5Hn71Vpv",
"focus": -0.18497317396435772,
"gap": 5.627456665039119
},
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "BS019CDTkphQWLmagOrGS",
"type": "arrow",
"x": 630.2474365234375,
"y": -629.0698547363279,
"width": 80.703125,
"height": 53.463531494140625,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0x",
"roundness": {
"type": 2
},
"seed": 310377790,
"version": 80,
"versionNonce": 799711486,
"isDeleted": false,
"boundElements": null,
"updated": 1721295852022,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
80.703125,
53.463531494140625
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "gBkFdzkAVdEWutG3qTrB0",
"focus": 0.28190124455103954,
"gap": 3.79425048828125
},
"endBinding": {
"elementId": "QCX8dp2PO9HkjqWidvhuK",
"focus": 0.366344355951018,
"gap": 5.657794922835194
},
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "e8q5v4IQp7HYVNQjKLNNS",
"type": "arrow",
"x": 923.2083740234375,
"y": -638.9448547363279,
"width": 36.4427490234375,
"height": 58.135406494140625,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0y",
"roundness": {
"type": 2
},
"seed": 895023486,
"version": 78,
"versionNonce": 780221630,
"isDeleted": false,
"boundElements": null,
"updated": 1721295854370,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
-36.4427490234375,
58.135406494140625
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "hOUwrI2Zw6CbQVBzSj3j_",
"focus": -0.1871843733465698,
"gap": 1.15234375
},
"endBinding": {
"elementId": "7Ii8GSxtLkw5d3u_f-_kt",
"focus": -0.16423249726949576,
"gap": 5.475143432617244
},
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "jBFbBBsN9eixvuKN38SL2",
"type": "arrow",
"x": 922.2291870117188,
"y": -637.4943237304685,
"width": 98.93487548828125,
"height": 53.84375,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "b0z",
"roundness": {
"type": 2
},
"seed": 277587262,
"version": 96,
"versionNonce": 1061850366,
"isDeleted": false,
"boundElements": null,
"updated": 1721295856562,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
98.93487548828125,
53.84375
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "hOUwrI2Zw6CbQVBzSj3j_",
"focus": 0.2815822612188661,
"gap": 2.602874755859375
},
"endBinding": {
"elementId": "PqS5K_ghWhUe3nTiPZEWE",
"focus": 0.3663457157233071,
"gap": 8.804920166975819
},
"startArrowhead": null,
"endArrowhead": "arrow"
}
],
"appState": {
"gridSize": null,
"viewBackgroundColor": "#ffffff"
},
"files": {
"daf9ace2f7f7a3f554f96c82cd99723eda6409d6": {
"mimeType": "image/png",
"id": "daf9ace2f7f7a3f554f96c82cd99723eda6409d6",
"dataURL": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkIAAAC/CAYAAAASNLPuAAAAAXNSR0IArs4c6QAAIABJREFUeF7tnQmcXEWZwOur7slMMjPJ9KvXmQAjTAIoRkQkCiiIIgIe4LV4i6gIHquu64G7IqwI4oW4i3jjhaCsqCygqFyCqCCICkLkCCGEAJnpqjeTZJLJzHS/b/tjO+wwme5+R73u92a++v3yG7Srvvrq/47+uuo7QHBjAkyACTABJsAEmMA8JQDzdN28bCbABJgAE2ACTIAJCDaE+CZgAkyACTABJsAE5i2BeWcIDQwMLNy+ffvThRD7+L6/FAAe/4eI9NcRQnQhYhf9FUIsBAAphNiGiOMAsF0IMY6I9Hc7/ZVSPv7/+b4/BACPCSEezefzj01NTT3ied5GIUR53t5dvHAmwASYABNgAiknMGcNoVWrVnU8+OCDe+dyuWcg4krf91cCwDOEEE8TQuRbdF3ICCLjaAMibpBS3oWId0kp7yyVSg8IIbBFevA0TIAJMAEmwASYwCwE5owhNDAw4ExMTLy4Uqm8REr5HEQko4d2dVLZEHGTlPIORPw7APw9l8vdMTQ09GfeQUrl5WKlmAATYAJMYI4SyLIhlC8UCgfncrkjhBBHIOLzWrjTk9TtYIQQNwghrgOA67TW9yU1EctlAkyACTABJsAERLacpR3HGUDElwPASwDgxUIINccv4hpEvC6Xy12PiL/SWm+Z4+vl5TEBJsAEmAATaCmB1O8IDQ4Odm3duvVVvu+/VQjx0jmw6xPpAgPAZkS8DBEv9jzvOiGEH0kQD2ICTIAJMAEmwASeIJBaQ6i/v/+gcrn8VgB4AyIW+Zr9PwEAeBAAflypVMgoWs1smAATCE6gWCzuPzU1taSvr++OdevWjQYfyT2ZABOYiwRSZQi5rruLEOItvu8fDwD7zUXgttdUPSb8PSJ+2RhzGUeh2abL8rJOoK+vbzCXyx0rhKB/R9ZZz33Vo/bfCSGu1FpfkfU1s/5MgAmEI5AKQ6hYLO6NiB9FxLelOdIrHNrW9kbEO6SUX9RaXyKEqLR2dp6NCaSLABlA+Xz+1GraineF1Oy+XC73meHh4QtDjuPuTIAJZJRAWw2hQqGwby6XO8X3/TcCQEdGGaZN7XsQ8YvLli27aPXq1ZNpU471YQJJE3Ac5xwA+EjMeW6VUr67VCr9LaYcHs4EmEDKCbTFEHJd9zm+759SzZ/zT0IIytzMzT4BSth4ijHm5/ZFs0QmkD4Cg4ODfZs3b/4WALzOhnYAUELEk4wxl9uQxzKYABNIJ4GWGkJLly59XqVS+YQQ4ph04piTWl1eLpf/ddOmTQ/OydXxopiAEIKMoC1btvxGCHGgbSBSyreXSqUf2JbL8pgAE0gHgZYYQoVCYfdcLncWIh6fjmXPLy2qxwRbEPHs/v7+c/m4bH5d+/myWsdxftJoJwgANCL+jZyiAWA9Ij5UTVz6AiHEHkKI/RDxuY1YSSmfzcdk8+Vu4nXONwKJGkK1AqcfF0J8BBF75hvctK0XEe/s6Og4eWho6E9p0431YQJRCTiO86Vqnq0P1xuPiOcuXrz4zEah8q7rvggRvyWE2Hs2OXRMVi6XDxwdHV0XVU8exwSYQDoJJGYIKaWo9MX5VOU9nUuft1qNk2FqjPn6vCXAC58zBGrh8fWOfe8HgJO11lS2pmmr+RidVs+oAoDvaK3DRqE1nZc7MAEm0F4C1g2h3XffvbB169YvCSHe0d6l8exNCFyYz+ffNzQ0tJVJMYGsEnBd9wJEPHEW/e/v7e09MErCRKXUB4UQ/zUbk0qlspx3hbJ6t7DeTGB2AlYNIaXUiwHg24i4goFngsBfAeBNWut7M6EtK8kEphFotBsEAIcH3QmaDapS6hohxEtmfoaIP/U8z0pUGl9MJsAE0kHAiiG0atWqjnXr1n2awrU5HD4dFzaEFiNCiOOMMdeHGMNdmUDbCdTbuSGfIM/zYuURomOysbGx+xHRnb5Q8hXSWi9t++JZASbABKwRiG0IdXd393d1dV0shCCfIG4ZJEBRZb7vH+d53tUZVJ9VnqcEHMe5FACOm7n83t7eQpQjsZly6hlacXeb5unl4mUzgdQSiGUILVu27MByuXwJIi5P7QpZsaAEtgHAG7XWVwYdwP2YQDsJKKVwlvmvNcbUqykWSt1aJNlvZw4CgNO11meGEsadmQATSC2ByIaQ67qUFPFHiNib2tWxYmEJbEfEt3qe97OwA7k/E2g1gdkMIRvHYtPXMdscbAi1+krzfEwgWQKRDCGl1Nsp5wbXB0v24rRDOiJOSSn/iXeG2kGf5wxKoJ6jtO0s0K7r3jpLskVru05B18v9mAATSI5AaEOIjCAhxHfYKTq5i5ICySO+7x82MjJyVwp0YRWYwE4EGhxbxYoWmzlRnegxNoT4nmQCc4hAKEOoWCweV6lUfpSRnSCKhnpECLERAIZ83x+mv0KIzYg4IaWc8H1/u5SSjoO2CyHQ9/1OKWUnAHQBQKfv+z0AUETEpYhYlFLS3z2FELvNoXug3lLunZycPHTLli16HqyVl5hBAq04tnJdd5ie/el4OLFiBm8WVpkJNCAQ2BAqFAqHSCkpt8bClBF9hGoICSEoF849vu/fWy6X/zE2NlZKSk9KGrl9+/Z9EPGplUplXynlwYj4HCFEV1JztknutYODgy+//fbbp9o0P0/LBOoSqOMjZC3PT73jN/YR4puSCcwtAoEMISqaKqX8Ywp2QnwA+Csi3uz7/p86OjpuHh4efiANl4Tqqo2NjR2Yz+cPE0K8smYYpUG1uDp8xRhDmXa5MYFUEVBK3TdLbbD7jDFPs6GoUupVQoj/mSnLth+SDV1ZBhNgAtEJNDWEBgcHu7Zs2UK1eg6KPk2skaOISPltfiOl/JXW+rFY0lo0uFgs7oWI9CJ9EyKuatG0iUyDiEd5nke7gdyYQGoI1Cu2aivPj1KK3js7heJzmY3U3AKsCBOwQqCpIaSUouKc77EyW0Ah1aKHm4UQlwPAJcVi8drVq1dPBhyaym59fX2H5fP5d1PSQgBYkEolGyt1v5TygFKpNJZB3VnlOUqgnsO0EOK+3t7eg+IkVWyQTPE2rfWBcxQpL4sJzEsCDQ0h13XfgogXtZDMtZVK5cKOjo7L5uKXbu2I8T+EEG8TQuRbyDX2VIj4Zc/zPhxbEAtgAhYJ1DkeEwBwgdb6pChTkW9QPp+nsPknOUmTLD4Wi0KUxzCBdBOoawjVvrT/IoRQCS9hVAjxQ0T8ZrWY4d0Jz5UK8UuXLn1WuVw+GwBengqFginh10Lq/xCsO/diAskTKBaLJ/i+//3ZZpJSnlYqlc4Ko0WxWNzf9/1vCiFm2/W53xjz1DDyuC8TYALpJ1DXEFJK/VoIcXRSSwCAB4UQ51cdsL+ttd6S1Dxplus4zjsB4BwhRCHNeu7QDQD+orWm6LjZShtkYQms4xwkUK9SfG2p11QqlZNHR0fXNVu6UuoDAHDabDtBtbGvNsZc3kwOf84EmEC2CMxqCPX19R2fy+UuTGgpd1Ea/GXLll2cdd8fG3yWLFmyPJ/Pf1cI8SIb8pKWIaV8falUujTpeVg+EwhKoHaUddvMSvHTDPiS7/sX+r5/ZV9f3x3TfYdoBwgA9qtUKm+dzTF6hwzbpTuCro37MQEmkDyBnQyhYrHY4/v+PQmEyv8jl8t9bnh4mCrVV5JfWnZmWLly5YLh4eELEPH4tGtNOZs8z6MoOD/turJ+84dA7UjrrwFXTGH3DzUyfKbLQURruYkC6sfdmAATaCGB2QyhU33fD3Wu3kTf+xHxc57n0Q5TuYVry9pUoJQ6Wwjxb2lXXEr5hlKp9JO068n6zS8ClPeHnKTr7QxFoUFG0OLFi0+KE4EWZV4ewwSYQOsIPMkQopxBY2NjDyLiMgsqPICIn1++fPn3OTNxcJqFQuEsKeWpwUe0vici3uF53gG8K9R69jxjYwK1nSEy0veOy4qPw+IS5PFMIBsEnmQIKaVeI4T4eUzV70XEc5YtW3Zhu3yA9tprr07P8/YCgL0RcZvneZQYLSuNdobIZ4iK26a2IeLLPM8jh3puTCBVBAYHB/s2b958WjUfWdR0D/cDwMlaa0oky40JMIE5TmCmIfTZGEczFPp+jjGG8g615QhMKfV0IcS7hRAnCCH6dlw7RDzR8zwyLjLRVq1a1bFu3bqrhBAvSavCAHCR1jr1Pk1p5cd6JU+g5kT9SUSksjdBdoiulVJeVCqVfpC8djwDE2ACaSEw0xCi3SDaFQrT/lit0P5VrfV/t8sJmn4Bjo2NfR4RT55NcQBYq7Wm/B+ZcdLu6+vbI5fL3d6CPE5hrvUTfQFgbPHixQNr167dFEkAD2ICLSRAR2aIeGxtyj0QcQ8A+B39bwBY393dfTn7AbXwgvBUTCBFBJ5kCIXwT3mEihECwHe11pR0sW3NcZyjAIASoA02UqKWDPCmtikaYeJGyeIiiLM+BBHf5Xned6wLZoFMgAkwASbABFpE4EmGEIXOVyqV7wLA62bMT4bPXyihXqVSuW5kZISyC7c9fFop9T5E/E8A6GjGCwBO11qf2axf2j5XSv1GCHFU2vSq6fNbY8yLU6obq8UEmAATYAJMoCmBWRMquq7bK4TYZXx8fPMuu+wysmbNmommklrcwXGcLwDAx4JOi4iXep73+qD909Kvv7//4HK5fHNa9Jmpx8TERP/Y2NhwWvWbi3rVIqNeIKVcUqlU+ighIK0TAOj4Z3p9rGt2rF9K+cQx0KJFi67gY6C5eGfwmpgAE4hCoGn1+ShCkx7juu7piHhGyHnuMsY8M+SYVHRXSv1MCPHaVCgzQwnONN2aq0LGD2U/BgDyc7FR7+pWIcRFUsqbSqXS3+qtgo5nhRBPacUqp6amLgpSCmO6LuQQ3dHRQVmhW9EeZkfqVmDmOZhAawlkzhByHOdESpoWFhM592qLine truncated
"created": 1721295668118,
"lastRetrieved": 1721295668118
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

+1 -1
View File
@@ -56,7 +56,7 @@ class CloudDeployer:
file.write("FROM python:3.11-slim\n")
file.write("WORKDIR /app\n")
file.write("COPY . .\n")
file.write("RUN pip install flask praisonai==0.0.52 gunicorn markdown\n")
file.write("RUN pip install flask praisonai==0.0.53 gunicorn markdown\n")
file.write("EXPOSE 8080\n")
file.write('CMD ["gunicorn", "-b", "0.0.0.0:8080", "api:app"]\n')
+92 -107
View File
@@ -2,7 +2,9 @@ import os
import fnmatch
import re
import yaml
from pathlib import Path
import logging
# Set up logging
logger = logging.getLogger(__name__)
log_level = os.getenv("LOGLEVEL", "INFO").upper()
@@ -24,111 +26,103 @@ class ContextGatherer:
self.directory = directory
self.output_file = output_file
self.relevant_extensions = relevant_extensions or [
'.py', # Python
'.js', # JavaScript
'.ts', # TypeScript
'.java', # Java
'.rb', # Ruby
'.php', # PHP
'.pl', # Perl
'.pm', # Perl Module
'.c', # C
'.h', # C Header
'.cpp', # C++
'.hpp', # C++ Header
'.cs', # C#
'.vb', # Visual Basic
'.swift', # Swift
'.kt', # Kotlin
'.m', # Objective-C
'.mm', # Objective-C++
'.go', # Go
'.rs', # Rust
'.hs', # Haskell
'.r', # R
'.lua', # Lua
'.sh', # Shell Script
'.bat', # Batch File
'.clj', # Clojure
'.scala', # Scala
'.erl', # Erlang
'.ex', # Elixir
'.ml', # OCaml
'.fs', # F#
'.groovy', # Groovy
'.jsm', # JavaScript Module
'.jsx', # JavaScript XML
'.tsx', # TypeScript XML
'.yaml', # YAML
'.py', '.js', '.ts', '.java', '.rb', '.php', '.pl', '.pm', '.c', '.h',
'.cpp', '.hpp', '.cs', '.vb', '.swift', '.kt', '.m', '.mm', '.go', '.rs',
'.hs', '.r', '.lua', '.sh', '.bat', '.clj', '.scala', '.erl', '.ex',
'.ml', '.fs', '.groovy', '.jsm', '.jsx', '.tsx', '.yaml'
]
self.max_file_size = max_file_size
self.max_tokens = int(os.getenv("PRAISONAI_MAX_TOKENS", max_tokens))
self.ignore_patterns = self.get_ignore_patterns()
def get_ignore_patterns(self):
"""Read .gitignore file and return ignore patterns."""
# 1. Check for .praisonignore
praisonignore_path = os.path.join(self.directory, '.praisonignore')
if os.path.exists(praisonignore_path):
with open(praisonignore_path, 'r') as f:
praisonignore_patterns = [line.strip() for line in f if line.strip() and not line.startswith('#')]
logger.debug(f"Using ignore patterns from .praisonignore: {praisonignore_patterns}")
return praisonignore_patterns
"""
Loads ignore patterns from various sources, prioritizing them in
the following order:
1. .praisonignore
2. settings.yaml (under code.ignore_files)
3. PRAISONAI_IGNORE_FILES environment variable
4. .gitignore
5. Default patterns
"""
ignore_patterns = []
# 2. Fallback to settings.yaml
def load_from_file(filepath):
if os.path.exists(filepath):
with open(filepath, 'r') as f:
ignore_patterns.extend(
line.strip() for line in f
if line.strip() and not line.startswith('#')
)
# 1. Load from .praisonignore
load_from_file(os.path.join(self.directory, '.praisonignore'))
# 2. Load from settings.yaml
settings_path = os.path.join(self.directory, 'settings.yaml')
if os.path.exists(settings_path):
with open(settings_path, 'r') as f:
settings = yaml.safe_load(f)
if 'code' in settings and 'ignore_files' in settings['code']:
logger.debug(f"Using ignore patterns from settings.yaml: {settings['code']['ignore_files']}")
return settings['code']['ignore_files']
ignore_patterns.extend(settings['code']['ignore_files'])
# 3. Fallback to PRAISONAI_IGNORE_FILES env variable
# 3. Load from environment variable
ignore_files_env = os.getenv("PRAISONAI_IGNORE_FILES")
if ignore_files_env:
logger.debug(f"Using ignore patterns from PRAISONAI_IGNORE_FILES: {ignore_files_env}")
return ignore_files_env.split(",")
default_patterns = [".*", "*.pyc", "__pycache__", ".git", ".gitignore", ".vscode",
".idea", ".DS_Store", "*.lock", "*.pyc", ".env",
"docs", "tests", "test", "tmp", "temp",
"*.txt", "*.md", "*.json", "*.csv", "*.tsv","public",
"*.sql", "*.sqlite", "*.db", "*.db3", "*.sqlite3", "*.log", "*.zip", "*.gz",
"*.tar", "*.rar", "*.7z", "*.pdf", "*.jpg", "*.jpeg", "*.png", "*.gif", "*.svg",
"cookbooks", "assets", "__pycache__", "dist", "build", "node_modules", "venv",]
gitignore_path = os.path.join(self.directory, '.gitignore')
if os.path.exists(gitignore_path):
with open(gitignore_path, 'r') as f:
gitignore_patterns = [line.strip() for line in f if line.strip() and not line.startswith('#')]
logger.debug(f"Ignored gitignore and default files: {ignore_files_env}")
return list(set(default_patterns + gitignore_patterns))
return default_patterns
ignore_patterns.extend(ignore_files_env.split(","))
# 4. Load from .gitignore
load_from_file(os.path.join(self.directory, '.gitignore'))
# 5. Default patterns (only if no patterns loaded from above sources)
if not ignore_patterns:
ignore_patterns = [
".*", "*.pyc", "__pycache__", ".git", ".gitignore", ".vscode",
".idea", ".DS_Store", "*.lock", "*.pyc", ".env", "docs", "tests",
"test", "tmp", "temp", "*.txt", "*.md", "*.json", "*.csv", "*.tsv",
"public", "*.sql", "*.sqlite", "*.db", "*.db3", "*.sqlite3",
"*.log", "*.zip", "*.gz", "*.tar", "*.rar", "*.7z", "*.pdf",
"*.jpg", "*.jpeg", "*.png", "*.gif", "*.svg", "cookbooks",
"assets", "__pycache__", "dist", "build", "node_modules", "venv"
]
logger.debug(f"Using default ignore patterns: {ignore_patterns}")
# Modify patterns to match directories and add leading '*' if necessary
modified_ignore_patterns = [
'*' + pattern if not pattern.startswith('.') and not pattern.startswith('*') else pattern
for pattern in ignore_patterns
]
logger.debug(f"Final ignore patterns: {modified_ignore_patterns}")
return modified_ignore_patterns
def should_ignore(self, file_path):
"""Check if a file should be ignored based on patterns."""
"""
Check if a file or directory should be ignored based on patterns.
Handles both file names and directory names for more comprehensive filtering.
"""
relative_path = os.path.relpath(file_path, self.directory)
if relative_path.startswith('.'):
return True
for pattern in self.ignore_patterns:
if fnmatch.fnmatch(relative_path, pattern):
if fnmatch.fnmatch(relative_path, pattern) or \
fnmatch.fnmatch(os.path.basename(file_path), pattern):
return True
return False
def is_relevant_file(self, file_path):
"""Determine if a file is relevant for the context."""
if os.path.getsize(file_path) > self.max_file_size:
return False
return any(file_path.endswith(ext) for ext in self.relevant_extensions)
return os.path.isfile(file_path) and \
os.path.getsize(file_path) <= self.max_file_size and \
any(file_path.endswith(ext) for ext in self.relevant_extensions)
def gather_context(self):
"""Gather context from relevant files in the directory."""
"""Gather context from relevant files, respecting ignore patterns."""
context = []
total_files = sum(len(files) for _, _, files in os.walk(self.directory))
total_files = 0
processed_files = 0
for root, dirs, files in os.walk(self.directory):
total_files += len(files)
dirs[:] = [d for d in dirs if not self.should_ignore(os.path.join(root, d))]
for file in files:
file_path = os.path.join(root, file)
@@ -138,57 +132,54 @@ class ContextGatherer:
content = f.read()
context.append(f"File: {file_path}\n\n{content}\n\n{'='*50}\n")
except Exception as e:
print(f"Error reading {file_path}: {e}")
logger.error(f"Error reading {file_path}: {e}")
processed_files += 1
print(f"\rProcessed {processed_files}/{total_files} files", end="", flush=True)
print() # New line after progress indicator
return '\n'.join(context)
def count_tokens(self, text):
"""Count the number of tokens in the given text using a simple tokenizer."""
# Split on whitespace and punctuation
tokens = re.findall(r'\b\w+\b|[^\w\s]', text)
return len(tokens)
"""Count tokens using a simple whitespace-based tokenizer."""
return len(text.split())
def truncate_context(self, context):
"""Truncate context to fit within the specified token limit."""
tokens = re.findall(r'\b\w+\b|[^\w\s]', context)
"""Truncate context to stay within the token limit."""
tokens = context.split()
if len(tokens) > self.max_tokens:
truncated_tokens = tokens[:self.max_tokens]
return ' '.join(truncated_tokens)
truncated_context = ' '.join(tokens[:self.max_tokens])
logger.warning("Context truncated due to token limit.")
return truncated_context
return context
def save_context(self, context):
"""Save the gathered context to a file."""
with open(self.output_file, 'w', encoding='utf-8') as f:
f.write(context)
def get_context_tree(self):
"""Generate a formatted tree structure of the folder, including only relevant files."""
"""Generate a formatted tree structure of included files and folders."""
tree = []
start_dir = os.path.abspath(self.directory)
start_dir = Path(self.directory)
def add_to_tree(path, prefix=''):
contents = sorted(os.listdir(path))
contents = sorted(path.iterdir())
pointers = [('└── ' if i == len(contents) - 1 else '├── ') for i in range(len(contents))]
for pointer, name in zip(pointers, contents):
full_path = os.path.join(path, name)
if self.should_ignore(full_path):
for pointer, item in zip(pointers, contents):
# Use should_ignore for consistency
if self.should_ignore(item):
continue
rel_path = os.path.relpath(full_path, start_dir)
tree.append(f"{prefix}{pointer}{name}")
if os.path.isdir(full_path):
add_to_tree(full_path, prefix + (' ' if pointer == '└── ' else '│ '))
elif self.is_relevant_file(full_path):
continue # We've already added the file to the tree
rel_path = item.relative_to(start_dir)
tree.append(f"{prefix}{pointer}{rel_path}")
if item.is_dir():
add_to_tree(item, prefix + (' ' if pointer == '└── ' else '│ '))
add_to_tree(start_dir)
return '\n'.join(tree)
def run(self):
"""Run the context gathering process and return the context and token count."""
"""Execute the context gathering, truncation, and reporting."""
context = self.gather_context()
context = self.truncate_context(context)
token_count = self.count_tokens(context)
@@ -200,17 +191,11 @@ class ContextGatherer:
return context, token_count, context_tree
def main():
gatherer = ContextGatherer(
directory='.',
output_file='context.txt',
relevant_extensions=['.py'],
max_file_size=500_000, # 500KB
max_tokens=60000
)
gatherer = ContextGatherer()
context, token_count, context_tree = gatherer.run()
print(f"\nThe context contains approximately {token_count} tokens.")
print("First 500 characters of context:")
print(context[:500] + "...")
if __name__ == "__main__":
main()
main()
+1 -1
View File
@@ -1,6 +1,6 @@
[tool.poetry]
name = "PraisonAI"
version = "0.0.52"
version = "0.0.53"
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."
authors = ["Mervin Praison"]
license = ""
+1 -74
View File
@@ -1,76 +1,3 @@
code:
ignore_files:
- ".*"
- "*.pyc"
- "pycache"
- ".git"
- ".gitignore"
- ".vscode"
- ".idea"
- ".DS_Store"
- ".lock"
- ".pyc"
- ".env"
- "docs"
- "tests"
- "test"
- "tmp"
- "temp"
- ".txt"
- ".md"
- ".json"
- ".csv"
- ".tsv"
- "public"
- ".sql"
- ".sqlite"
- ".db"
- ".db3"
- ".sqlite3"
- ".log"
- ".zip"
- ".gz"
- ".tar"
- ".rar"
- ".7z"
- ".pdf"
- ".jpg"
- ".jpeg"
- ".png"
- ".gif"
- ".svg"
- "cookbooks"
- "assets"
- "pycache"
- "dist"
- "build"
- "node_modules"
- "venv"
- "crewAI"
- ".vscode"
- ".cache"
- "*.__pycache__"
- "__pycache__"
- "*chroma.sqlite3"
- test/
- dist/
- .env
- assets/*
- .idea
- .DS_Store
- .pytest_cache
- praisonAI.egg-info
- test.yaml
- db
- praisonai_prompt.txt
- watch.sh
- docs.sh
- other
- output
- "*.chainlit"
- .files
- site
- flagged
- "*public"
- "threads.db"
- "trained_agents_data.pkl"
- "*/__pycache__/*"