ws-bom-robot-app 0.0.63__py3-none-any.whl → 0.0.103__py3-none-any.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.
Files changed (51) hide show
  1. ws_bom_robot_app/config.py +30 -8
  2. ws_bom_robot_app/cron_manager.py +13 -12
  3. ws_bom_robot_app/llm/agent_context.py +1 -1
  4. ws_bom_robot_app/llm/agent_handler.py +11 -12
  5. ws_bom_robot_app/llm/agent_lcel.py +80 -18
  6. ws_bom_robot_app/llm/api.py +69 -7
  7. ws_bom_robot_app/llm/evaluator.py +319 -0
  8. ws_bom_robot_app/llm/main.py +51 -28
  9. ws_bom_robot_app/llm/models/api.py +40 -6
  10. ws_bom_robot_app/llm/nebuly_handler.py +18 -15
  11. ws_bom_robot_app/llm/providers/llm_manager.py +233 -75
  12. ws_bom_robot_app/llm/tools/tool_builder.py +4 -1
  13. ws_bom_robot_app/llm/tools/tool_manager.py +48 -22
  14. ws_bom_robot_app/llm/utils/chunker.py +6 -1
  15. ws_bom_robot_app/llm/utils/cleanup.py +81 -0
  16. ws_bom_robot_app/llm/utils/cms.py +60 -14
  17. ws_bom_robot_app/llm/utils/download.py +112 -8
  18. ws_bom_robot_app/llm/vector_store/db/base.py +50 -0
  19. ws_bom_robot_app/llm/vector_store/db/chroma.py +28 -8
  20. ws_bom_robot_app/llm/vector_store/db/faiss.py +35 -8
  21. ws_bom_robot_app/llm/vector_store/db/qdrant.py +29 -14
  22. ws_bom_robot_app/llm/vector_store/integration/api.py +216 -0
  23. ws_bom_robot_app/llm/vector_store/integration/azure.py +1 -1
  24. ws_bom_robot_app/llm/vector_store/integration/base.py +58 -15
  25. ws_bom_robot_app/llm/vector_store/integration/confluence.py +33 -5
  26. ws_bom_robot_app/llm/vector_store/integration/dropbox.py +1 -1
  27. ws_bom_robot_app/llm/vector_store/integration/gcs.py +1 -1
  28. ws_bom_robot_app/llm/vector_store/integration/github.py +22 -22
  29. ws_bom_robot_app/llm/vector_store/integration/googledrive.py +46 -17
  30. ws_bom_robot_app/llm/vector_store/integration/jira.py +93 -60
  31. ws_bom_robot_app/llm/vector_store/integration/manager.py +6 -2
  32. ws_bom_robot_app/llm/vector_store/integration/s3.py +1 -1
  33. ws_bom_robot_app/llm/vector_store/integration/sftp.py +1 -1
  34. ws_bom_robot_app/llm/vector_store/integration/sharepoint.py +7 -14
  35. ws_bom_robot_app/llm/vector_store/integration/shopify.py +143 -0
  36. ws_bom_robot_app/llm/vector_store/integration/sitemap.py +6 -1
  37. ws_bom_robot_app/llm/vector_store/integration/slack.py +3 -2
  38. ws_bom_robot_app/llm/vector_store/integration/thron.py +236 -0
  39. ws_bom_robot_app/llm/vector_store/loader/base.py +52 -8
  40. ws_bom_robot_app/llm/vector_store/loader/docling.py +71 -33
  41. ws_bom_robot_app/main.py +148 -146
  42. ws_bom_robot_app/subprocess_runner.py +106 -0
  43. ws_bom_robot_app/task_manager.py +204 -53
  44. ws_bom_robot_app/util.py +6 -0
  45. {ws_bom_robot_app-0.0.63.dist-info → ws_bom_robot_app-0.0.103.dist-info}/METADATA +158 -75
  46. ws_bom_robot_app-0.0.103.dist-info/RECORD +76 -0
  47. ws_bom_robot_app/llm/settings.py +0 -4
  48. ws_bom_robot_app/llm/utils/kb.py +0 -34
  49. ws_bom_robot_app-0.0.63.dist-info/RECORD +0 -72
  50. {ws_bom_robot_app-0.0.63.dist-info → ws_bom_robot_app-0.0.103.dist-info}/WHEEL +0 -0
  51. {ws_bom_robot_app-0.0.63.dist-info → ws_bom_robot_app-0.0.103.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ws_bom_robot_app
3
- Version: 0.0.63
3
+ Version: 0.0.103
4
4
  Summary: A FastAPI application serving ws bom/robot/llm platform ai.
5
5
  Home-page: https://github.com/websolutespa/bom
6
6
  Author: Websolute Spa
@@ -11,30 +11,33 @@ Classifier: Operating System :: OS Independent
11
11
  Requires-Python: >=3.12
12
12
  Description-Content-Type: text/markdown
13
13
  Requires-Dist: standardwebhooks==1.0.0
14
- Requires-Dist: apscheduler==3.11.0
15
- Requires-Dist: aiofiles==24.1.0
16
- Requires-Dist: pydantic==2.11.7
17
- Requires-Dist: pydantic-settings==2.10.1
18
- Requires-Dist: fastapi[standard]==0.115.14
14
+ Requires-Dist: apscheduler==3.11.1
15
+ Requires-Dist: aiofiles==25.1.0
16
+ Requires-Dist: pydantic==2.12.4
17
+ Requires-Dist: pydantic-settings==2.12.0
18
+ Requires-Dist: fastapi[standard]==0.121.1
19
19
  Requires-Dist: chevron==0.14.0
20
- Requires-Dist: langchain==0.3.26
21
- Requires-Dist: langchain-community==0.3.26
22
- Requires-Dist: langchain-core==0.3.67
23
- Requires-Dist: langchain-openai==0.3.27
24
- Requires-Dist: langchain-anthropic==0.3.6
25
- Requires-Dist: langchain-google-genai==2.0.7
26
- Requires-Dist: langchain-google-vertexai==2.0.27
27
- Requires-Dist: langchain-groq==0.3.5
28
- Requires-Dist: langchain-ollama==0.3.3
29
- Requires-Dist: faiss-cpu==1.11.0
30
- Requires-Dist: chromadb==1.0.13
31
- Requires-Dist: langchain_chroma==0.2.4
32
- Requires-Dist: fastembed==0.7.1
33
- Requires-Dist: langchain-qdrant==0.2.0
34
- Requires-Dist: lark==1.2.2
35
- Requires-Dist: unstructured==0.16.21
20
+ Requires-Dist: msoffcrypto-tool==5.4.2
21
+ Requires-Dist: langchain==0.3.27
22
+ Requires-Dist: langchain-community==0.3.30
23
+ Requires-Dist: langchain-core==0.3.76
24
+ Requires-Dist: langchain-openai==0.3.33
25
+ Requires-Dist: langchain-anthropic==0.3.21
26
+ Requires-Dist: langchain-ibm==0.3.18
27
+ Requires-Dist: langchain-google-genai==2.1.12
28
+ Requires-Dist: langchain-google-vertexai==2.1.2
29
+ Requires-Dist: langchain-groq==0.3.8
30
+ Requires-Dist: langchain-ollama==0.3.8
31
+ Requires-Dist: openevals==0.1.2
32
+ Requires-Dist: faiss-cpu==1.12.0
33
+ Requires-Dist: chromadb==1.3.4
34
+ Requires-Dist: langchain-chroma==0.2.6
35
+ Requires-Dist: langchain-qdrant==0.2.1
36
+ Requires-Dist: qdrant-client[fastembed]==1.15.1
37
+ Requires-Dist: lark==1.3.1
38
+ Requires-Dist: unstructured==0.18.18
36
39
  Requires-Dist: unstructured[image]
37
- Requires-Dist: unstructured-ingest==0.5.4
40
+ Requires-Dist: unstructured-ingest==1.2.21
38
41
  Requires-Dist: unstructured-ingest[azure]
39
42
  Requires-Dist: unstructured-ingest[confluence]
40
43
  Requires-Dist: unstructured-ingest[dropbox]
@@ -47,9 +50,9 @@ Requires-Dist: unstructured-ingest[sftp]
47
50
  Requires-Dist: unstructured-ingest[sharepoint]
48
51
  Requires-Dist: unstructured-ingest[slack]
49
52
  Requires-Dist: html5lib==1.1
50
- Requires-Dist: markdownify==1.1.0
51
- Requires-Dist: duckduckgo-search==8.0.4
52
- Requires-Dist: langchain_google_community==2.0.7
53
+ Requires-Dist: markdownify==1.2.0
54
+ Requires-Dist: duckduckgo-search==8.1.1
55
+ Requires-Dist: langchain-google-community==2.0.10
53
56
  Requires-Dist: trafilatura==2.0.0
54
57
  Dynamic: author
55
58
  Dynamic: author-email
@@ -81,18 +84,30 @@ from ws_bom_robot_app import main
81
84
  app = main.app
82
85
  ```
83
86
 
84
- FIll `.env` with the following code:
85
-
86
- ```env
87
- #robot_env=local/development/production
88
- robot_env=local
89
- robot_user='[user]'
90
- robot_password='[pwd]'
91
- robot_data_folder='./.data'
92
- robot_cms_auth='[auth]'
93
- robot_cms_host='https://[DOMAIN]'
94
- robot_cms_db_folder=llmVectorDb
95
- robot_cms_files_folder=llmKbFile
87
+ Create a `.env` file in the root directory with the following configuration:
88
+
89
+ ```properties
90
+ # robot configuration
91
+ robot_env=development
92
+ robot_user=your_username
93
+ USER_AGENT=ws-bom-robot-app
94
+
95
+ # cms (bowl) configuration
96
+ robot_cms_host='http://localhost:4000'
97
+ robot_cms_auth='users API-Key your-api-key-here'
98
+
99
+ # llm providers: fill one or more of these with your API keys
100
+ DEEPSEEK_API_KEY="your-deepseek-api-key"
101
+ OPENAI_API_KEY="your-openai-api-key"
102
+ GOOGLE_API_KEY="your-google-api-key"
103
+ ANTHROPIC_API_KEY="your-anthropic-api-key"
104
+ GROQ_API_KEY="your-groq-api-key"
105
+ # ibm
106
+ WATSONX_URL="https://eu-gb.ml.cloud.ibm.com"
107
+ WATSONX_APIKEY="your-watsonx-api-key"
108
+ WATSONX_PROJECTID="your-watsonx-project-id"
109
+ # gvertex: ensure to mount the file in docker
110
+ GOOGLE_APPLICATION_CREDENTIALS="./.data/secrets/google-credentials.json"
96
111
  ```
97
112
 
98
113
  ## 🚀 Run the app
@@ -101,7 +116,8 @@ robot_cms_files_folder=llmKbFile
101
116
 
102
117
  ```bash
103
118
  fastapi dev --port 6001
104
- #uvicorn main:app --app-dir ./ws_bom_robot_app --reload --host 0.0.0.0 --port 6001
119
+ #uvicorn main:app --app-dir ./ws_bom_robot_app --reload --reload-dir ws_bom_robot_app --host 0.0.0.0 --port 6001
120
+ #uvicorn main:app --app-dir ./ws_bom_robot_app --host 0.0.0.0 --port 6001
105
121
  ```
106
122
 
107
123
  - production
@@ -118,15 +134,75 @@ robot_cms_files_folder=llmKbFile
118
134
  #gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app --bind
119
135
  ```
120
136
 
121
- ### 🔖 Windows requirements
137
+ ## 📖 API documentation
138
+
139
+ - [swagger](http://localhost:6001/docs)
140
+ - [redoc](http://localhost:6001/redoc)
141
+
142
+ ---
143
+
144
+ ## 🐳 Docker
145
+
146
+ dockerize base image
147
+
148
+ ```pwsh
149
+ <# cpu #>
150
+ docker build -f Dockerfile-robot-base-cpu -t ws-bom-robot-base:cpu .
151
+ docker tag ws-bom-robot-base:cpu ghcr.io/websolutespa/ws-bom-robot-base:cpu
152
+ docker push ghcr.io/websolutespa/ws-bom-robot-base:cpu
153
+ <# gpu #>
154
+ docker build -f Dockerfile-robot-base-gpu -t ws-bom-robot-base:gpu .
155
+ docker tag ws-bom-robot-base:gpu ghcr.io/websolutespa/ws-bom-robot-base:gpu
156
+ docker push ghcr.io/websolutespa/ws-bom-robot-base:gpu
157
+ ```
158
+
159
+ dockerize app (from src)
160
+
161
+ - cpu
162
+ ```pwsh
163
+ docker build -f Dockerfile -t ws-bom-robot-app:cpu --build-arg DEVICE=cpu .
164
+ docker run --rm -d --name ws-bom-robot-app --env-file .env -p 6001:6001 ws-bom-robot-app:cpu
165
+ ```
166
+ - gpu
167
+ ```pwsh
168
+ docker build -f Dockerfile -t ws-bom-robot-app:gpu --build-arg DEVICE=gpu .
169
+ docker run --rm -d --name ws-bom-robot-app --gpus all --env-file .env -p 6001:6001 ws-bom-robot-app:gpu
170
+ ```
171
+
172
+ dockerize app (from latest)
173
+
174
+ - cpu
175
+ ```pwsh
176
+ docker build -f Dockerfile-pkg -t ws-bom-robot-app-pkg:cpu --build-arg DEVICE=cpu .
177
+ docker run --rm -d --name ws-bom-robot-app-pkg --env-file .env -p 6001:6001 ws-bom-robot-app-pkg:cpu
178
+ ```
179
+ - gpu
180
+ ```pwsh
181
+ docker build -f Dockerfile-pkg -t ws-bom-robot-app-pkg:gpu --build-arg DEVICE=gpu .
182
+ docker run --rm -d --name ws-bom-robot-app-pkg --gpus all --env-file .env -p 6001:6001 ws-bom-robot-app-pkg:gpu
183
+ <# test gpu: nvidia-smi #>
184
+ ```
185
+
186
+ docker run mounted to src (dev mode)
187
+
188
+ ```pwsh
189
+ docker run --rm -d --env-file .env -v "$(pwd)/.data:/app/.data" -p 6001:6001 ws-bom-robot-app fastapi dev ./ws_bom_robot_app/main.py --host 0.0.0.0 --port 6001
190
+ docker run --rm -d --env-file .env -v "$(pwd)/.data:/app/.data" -p 6001:6001 ws-bom-robot-app uvicorn ws_bom_robot_app.main:app --reload --host 0.0.0.0 --port 6001
191
+ ```
192
+
193
+ ---
194
+
195
+ ## 🔖 Windows requirements (for RAG functionality only)
196
+
197
+ > ⚠️ While it's strongly recommended to use a docker container for development, you can run the app on Windows with the following requirements
122
198
 
123
- #### libmagic (mandatory)
199
+ ### libmagic (mandatory)
124
200
 
125
201
  ```bash
126
202
  py -m pip install --upgrade python-magic-bin
127
203
  ```
128
204
 
129
- #### tesseract-ocr (mandatory)
205
+ ### tesseract-ocr (mandatory)
130
206
 
131
207
  [Install tesseract](https://github.com/UB-Mannheim/tesseract/wiki)
132
208
  [Last win-64 release](https://github.com/tesseract-ocr/tesseract/releases/download/5.5.0/tesseract-ocr-w64-setup-5.5.0.20241111.exe)
@@ -141,15 +217,15 @@ robot_cms_files_folder=llmKbFile
141
217
  }
142
218
  ```
143
219
 
144
- #### docling
145
-
220
+ ### docling
221
+
146
222
  Set the following environment variables
147
223
 
148
224
  ```pwsh
149
225
  KMP_DUPLICATE_LIB_OK=TRUE
150
226
  ```
151
227
 
152
- #### libreoffice (optional: for robot_env set to development/production)
228
+ ### libreoffice (optional: for robot_env set to development/production)
153
229
 
154
230
  [Install libreoffice](https://www.libreoffice.org/download/download-libreoffice/)
155
231
  [Last win-64 release](https://download.documentfoundation.org/libreoffice/stable/24.8.2/win/x86_64/LibreOffice_24.8.2_Win_x86-64.msi)
@@ -164,7 +240,7 @@ robot_cms_files_folder=llmKbFile
164
240
  }
165
241
  ```
166
242
 
167
- #### poppler (optional: for robot_env set to development/production)
243
+ ### poppler (optional: for robot_env set to development/production)
168
244
 
169
245
  [Download win poppler release](https://github.com/oschwartz10612/poppler-windows/releases)
170
246
  Extract the zip, copy the nested folder "poppler-x.x.x." to a program folder (e.g. C:\Program Files\poppler-24.08.0)
@@ -192,31 +268,56 @@ Build/distribute pkg from `websolutespa` bom [[Github](https://github.com/websol
192
268
 
193
269
  ### 🔖 requirements
194
270
 
271
+ - install uv venv package management
272
+
273
+ ```bash
274
+ py -m pip install --upgrade uv
275
+ # create venv
276
+ uv venv
277
+ # activate venv
278
+ #win: .venv/Scripts/activate
279
+ #linux: source .venv/bin/activate
280
+ ```
281
+
282
+ - project requirements update
283
+
284
+ ```bash
285
+ uv pip install --upgrade -r requirements.txt
286
+ ```
287
+
288
+ - build tools
289
+
195
290
  ```bash
196
- py -m pip install --upgrade setuptools build twine streamlit
291
+ uv pip install --upgrade setuptools build twine streamlit
197
292
  ```
198
293
 
199
294
  ### 🪛 build
200
295
 
296
+ - clean dist and build package
201
297
  ```pwsh
202
298
  if (Test-Path ./dist) {rm ./dist -r -force}; `
203
299
  py -m build && twine check dist/*
204
300
  ```
301
+ - linux/mac
302
+ ```bash
303
+ [ -d ./dist ] && rm -rf ./dist
304
+ python -m build && twine check dist/*
305
+ ```
205
306
 
206
307
  ### 📦 test / 🧪 debugger
207
308
 
208
309
  Install the package in editable project location
209
310
 
210
311
  ```pwsh
211
- py -m pip install --upgrade -e .
212
- py -m pip show ws-bom-robot-app
312
+ uv pip install -U -e .
313
+ uv pip show ws-bom-robot-app
213
314
  ```
214
315
 
215
316
  code quality tools
216
317
 
217
318
  ```pwsh
218
319
  # .\src\robot
219
- !py -m pip install -U scanreq prospector[with_everything]
320
+ !py -m uv pip install -U scanreq prospector[with_everything]
220
321
  ## unused requirements
221
322
  scanreq -r requirements.txt -p ./ws_bom_robot_app
222
323
  ## style/linting
@@ -229,39 +330,21 @@ prospector ./ws_bom_robot_app -t dodgy -t bandit
229
330
  prospector ./ws_bom_robot_app -t pyroma
230
331
  ```
231
332
 
232
- lauch pytest
333
+ #### 🧪 run tests
233
334
 
234
335
  ```pwsh
235
- !py -m pip install -U pytest pytest-asyncio pytest-mock pytest-cov pyclean
336
+ !py -m uv pip install -U pytest pytest-asyncio pytest-mock pytest-cov pyclean
236
337
  # clean cache if needed
237
338
  # pyclean --verbose .
238
339
  pytest --cov=ws_bom_robot_app --log-cli-level=info
239
340
  # directory
240
- # pytest --cov=ws_bom_robot_app --log-cli-level=info ./tests/app/llm/vector_store/db
341
+ # pytest --cov=ws_bom_robot_app.llm.vector_store --log-cli-level=info ./tests/app/llm/vector_store
241
342
  ```
242
343
 
243
- launch debugger
344
+ #### 🐞 start debugger
244
345
 
245
346
  ```pwsh
246
- streamlit run debugger.py --server.port 6011
247
- ```
248
-
249
- dockerize base image
250
-
251
- ```pwsh
252
- <# cpu #>
253
- docker build -f Dockerfile-robot-base-cpu -t ghcr.io/websolutespa/ws-bom-robot-base:cpu .
254
- docker push ghcr.io/websolutespa/ws-bom-robot-base:cpu
255
- <# gpu #>
256
- docker build -f Dockerfile-robot-base-gpu -t ghcr.io/websolutespa/ws-bom-robot-base:gpu .
257
- docker push ghcr.io/websolutespa/ws-bom-robot-base:gpu
258
- ```
259
-
260
- dockerize app from src
261
-
262
- ```pwsh
263
- docker build -f Dockerfile-src -t ws-bom-robot-app:src .
264
- docker run --name ws-bom-robot-app-src -d -v "$(pwd)/ws_bom_robot_app:/app/ws_bom_robot_app" -v "$(pwd)/.data:/app/.data" -v "$(pwd)/tests:/app/tests" -v "$(pwd)/tmp:/tmp" -p 6002:6001 ws-bom-robot-app:src
347
+ streamlit run debugger.py --server.port 8051
265
348
  ```
266
349
 
267
350
  ### ✈️ publish
@@ -270,12 +353,12 @@ docker run --name ws-bom-robot-app-src -d -v "$(pwd)/ws_bom_robot_app:/app/ws_bo
270
353
 
271
354
  ```pwsh
272
355
  twine upload --verbose -r testpypi dist/*
273
- #py -m pip install -i https://test.pypi.org/simple/ --upgrade ws-bom-robot-app
356
+ #pip install -i https://test.pypi.org/simple/ -U ws-bom-robot-app
274
357
  ```
275
358
 
276
359
  - [pypi](https://pypi.org/project/ws-bom-robot-app/)
277
360
 
278
361
  ```pwsh
279
362
  twine upload --verbose dist/*
280
- #py -m pip install --upgrade ws-bom-robot-app
363
+
281
364
  ```
@@ -0,0 +1,76 @@
1
+ ws_bom_robot_app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ ws_bom_robot_app/auth.py,sha256=84nIbmJsMrNs0sxIQGEHbjsjc2P6ZrZZGSn8dkiL6is,895
3
+ ws_bom_robot_app/config.py,sha256=TWnFPlPpzN-GWVNib2CXfzY8IYVHCypkxdDJ6rLOatk,5443
4
+ ws_bom_robot_app/cron_manager.py,sha256=TOz7dsQhbGXzYMKW7GboKOSySg9aun4h0yLckj-5w4U,9372
5
+ ws_bom_robot_app/main.py,sha256=5h4qwQ4Ghm6CCSjO5eWvMhWxDATzUayQfQ-__E1Mw1I,6936
6
+ ws_bom_robot_app/subprocess_runner.py,sha256=N71HxPvgMP5TIRlO5w9UzHAEK-JKOA9i16QXM3anpjM,4195
7
+ ws_bom_robot_app/task_manager.py,sha256=N2NzinjaxsRaLu78sREG9MCanMzygtKUU_yXo-aw2wA,24570
8
+ ws_bom_robot_app/util.py,sha256=t1VS6JQNOZe6aenBmjPLxJ_A3ncm7WqTZE8_gR85sQo,5022
9
+ ws_bom_robot_app/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ ws_bom_robot_app/llm/agent_context.py,sha256=e6hlw_fj89CNSmuE2czp_JDcWyK8SgalNoW6S_aYMS4,1308
11
+ ws_bom_robot_app/llm/agent_description.py,sha256=5IP0qFSJvaE3zjGS7f0W1DuiegP0RHXRMBoDC5pCofA,4779
12
+ ws_bom_robot_app/llm/agent_handler.py,sha256=HAg3qmj-QY_k7P-GfAKna1tKdmZaTHrZbNWJc0eol3A,7858
13
+ ws_bom_robot_app/llm/agent_lcel.py,sha256=Bkz3JAAR_NibV27H9zfHlleklps93J0mQL53enFoqRo,4694
14
+ ws_bom_robot_app/llm/api.py,sha256=jMoiKiD5HNxGu6gTb5_qZ5UU8d2uJ7UVrdLseDStI6o,7634
15
+ ws_bom_robot_app/llm/defaut_prompt.py,sha256=D9dn8yPveu0bVwGM1wQWLYftmBs5O76o0R_caLLll8w,1121
16
+ ws_bom_robot_app/llm/evaluator.py,sha256=tUyPX1oGZEjSiO4JixwNlgv6BI9cUHSmcAsTCpBnIn4,13322
17
+ ws_bom_robot_app/llm/main.py,sha256=EtqJm_B82JXBqrB8qveeaq25uZyUcJo3lgHC-XrUNdM,5973
18
+ ws_bom_robot_app/llm/nebuly_handler.py,sha256=wFO2UG849kv5hmjM5EoOp0Jsloy-BtQjrRh4pVosnfU,8163
19
+ ws_bom_robot_app/llm/feedbacks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ ws_bom_robot_app/llm/feedbacks/feedback_manager.py,sha256=vNcZLG9IKhurAk7hjBqyFgQTjnh3Cd4GnxeYsX7ZdiA,2922
21
+ ws_bom_robot_app/llm/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ ws_bom_robot_app/llm/models/api.py,sha256=QfJ--9ONGi0b6Ua5km7N2MM7fkT1lu2kSRxMBg6ZlbI,12346
23
+ ws_bom_robot_app/llm/models/base.py,sha256=1TqxuTK3rjJEALn7lvgoen_1ba3R2brAgGx6EDTtDZo,152
24
+ ws_bom_robot_app/llm/models/feedback.py,sha256=pYNQGxNOBgeAAfdJLI95l7ePLBI5tVdsgnyjp5oMOQU,1722
25
+ ws_bom_robot_app/llm/models/kb.py,sha256=oVSw6_dmNxikAHrPqcfxDXz9M0ezLIYuxpgvzfs_Now,9514
26
+ ws_bom_robot_app/llm/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ ws_bom_robot_app/llm/providers/llm_manager.py,sha256=oVeEmZUnR1ysV-BI_zpwQ-gpXqmhSzjKFQQAHtaFGSI,16596
28
+ ws_bom_robot_app/llm/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ ws_bom_robot_app/llm/tools/tool_builder.py,sha256=CtZwJ94aj0YGA3yVWkyCUxNE7WgU2zWjhl_tEfEskxw,3432
30
+ ws_bom_robot_app/llm/tools/tool_manager.py,sha256=ThiaBCDOn192NOaLHsxbNZXYs5fptqlfgCHW-9h2eVY,15989
31
+ ws_bom_robot_app/llm/tools/utils.py,sha256=Ba7ScFZPVJ3ke8KLO8ik1wyR2f_zC99Bikqx0OGnKoI,1924
32
+ ws_bom_robot_app/llm/tools/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ ws_bom_robot_app/llm/tools/models/main.py,sha256=1hICqHs-KS2heenkH7b2eH0N2GrPaaNGBrn64cl_A40,827
34
+ ws_bom_robot_app/llm/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ ws_bom_robot_app/llm/utils/agent.py,sha256=uFuSfYMfGIE2WCKGNSKL-T2SDFn-tUKvbAYbGTPIw6g,1445
36
+ ws_bom_robot_app/llm/utils/chunker.py,sha256=zVXjRMloc3KbNEqiDcycYzy4N0Ey1g8XYeq6ftyvkyg,857
37
+ ws_bom_robot_app/llm/utils/cleanup.py,sha256=ARLZTX4mLbkLCEnMdIWYDYEAPOjzfy1laLGkYnxZe30,3063
38
+ ws_bom_robot_app/llm/utils/cms.py,sha256=gfIXvY3DxgbgDf0LCzyekWitaduxKGLHfV6gbRmh8zk,6960
39
+ ws_bom_robot_app/llm/utils/download.py,sha256=rvc88E63UGHnFVlJJeMb05Z2FcBYIITqKnIE3ldEu6I,7293
40
+ ws_bom_robot_app/llm/utils/print.py,sha256=HK3zhZOd4cEyXZ8QcudLtTIfqqtMOERce_yTofS8NXo,803
41
+ ws_bom_robot_app/llm/utils/secrets.py,sha256=-HtqLIDVIJrpvGC5YhPAVyLsq8P4ChVM5g3GOfdwqVk,878
42
+ ws_bom_robot_app/llm/utils/webhooks.py,sha256=LAAZqyN6VhV13wu4X-X85TwdDgAV2rNvIwQFIIc0FJM,2114
43
+ ws_bom_robot_app/llm/vector_store/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
+ ws_bom_robot_app/llm/vector_store/generator.py,sha256=W_hi_UOPaSjnEuazhUFIrMAwTvz64Du8_gpiVAxFlVc,6451
45
+ ws_bom_robot_app/llm/vector_store/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ ws_bom_robot_app/llm/vector_store/db/base.py,sha256=pIlHTg83bLdGfbZorilSqeJ5QKgpGU8fxF3c-5pLWJo,8490
47
+ ws_bom_robot_app/llm/vector_store/db/chroma.py,sha256=s_RH16do52_5ejWgjlzp2cGTonGFIkalp0V3L3gbTnU,4574
48
+ ws_bom_robot_app/llm/vector_store/db/faiss.py,sha256=rCMq_dhg1-NM8G5L_VEdDIvgmkWLXL3r5EreaqxR3Oc,3925
49
+ ws_bom_robot_app/llm/vector_store/db/manager.py,sha256=5rqBvc0QKmHFUgVHqBAr1Y4FZRl-w-ylGMjgXZywrdA,533
50
+ ws_bom_robot_app/llm/vector_store/db/qdrant.py,sha256=-36YOXjNtDeWveREnGd1SZF3hT7_Peg_pAT5uoxXcQU,3237
51
+ ws_bom_robot_app/llm/vector_store/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
+ ws_bom_robot_app/llm/vector_store/integration/api.py,sha256=0fW2uKW3P_WaX8J18LRTMTVZ1VP3t_bHkocDtm1f_uc,8184
53
+ ws_bom_robot_app/llm/vector_store/integration/azure.py,sha256=OEa96Dlf1CX0tjrTjX4KP3D_HTn249ukc9sluPbdOyU,3389
54
+ ws_bom_robot_app/llm/vector_store/integration/base.py,sha256=Aat4vQCmsrTiWrzUi2_h-RKzJLhObsKFfZrzs1TnQP8,4385
55
+ ws_bom_robot_app/llm/vector_store/integration/confluence.py,sha256=TMmGe53tHRTgHJ7nA8DqZVodo3aMEzHrrSdl0-I0-S0,4350
56
+ ws_bom_robot_app/llm/vector_store/integration/dropbox.py,sha256=vDEVTq7xkXNvpirMkJHm90WzxcSQqCXNc8PBwzLvSH4,2626
57
+ ws_bom_robot_app/llm/vector_store/integration/gcs.py,sha256=P-NKwNag6fkY3bzFvVkAK5Ayl5CKM8T0MvkaFFwSyT0,3181
58
+ ws_bom_robot_app/llm/vector_store/integration/github.py,sha256=1J4Ph3s58ngEIH5HyCMeeD6lVo2GzdU8y41BvPSLZcc,2441
59
+ ws_bom_robot_app/llm/vector_store/integration/googledrive.py,sha256=pQQKWsAskg_6FgC4PVmKY1fMvM8BiFxlUVhh5ERBOF4,5016
60
+ ws_bom_robot_app/llm/vector_store/integration/jira.py,sha256=LPxSXPf268FKTS3wnejssDw6_GIpEPJ3QaNgRgPnb60,6718
61
+ ws_bom_robot_app/llm/vector_store/integration/manager.py,sha256=K_Ymfb4xqm33g7gyu5SW7csFMs0r7FeptIRfeZrUm1w,1987
62
+ ws_bom_robot_app/llm/vector_store/integration/s3.py,sha256=_SAuPfyK7lIz7Jq1LiBavkF1lre5yqe6DGlMYnxMa4o,3317
63
+ ws_bom_robot_app/llm/vector_store/integration/sftp.py,sha256=g6f-FKkEktx7nJahb7RKyQ4pM9wGik0_xXMDfWup-1c,2845
64
+ ws_bom_robot_app/llm/vector_store/integration/sharepoint.py,sha256=DhBcAwgr1u-dQ_8TxeLPu7kzr_EDogCRQeBrIULtWfo,4898
65
+ ws_bom_robot_app/llm/vector_store/integration/shopify.py,sha256=Q0W3rRV-3xox303KhSiiIxTJNIXIbMZiF7yME8dW-FE,5485
66
+ ws_bom_robot_app/llm/vector_store/integration/sitemap.py,sha256=YKQ_0VUSW9NQ3svVKuas2OLk_fsTQuxg4B_zCBzKx_s,5282
67
+ ws_bom_robot_app/llm/vector_store/integration/slack.py,sha256=hiE1kkg7868mbP2wVWQLmC1fK2jIE1lT7f8hVN0NqeY,2636
68
+ ws_bom_robot_app/llm/vector_store/integration/thron.py,sha256=6XefkQxS-qF4yAH_sH1n2EONZvTiWiAAx_bb24y8QEQ,9330
69
+ ws_bom_robot_app/llm/vector_store/loader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ ws_bom_robot_app/llm/vector_store/loader/base.py,sha256=InpRwKPxp0tuM4drezBvxxAWHe3XTmu60MGvFsT7RPE,7176
71
+ ws_bom_robot_app/llm/vector_store/loader/docling.py,sha256=dLvpOi4EH0jyx06IrHoanfLRPFXLJi9BU2BWYcaw-U4,5000
72
+ ws_bom_robot_app/llm/vector_store/loader/json_loader.py,sha256=LDppW0ZATo4_1hh-KlsAM3TLawBvwBxva_a7k5Oz1sc,858
73
+ ws_bom_robot_app-0.0.103.dist-info/METADATA,sha256=tGnPkamyrowzbXt61Lrh6KtEkTK6nccaQqgLz6zq9rM,11025
74
+ ws_bom_robot_app-0.0.103.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
75
+ ws_bom_robot_app-0.0.103.dist-info/top_level.txt,sha256=Yl0akyHVbynsBX_N7wx3H3ZTkcMLjYyLJs5zBMDAKcM,17
76
+ ws_bom_robot_app-0.0.103.dist-info/RECORD,,
@@ -1,4 +0,0 @@
1
- def init():
2
- """Initialize the chat history list as a global var"""
3
- global chat_history
4
- chat_history = []
@@ -1,34 +0,0 @@
1
- import os
2
- from ws_bom_robot_app.config import config
3
- from datetime import datetime, timedelta
4
- from ws_bom_robot_app.util import _log
5
-
6
- def kb_cleanup_data_file() -> dict:
7
- """
8
- clean up old data files in the specified folder
9
-
10
- Returns:
11
- - Dictionary with cleanup statistics
12
- """
13
- _deleted_files = []
14
- _freed_space = 0
15
- folder = os.path.join(config.robot_data_folder, config.robot_data_db_folder, config.robot_data_db_folder_out)
16
-
17
- for root, dirs, files in os.walk(folder, topdown=False):
18
- for file in files:
19
- file_path = os.path.join(root, file)
20
- file_stat = os.stat(file_path)
21
- file_creation_time = datetime.fromtimestamp(file_stat.st_ctime)
22
- if file_creation_time < datetime.now() - timedelta(days=config.robot_data_db_retention_days):
23
- _freed_space += file_stat.st_size
24
- os.remove(file_path)
25
- _deleted_files.append(file_path)
26
- if not os.listdir(root):
27
- os.rmdir(root)
28
-
29
- _log.info(f"Deleted {len(_deleted_files)} files; Freed space: {_freed_space / (1024 * 1024):.2f} MB")
30
-
31
- return {
32
- "deleted_files_count": len(_deleted_files),
33
- "freed_space_mb": _freed_space / (1024 * 1024)
34
- }
@@ -1,72 +0,0 @@
1
- ws_bom_robot_app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- ws_bom_robot_app/auth.py,sha256=84nIbmJsMrNs0sxIQGEHbjsjc2P6ZrZZGSn8dkiL6is,895
3
- ws_bom_robot_app/config.py,sha256=JFO4HrFnzUjFfv5MH0Tzwda0krllEqmTufHZ6J-BgEI,4147
4
- ws_bom_robot_app/cron_manager.py,sha256=pFHV7SZtp6GRmmLD9K1Mb1TE9Ev9n5mIiFScrc7tpCo,9221
5
- ws_bom_robot_app/main.py,sha256=zO3B-v-v9ESASvw8IaQj9Y9hNvNmOxohFmA0R82EybQ,6518
6
- ws_bom_robot_app/task_manager.py,sha256=Q3Il2TtkP0FoG9zHEBu48pZGXzimTtvWQsoH6wdvQs0,16077
7
- ws_bom_robot_app/util.py,sha256=RjVD6B9sHje788Lndqq5DHy6TJM0KLs9qx3JYt81Wyk,4834
8
- ws_bom_robot_app/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- ws_bom_robot_app/llm/agent_context.py,sha256=uatHJ8wcRly6h0S762BgfzDMpmcwCHwNzwo37aWjeE0,1305
10
- ws_bom_robot_app/llm/agent_description.py,sha256=5IP0qFSJvaE3zjGS7f0W1DuiegP0RHXRMBoDC5pCofA,4779
11
- ws_bom_robot_app/llm/agent_handler.py,sha256=-9ia0bpNXgqLGFCSmAiU5ogdoJo30yl-XUNdXONdvbs,7774
12
- ws_bom_robot_app/llm/agent_lcel.py,sha256=e1ZELfUEpqMXJwLWxyOtgiUmVwoO3Aw-ua4u05XociA,2297
13
- ws_bom_robot_app/llm/api.py,sha256=2bF-UFczY9LuBqPxKObM0TOWYbZgVztX1RiIz5MSorU,5042
14
- ws_bom_robot_app/llm/defaut_prompt.py,sha256=D9dn8yPveu0bVwGM1wQWLYftmBs5O76o0R_caLLll8w,1121
15
- ws_bom_robot_app/llm/main.py,sha256=je8-Q-WtzQMtwEGzsUqHpLjVtMq8IObLi8VFIa6tbeo,5204
16
- ws_bom_robot_app/llm/nebuly_handler.py,sha256=w895twhPgtRUH_jZz1pbX4W2leq8A3O_9gUwp_ridoY,8033
17
- ws_bom_robot_app/llm/settings.py,sha256=DCLaGZwxlw0xE46LpfUgin_FHD8_XJIthCgI6r2UDlM,121
18
- ws_bom_robot_app/llm/feedbacks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- ws_bom_robot_app/llm/feedbacks/feedback_manager.py,sha256=vNcZLG9IKhurAk7hjBqyFgQTjnh3Cd4GnxeYsX7ZdiA,2922
20
- ws_bom_robot_app/llm/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- ws_bom_robot_app/llm/models/api.py,sha256=rsPH1y-hMkwXnvt5344yIDMY_StbbgB5AS3Gz37bOhs,11036
22
- ws_bom_robot_app/llm/models/base.py,sha256=1TqxuTK3rjJEALn7lvgoen_1ba3R2brAgGx6EDTtDZo,152
23
- ws_bom_robot_app/llm/models/feedback.py,sha256=pYNQGxNOBgeAAfdJLI95l7ePLBI5tVdsgnyjp5oMOQU,1722
24
- ws_bom_robot_app/llm/models/kb.py,sha256=oVSw6_dmNxikAHrPqcfxDXz9M0ezLIYuxpgvzfs_Now,9514
25
- ws_bom_robot_app/llm/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- ws_bom_robot_app/llm/providers/llm_manager.py,sha256=zIkxgTLYQCcup2Ixf4eWap4mNinuJH2YmkjLjZGDyJM,8371
27
- ws_bom_robot_app/llm/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- ws_bom_robot_app/llm/tools/tool_builder.py,sha256=vQ8BX3MFd3WX2WlYAibbC4PpzxevdrdqKGk0SpKPrPs,3265
29
- ws_bom_robot_app/llm/tools/tool_manager.py,sha256=I8CHAdXx5KO1aw1NkDEQjCls9a-E8K6JrCQ-rzfImWY,14390
30
- ws_bom_robot_app/llm/tools/utils.py,sha256=Ba7ScFZPVJ3ke8KLO8ik1wyR2f_zC99Bikqx0OGnKoI,1924
31
- ws_bom_robot_app/llm/tools/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- ws_bom_robot_app/llm/tools/models/main.py,sha256=1hICqHs-KS2heenkH7b2eH0N2GrPaaNGBrn64cl_A40,827
33
- ws_bom_robot_app/llm/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- ws_bom_robot_app/llm/utils/agent.py,sha256=uFuSfYMfGIE2WCKGNSKL-T2SDFn-tUKvbAYbGTPIw6g,1445
35
- ws_bom_robot_app/llm/utils/chunker.py,sha256=N7570xBYlObneg-fsvDhPAJ-Pv8C8OaYZOBK6q7LmMI,607
36
- ws_bom_robot_app/llm/utils/cms.py,sha256=KlHnJ66h_TX3vy_HQld3PvbXw1hI_wVoOJVPlI1Zi0E,3461
37
- ws_bom_robot_app/llm/utils/download.py,sha256=GaRypPgkx16HfYRj-upX9kvmjfAdFFb5TP4P97scWeA,3273
38
- ws_bom_robot_app/llm/utils/kb.py,sha256=jja45WCbNI7SGEgqDS99nErlwB5eY8Ga7BMnhdMHZ90,1279
39
- ws_bom_robot_app/llm/utils/print.py,sha256=HK3zhZOd4cEyXZ8QcudLtTIfqqtMOERce_yTofS8NXo,803
40
- ws_bom_robot_app/llm/utils/secrets.py,sha256=-HtqLIDVIJrpvGC5YhPAVyLsq8P4ChVM5g3GOfdwqVk,878
41
- ws_bom_robot_app/llm/utils/webhooks.py,sha256=LAAZqyN6VhV13wu4X-X85TwdDgAV2rNvIwQFIIc0FJM,2114
42
- ws_bom_robot_app/llm/vector_store/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
- ws_bom_robot_app/llm/vector_store/generator.py,sha256=W_hi_UOPaSjnEuazhUFIrMAwTvz64Du8_gpiVAxFlVc,6451
44
- ws_bom_robot_app/llm/vector_store/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- ws_bom_robot_app/llm/vector_store/db/base.py,sha256=rNIYHPDXhVyoP9AJKRbGT5Vh5HzcKYx8MUIhEuCVGW4,6491
46
- ws_bom_robot_app/llm/vector_store/db/chroma.py,sha256=3UXR7PZidFxgI5jlC0WWPAJ0NGRI2AqSBVlL9VZOJgw,3356
47
- ws_bom_robot_app/llm/vector_store/db/faiss.py,sha256=aKj8EbM6VU5FLBvVQDz4c2aihvY1O3LiVIjzzxGmehw,2492
48
- ws_bom_robot_app/llm/vector_store/db/manager.py,sha256=5rqBvc0QKmHFUgVHqBAr1Y4FZRl-w-ylGMjgXZywrdA,533
49
- ws_bom_robot_app/llm/vector_store/db/qdrant.py,sha256=HfEtFqMF0wIn5SNbst6glw7gG4nYEgSF3S-4RjTaM6g,2068
50
- ws_bom_robot_app/llm/vector_store/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- ws_bom_robot_app/llm/vector_store/integration/azure.py,sha256=R37TaPQP-HJJJiaKE9rmMc9kpeXeRvdebbTY_982om0,3392
52
- ws_bom_robot_app/llm/vector_store/integration/base.py,sha256=8r6XO_XM8PcDXhsKst6q_Xw-P48rCiEtowmkBEDVd08,1957
53
- ws_bom_robot_app/llm/vector_store/integration/confluence.py,sha256=YCljHIzAt15LI-iAAROimqndVl9y3for72e2D5ByZ74,2725
54
- ws_bom_robot_app/llm/vector_store/integration/dropbox.py,sha256=yhGvHTN0TEpUfhdvvV7RX5MxBwTUyddAX95Fgqp3mCg,2629
55
- ws_bom_robot_app/llm/vector_store/integration/gcs.py,sha256=fFDVDUR6eNB7FVTzDSEpMHFEWMgG16GLnpSf_mqGDdE,3184
56
- ws_bom_robot_app/llm/vector_store/integration/github.py,sha256=18PO30AZcgTn6PHhid3MwImVAdmKBNkr0kmAPgOetGw,2663
57
- ws_bom_robot_app/llm/vector_store/integration/googledrive.py,sha256=R6hr8iEgrR3QMOzIj5jY6w1x8pZ1LGdh4xM_q7g_ttc,3738
58
- ws_bom_robot_app/llm/vector_store/integration/jira.py,sha256=Sf6nPongo53vG4jhlzFQZj3foNzvUvAZFr7pXAJfZvM,5795
59
- ws_bom_robot_app/llm/vector_store/integration/manager.py,sha256=5Fl3XML6f1wmgraigpUwIFIXh7QFPX0RI0YFgFxBAvg,1700
60
- ws_bom_robot_app/llm/vector_store/integration/s3.py,sha256=3kh-VmH84IW7DdSLvOk6td1VBJ9aohlVJsk5F3cYj0U,3320
61
- ws_bom_robot_app/llm/vector_store/integration/sftp.py,sha256=WNzjjS1EUykgFB-8e7QkecSa1r1jTJqKyGzR25uJCtM,2848
62
- ws_bom_robot_app/llm/vector_store/integration/sharepoint.py,sha256=zqqn-6qPrK50Phch4nZHJTgaPyPkGe7W2InGL_Ru6vE,5376
63
- ws_bom_robot_app/llm/vector_store/integration/sitemap.py,sha256=g0TIRZ2qIpEuVCZ9Bn0MvvxYZtU3wptnTEjoKNZyBAg,5019
64
- ws_bom_robot_app/llm/vector_store/integration/slack.py,sha256=FMjESXm2QetFXI6i8epze7Kbbu22fV8CVaxb71AHnJ8,2572
65
- ws_bom_robot_app/llm/vector_store/loader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
- ws_bom_robot_app/llm/vector_store/loader/base.py,sha256=L_ugekNuAq0N9O-24wtlHSNHkqSeD-KsJrfGt_FX9Oc,5340
67
- ws_bom_robot_app/llm/vector_store/loader/docling.py,sha256=yP0zgXLeFAlByaYuj-6cYariuknckrFds0dxdRcnVz8,3456
68
- ws_bom_robot_app/llm/vector_store/loader/json_loader.py,sha256=LDppW0ZATo4_1hh-KlsAM3TLawBvwBxva_a7k5Oz1sc,858
69
- ws_bom_robot_app-0.0.63.dist-info/METADATA,sha256=X2pbeuERrYrwt-8VhjEK19qE027RIRkSu3L5zbeQsaY,8459
70
- ws_bom_robot_app-0.0.63.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
71
- ws_bom_robot_app-0.0.63.dist-info/top_level.txt,sha256=Yl0akyHVbynsBX_N7wx3H3ZTkcMLjYyLJs5zBMDAKcM,17
72
- ws_bom_robot_app-0.0.63.dist-info/RECORD,,